Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Mechanized uploading of images for wikimediasites

by boo_radley (Parson)
on Aug 15, 2005 at 19:57 UTC ( #483964=CUFP: print w/ replies, xml ) Need Help??

I'm experimenting with a wiki at work, and I have a bunch of illustrations and various images that I wanted to automatically have available to me as I was editing. There are enough of them that adding by hand was onerous, and adding via FTP & manual manipulation of the database was equally unappealing. Here is a WWW::Mechanize script that will upload pngs to a wikipedia. Alter lines 5 through 9 to suit your installation of wikimedia
#! perl.exe $|++; use strict; use WWW::Mechanize; my $wikilogin = "http://example.com/wiki/index.php?title=Special:Userl +ogin"; my $wikiuploader = "http://example.com/wiki/index.php?title=Special:Up +load"; my $user = 'username'; my $pass = 'password'; my $description = 'Media uploaded via automation'; # # begin real work here # my $agent = WWW::Mechanize->new(); $agent->get ($wikilogin); my $form = $agent->form_name('userlogin'); $agent->field ('wpName',$user); $agent->field ('wpPassword',$pass); $agent->field ('wpRemember',1); $agent->click (); open (ERRFH, ">errored.txt"); while (<*.png>){ $agent->get($wikiuploader); my $form = $agent->forms(1); if ($form) { #we've found the form, fill it out # fill out the body $agent->field('wpUploadFile', $_); $agent->field('wpUploadDescription', $description); $agent->field('wpUploadAffirm',1);# and submit $agent->click('wpUpload'); print "saved $_\n"; } else { #something's gone wrong #simple log for now #TODO: fill out w/ better logic. print ERRFH "$_\n"; } }

Comment on Mechanized uploading of images for wikimediasites
Download Code
Re: Mechanized uploading of images for wikimediasites
by b10m (Vicar) on Aug 15, 2005 at 20:23 UTC
      Perhaps the script can be considered a new example to be looked at as well.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: CUFP [id://483964]
Approved by Corion
Front-paged by planetscape
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (15)
As of 2015-07-07 09:48 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (88 votes), past polls