Thread (1 message) 1 message, 1 author, 2016-06-15

Re: [PATCHv2] git-remote-mediawiki: export File: attachments

From: Matthieu Moy <hidden>
Date: 2016-06-15 22:54:03

Kim Thuat NGUYEN [off-list ref] writes:
From: nguyenkimthuat <redacted>
Please use your @ensimag email for Ensimag-related things. This adress
is the one used in the commit itself, i.e. ~/.gitconfig. "git commit
--reset-author" can help.
quoted hunk
@@ -644,6 +652,10 @@ sub mw_push_file {
 	my $page_deleted = ($new_sha1 eq NULL_SHA1);
 	$complete_file_name = mediawiki_clean_filename($complete_file_name);
 
+	my $path = "File:".$complete_file_name;
+	my @extensions = split(/\./, $complete_file_name);
+	my $extension = pop(@extensions);
+
 	if (substr($complete_file_name,-3) eq ".mw") {
 		my $title = substr($complete_file_name,0,-3);
If you extract the extension explicitely, then you don't need these
"substr(...)" anymore.
+		my %hashFiles = get_file_extensions();
+		if (exists($hashFiles{$extension})) {
+			# Deleting and uploading a file require the priviledge of the user
+			if ($page_deleted) {
+				mw_connect_maybe();
+				my $res = $mediawiki->edit( {
+					action => 'delete',
+					title => $path,
+					reason => $summary
+					} )|| die $mediawiki-> {error}->{code} . ':' . $mediawiki->{error}->{details};
Here and below: you still have too long lines.
+						ignorewarnings=>1,
Spaces around =>.
+						}, {
+								skip_encoding => 1 # Helps with names with accentuated characters
+							} )  || die $mediawiki-> {error}->{code} . ':' . $mediawiki->{error}->{details};
Weird indentation.
+				} else {
+					print STDERR "Empty file. Can not upload \n ";
+				}
No space, but a "." before \n.
+		} else {
+			print STDERR "$complete_file_name not a mediawiki file (Not pushable on this version of git-remote-mediawiki).\n";
+		}
Why does this message keep reappearing?
+sub get_file_extensions {
+	mw_connect_maybe();
+
+	my $query = {
+		action => 'query',
+		meta => 'siteinfo',
+		siprop => 'fileextensions'
+		};
+	my $result = $mediawiki->api($query);
+	my @file_extensions= map $_->{ext},@{$result->{query}->{fileextensions}};
+	my %hashFile = map {$_ => 1}@file_extensions;
+
+	return %hashFile;
+}
I like the new function much more than the previous one.

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help