about summary refs log tree commit diff
path: root/third_party/git/contrib/mw-to-git/t/test-gitmw.pl
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/git/contrib/mw-to-git/t/test-gitmw.pl')
-rwxr-xr-xthird_party/git/contrib/mw-to-git/t/test-gitmw.pl223
1 files changed, 0 insertions, 223 deletions
diff --git a/third_party/git/contrib/mw-to-git/t/test-gitmw.pl b/third_party/git/contrib/mw-to-git/t/test-gitmw.pl
deleted file mode 100755
index c5d687f078a8..000000000000
--- a/third_party/git/contrib/mw-to-git/t/test-gitmw.pl
+++ /dev/null
@@ -1,223 +0,0 @@
-#!/usr/bin/perl -w -s
-# Copyright (C) 2012
-#     Charles Roussel <charles.roussel@ensimag.imag.fr>
-#     Simon Cathebras <simon.cathebras@ensimag.imag.fr>
-#     Julien Khayat <julien.khayat@ensimag.imag.fr>
-#     Guillaume Sasdy <guillaume.sasdy@ensimag.imag.fr>
-#     Simon Perrat <simon.perrat@ensimag.imag.fr>
-# License: GPL v2 or later
-
-# Usage:
-#       ./test-gitmw.pl <command> [argument]*
-# Execute in terminal using the name of the function to call as first
-# parameter, and the function's arguments as following parameters
-#
-# Example:
-#     ./test-gitmw.pl "get_page" foo .
-# will call <wiki_getpage> with arguments <foo> and <.>
-#
-# Available functions are:
-#     "get_page"
-#     "delete_page"
-#     "edit_page"
-#     "getallpagename"
-
-use MediaWiki::API;
-use Getopt::Long;
-use DateTime::Format::ISO8601;
-use constant SLASH_REPLACEMENT => "%2F";
-
-#Parsing of the config file
-
-my $configfile = "$ENV{'CURR_DIR'}/test.config";
-my %config;
-open my $CONFIG, "<",  $configfile or die "can't open $configfile: $!";
-while (<$CONFIG>)
-{
-	chomp;
-	s/#.*//;
-	s/^\s+//;
-	s/\s+$//;
-	next unless length;
-	my ($key, $value) = split (/\s*=\s*/,$_, 2);
-	$config{$key} = $value;
-	last if ($key eq 'LIGHTTPD' and $value eq 'false');
-	last if ($key eq 'PORT');
-}
-close $CONFIG or die "can't close $configfile: $!";
-
-my $wiki_address = "http://$config{'SERVER_ADDR'}".":"."$config{'PORT'}";
-my $wiki_url = "$wiki_address/$config{'WIKI_DIR_NAME'}/api.php";
-my $wiki_admin = "$config{'WIKI_ADMIN'}";
-my $wiki_admin_pass = "$config{'WIKI_PASSW'}";
-my $mw = MediaWiki::API->new;
-$mw->{config}->{api_url} = $wiki_url;
-
-
-# wiki_login <name> <password>
-#
-# Logs the user with <name> and <password> in the global variable
-# of the mediawiki $mw
-sub wiki_login {
-	$mw->login( { lgname => "$_[0]",lgpassword => "$_[1]" } )
-	|| die "getpage: login failed";
-}
-
-# wiki_getpage <wiki_page> <dest_path>
-#
-# fetch a page <wiki_page> from the wiki referenced in the global variable
-# $mw and copies its content in directory dest_path
-sub wiki_getpage {
-	my $pagename = $_[0];
-	my $destdir = $_[1];
-
-	my $page = $mw->get_page( { title => $pagename } );
-	if (!defined($page)) {
-		die "getpage: wiki does not exist";
-	}
-
-	my $content = $page->{'*'};
-	if (!defined($content)) {
-		die "getpage: page does not exist";
-	}
-
-	$pagename=$page->{'title'};
-	# Replace spaces by underscore in the page name
-	$pagename =~ s/ /_/g;
-	$pagename =~ s/\//%2F/g;
-	open(my $file, ">:encoding(UTF-8)", "$destdir/$pagename.mw");
-	print $file "$content";
-	close ($file);
-
-}
-
-# wiki_delete_page <page_name>
-#
-# delete the page with name <page_name> from the wiki referenced
-# in the global variable $mw
-sub wiki_delete_page {
-	my $pagename = $_[0];
-
-	my $exist=$mw->get_page({title => $pagename});
-
-	if (defined($exist->{'*'})){
-		$mw->edit({ action => 'delete',
-				title => $pagename})
-		|| die $mw->{error}->{code} . ": " . $mw->{error}->{details};
-	} else {
-		die "no page with such name found: $pagename\n";
-	}
-}
-
-# wiki_editpage <wiki_page> <wiki_content> <wiki_append> [-c=<category>] [-s=<summary>]
-#
-# Edit a page named <wiki_page> with content <wiki_content> on the wiki
-# referenced with the global variable $mw
-# If <wiki_append> == true : append <wiki_content> at the end of the actual
-# content of the page <wiki_page>
-# If <wik_page> doesn't exist, that page is created with the <wiki_content>
-sub wiki_editpage {
-	my $wiki_page = $_[0];
-	my $wiki_content = $_[1];
-	my $wiki_append = $_[2];
-	my $summary = "";
-	my ($summ, $cat) = ();
-	GetOptions('s=s' => \$summ, 'c=s' => \$cat);
-
-	my $append = 0;
-	if (defined($wiki_append) && $wiki_append eq 'true') {
-		$append=1;
-	}
-
-	my $previous_text ="";
-
-	if ($append) {
-		my $ref = $mw->get_page( { title => $wiki_page } );
-		$previous_text = $ref->{'*'};
-	}
-
-	my $text = $wiki_content;
-	if (defined($previous_text)) {
-		$text="$previous_text$text";
-	}
-
-	# Eventually, add this page to a category.
-	if (defined($cat)) {
-		my $category_name="[[Category:$cat]]";
-		$text="$text\n $category_name";
-	}
-	if(defined($summ)){
-		$summary=$summ;
-	}
-
-	$mw->edit( { action => 'edit', title => $wiki_page, summary => $summary, text => "$text"} );
-}
-
-# wiki_getallpagename [<category>]
-#
-# Fetch all pages of the wiki referenced by the global variable $mw
-# and print the names of each one in the file all.txt with a new line
-# ("\n") between these.
-# If the argument <category> is defined, then this function get only the pages
-# belonging to <category>.
-sub wiki_getallpagename {
-	# fetch the pages of the wiki
-	if (defined($_[0])) {
-		my $mw_pages = $mw->list ( { action => 'query',
-				list => 'categorymembers',
-				cmtitle => "Category:$_[0]",
-				cmnamespace => 0,
-				cmlimit => 500 },
-		)
-		|| die $mw->{error}->{code}.": ".$mw->{error}->{details};
-		open(my $file, ">:encoding(UTF-8)", "all.txt");
-		foreach my $page (@{$mw_pages}) {
-			print $file "$page->{title}\n";
-		}
-		close ($file);
-
-	} else {
-		my $mw_pages = $mw->list({
-				action => 'query',
-				list => 'allpages',
-				aplimit => 500,
-			})
-		|| die $mw->{error}->{code}.": ".$mw->{error}->{details};
-		open(my $file, ">:encoding(UTF-8)", "all.txt");
-		foreach my $page (@{$mw_pages}) {
-			print $file "$page->{title}\n";
-		}
-		close ($file);
-	}
-}
-
-sub wiki_upload_file {
-	my $file_name = $_[0];
-	my $resultat = $mw->edit ( {
-		action => 'upload',
-		filename => $file_name,
-		comment => 'upload a file',
-		file => [ $file_name ],
-		ignorewarnings=>1,
-	}, {
-		skip_encoding => 1
-	} ) || die $mw->{error}->{code} . ' : ' . $mw->{error}->{details};
-}
-
-
-
-# Main part of this script: parse the command line arguments
-# and select which function to execute
-my $fct_to_call = shift;
-
-wiki_login($wiki_admin, $wiki_admin_pass);
-
-my %functions_to_call = (
-	upload_file    => \&wiki_upload_file,
-	get_page       => \&wiki_getpage,
-	delete_page    => \&wiki_delete_page,
-	edit_page      => \&wiki_editpage,
-	getallpagename => \&wiki_getallpagename,
-);
-die "$0 ERROR: wrong argument" unless exists $functions_to_call{$fct_to_call};
-$functions_to_call{$fct_to_call}->(map { utf8::decode($_); $_ } @ARGV);