Wikiprojekt:Sprzątanie kodu/post
Początek oryginalnego kodu:
sub post { my ($bot,$form) = @_;
Wstawiany nowy kod:
$text = $form->value("wpTextbox1"); $summary = $form->value("wpSummary"); $text =~ s/\[\[\s*(:?)\s*[Ii]mage\s*:\s*/\[\[$1Grafika:/g; $text =~ s/\[\[\s*(:?)\s*[Gg]rafika\s*:\s*/\[\[$1Grafika:/g; $text =~ s/\[\[\s*(:?)\s*[Cc]ategory\s*:\s*/\[\[$1Kategoria:/g; $text =~ s/\[\[\s*(:?)\s*[Kk]ategoria\s*:\s*/\[\[$1Kategoria:/g; $text =~ s/\[\[\s*:?\s*[Tt]emplate\s*:\s*/\[\[Szablon:/g; $text =~ s/\[\[\s*:?\s*[Ss]zablon\s*:\s*/\[\[Szablon:/g; $text =~ s/\[\[\s*:?\s*[Ss]pecial\s*:\s*/\[\[Specjalna:/g; $text =~ s/\[\[\s*:?\s*[Ss]pecjalna\s*:\s*/\[\[Specjalna:/g; $text =~ s/\[\[\s*:?\s*[Dd]yskusja([ _][a-z]*)\s*:\s*/\[\[Dyskusja$1:/g; $text =~ s/\{\{\s*msg\s*:\s*/\{\{/g; $text =~ s/\{\{\s*[Ss]zablon\s*:\s*/\{\{/g; $text =~ s/\s*\n\s*\n'''?\s*(Zobacz|Patrz) (też|także):?\s*'''?\s*\n?/\n\n== Zobacz też ==\n/; $text =~ s/\s*\n\s*\n(===?)\s*(Zobacz|Patrz) (też|także):?\s*===?\s*\n/\n\n$1 Zobacz też $1\n/; $text =~ s/\s*\n\s*\n'''?\s*(Linki [Zz]ewnętrzne|Łącza|Linki|Link [Zz]ewnętrzny|Łącza [Zz]ewnętrzne|Zewnętrzne [Ll]inki):?\s*'''?\s*\n?/\n\n== Linki zewnętrzne ==\n/g; $text =~ s/\s*\n\s*\n(===?)\s*(Linki [Zz]ewnętrzne|Łącza|Linki|Link [Zz]ewnętrzny|Łącza [Zz]ewnętrzne|Zewnętrzne [Ll]inki):?\s*===?\s*\n/\n\n$1 Linki zewnętrzne $1\n/g; $text =~ s/([0-9]) (%|‰|°)/$1$2/g; $text =~ s/\[\[\s*:\s*pl\s*:\s*/\[\[/g; $text =~ s/\[\[\s*pl\s*:\s*[^\]]*\]\]\s*\n?//g; $text =~ s/(\[\[Grafika:[^\]]*)\.\]\]/$1\]\]/g; # tu jest problem z linkami typu [[WARS S.A.]] # $text =~ s/\.\]\]\./\]\]\./g; # $text =~ s/\.\]\]/\]\]\./g; $summary .= " + [[WP:SK]]"; $form->value("wpTextbox1", $text); $form->value("wpSummary", $summary);
Poniżej ciąg dalszy oryginalnego kodu:
my $req = $form->click("wpSave"); # 5 attempts my @SLEEP = (0, 1, 5, 30); for my $n(0..4) { my $res = $bot->request($req); last if($res->is_success); # It's almost as good last if($res->message eq "Moved Temporarily"); print STDERR "Can't post: ", $res->message, "\n"; # Sleep some time unless($n == 4) { print "(retrying)\n"; sleep $SLEEP[$n]; } } }