Utilisateur:KelBot/kbwrite
<syntaxhighlight lang="perl">
- !/usr/bin/perl
use KelBot; use strict; use Getopt::Long;
my $pw;
my $page; my $content; my $summary; my $mode="erase";
GetOptions('content=s' => \$content, 'page=s' => \$page, 'summary=s' => \$summary, 'mode=s' => \$mode);
if (!$content) {
print "usage: ./kbwrite --content=your_content --page=your_page --summary=your_summary --mode=[slice|insert|erase]\n"; exit
};
if ($page) {
kbwrite($page, $content, $summary, $mode);
} else {
unless ($page) {
while ($page = <STDIN>) { $page =~ s/\n//; kbwrite($page, $content, $summary, $mode); }
}
}
sub kbwrite {
my $page = shift; my $content = shift; my $summary = shift; my $mode = shift;
return unless ($page);
unless ($pw) {
$pw = KelBot->new('kbwrite'); $pw->login();
}
$page = `php -q ./urlencode.php "$page"`; if ($mode eq "slice") {
$content = $content."\n".$pw->get_text($page);
} elsif ($mode eq "insert") {
$content = $pw->get_text($page)."\n".$content;
}
$pw->edit($page, $content, $summary);
}