Skip to content

Commit

Permalink
copyright violation tool
Browse files Browse the repository at this point in the history
  • Loading branch information
h4ck3rm1k3 committed Aug 1, 2012
1 parent b23afa7 commit afe089f
Show file tree
Hide file tree
Showing 2 changed files with 122 additions and 1 deletion.
121 changes: 121 additions & 0 deletions fixcopyrightvio.pl
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
use warnings;
use strict;

use MediaWiki::API;

# http://seahttp://search.cpan.org/~dcollins/MediaWiki-Bot-2.3.1/lib/MediaWiki/Bot.pm

sub EditPage {
my $mw=shift;
my $pagename = shift;
my $ref = $mw->get_page( { title => $pagename } );
my $text= $ref->{'*'};
my $newtext = "{{copyvioblanked|$pagename}}\n";

my $linktext;
my $reftext;

unless ( $ref->{missing} ) {
my $timestamp = $ref->{timestamp};

my $count =0;

my $text2=$text;
while ($text2 =~ s/\[\s*(http:[^\s\|\}\]]+)\]/DONE/g) { $linktext .= "* {{copyviolink|$1}}\n"; }
# just grabe the raw http
while ($text2 =~ s/(http:[^\s\|\}\]]+)\]/DONE/g) { $linktext .= "* {{copyviolink|$1}}\n"; }
while ($text2 =~ s/(https:[^\s\|\}\]]+)\]/DONE/g) { $linktext .= "* {{copyviolink|$1}}\n"; }
while ($text2 =~ s/\=(http:[^\s\|\}\]]+)\}/DONE/g) { $linktext .= "* {{copyviolink|$1}}\n"; }

if ($linktext){
$newtext .= "==External Links==\n$linktext";
}

while ($text =~ m/<ref>([^\<]+)<\/ref>/g)
{
$reftext .= "*<ref>$1</ref>\n";
}

if ($reftext)
{
$newtext .= "==References==\n$reftext";
$newtext .= "\n<references/>\n";
}

#Creative CommonsAttribution-Share Alike 3.0 Unported license

print "NewText : $newtext";

if (1) {
$mw->edit(
{
action => 'edit',
title => $pagename,
basetimestamp => $timestamp, # to avoid edit conflicts
text => $newtext
}
)
|| die $mw->{error}->{code} . ': ' . $mw->{error}->{details};
}

}
}

sub GetPages {
my $mw = MediaWiki::API->new();
$mw->{config}->{api_url} = 'http://speedydeletion.wikia.com/api.php';


my $username;
my $userpass;

open IN, "<config.cfg" or die;
while (<IN>)
{
if (/username:(.+)/)
{
$username=$1;
}
elsif (/userpass:(.+)/)
{
$userpass=$1;
}
}
close IN;
#print "User:$username Pass:$userpass\n";
die unless $username;
die unless $userpass;

$mw->login( { lgname => $username, lgpassword => $userpass } )
|| die $mw->{error}->{code} . ': ' . $mw->{error}->{details};



foreach my $cat (
"Category:CopyVioNotMentioned",
"Category:Possible_copyright_violations",
"Category:Articles_tagged_for_copyright_problems",
"Category:Candidates_for_speedy_deletion_as_copyright_violations",
"Category:All_copied_and_pasted_articles_and_sections",
"Category:Candidates_for_speedy_deletion_by_user", # we dont want to keep what the author does not want.
# "Category:Candidates_for_speedy_deletion_as_attack_pages"
){
# get a list of articles in category
my $articles = $mw->list ( {
action => 'query',
list => 'categorymembers',
cmtitle => $cat,
cmlimit => 'max' } )
|| die $mw->{error}->{code} . ': ' . $mw->{error}->{details};

# and print the article titles
foreach (@{$articles}) {
print "$_->{title}\n";
EditPage $mw, $_->{title};
}
}

}


GetPages;
2 changes: 1 addition & 1 deletion pywikibot/throttle.ctrl
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
1 1343843657.97 wikipedia:en
1 1343843786.27 wikipedia:en
2 1343842686 wikipedia:en

0 comments on commit afe089f

Please sign in to comment.