2 # SourceForge.JP Wiki manipulator
4 # This code is under GPL.
10 use lib '/Users/hylom/otptools';
13 use open IO => ':utf8';
26 upload.pl <project> <upload_list>
35 my $project = shift @_;
36 my $listname = shift @_;
38 my $f_list = new IO::File($listname, "r");
40 while(my $line = <$f_list>) {
41 my @spl = split(/\s+/, $line);
43 my $pagename = uri_escape($spl[1]);
44 printf STDERR "upload $fname to $project - $pagename \n";
45 upload_text($project, $pagename, $fname);
49 sub upload_attachments {
51 my $project = shift @_;
54 my $dh = $path->open();
55 while( my $file = $dh->read() ) {
56 my $file = $path->file($file); # get Path::Class::File object.
59 die "$file is not exist.\n";
61 my $fname = $file->stringify();
62 if( not $fname =~ m/\.(jpg|JPG|png|PNG|gif|GIF)$/ ) {
65 print STDERR "uploading:\n";
67 my $sf = WWW::SourceForgeJP->new();
68 my $ret = $sf->Wiki->post_attachment( project => $project,
73 print "$file: upload succeed.\n";
75 print "$file: upload failed.\n";
82 my $project = shift @_;
83 my $pagename = shift @_;
86 my $fh = new IO::File($fname, "r");
88 print STDERR "can't open: $fname: $!";
91 # my $filename = <$fh>;
96 my $body = do { local( $/ ); <$fh> };
99 print "$project - $pagename\n";
101 my $sf = WWW::SourceForgeJP->new();
102 $sf->Wiki->edit_page( project => $project,