Hello all! "[Toolserver-l] Internally calling the MediaWiki API on Toolserver" is a very good idea!!
What about doing the same e.g. with the actual pywikipedia bot framework to have some API for python script as well? Greetings Dr. Trigon Am 05.02.2011 23:42, schrieb Krinkle: > Hi all, > > I'm finding myself making calls to the live api on the wmf wikis and > thinking: Writing the query from scratch for every detail (or copying > it from the bits and pieces in mw source code) for every time I need > the data is nonsense since it was already done..... in mediawiki core. > > MediaWiki uses the API internally as well in some places (more in > extensions) with a FauxRequest (which is calling the api without a > real http request). > From a server hosting a live MediaWiki-site it's very easy (php > include includes/WebStart.php anad make a FauxRequest() - one can make > several requests all without making a http request ). However from the > toolserver it's a little trickier since we're not on the same server. > > So I was thinking : > * upload a mediawiki install (the same version that WMF runs, ie. > 1.16wmf4 or 1.17wmf1) > * make it not publically accessable (we don't want people actually > browsing the wiki) > * Configure it in a special way so that one can use the same code for > any wiki (ie. a $lang and $family variable of some kind) > > Then one can include includes/WebStart.php, and use the API (ie. using > the huge library of quiries already in the MediaWiki core (ie. > action=query&list=categorymembers, using generators and getting > properties, you name it) like this: > > <source> > $site = 'wikipedia'; > $lang = 'en'; > require( $mw_root . '/includes/WebStart.php' ); // loads all common > code including LocalSettings.php > // LocalSettings contains extra code to check for $site and $lang > figuring out the correct $wgDBname, > // $wgDBserver etc. a tiny bit like wmf's CommonSettings.php > > $apiRequest = array( > 'action' => 'query', > 'list' => '...', > /* etc. */ > ); > /* etc. */ > </source> > > This should basically be includable by anyone so that not everybody > has to re-do this. > > ie. it could be in /home/somebody/wmf-api/includes/WebStart.php > which would be a checkout of the wmf-branch in SVN and (maybe) the > same extensions etc. > > > This will make it a lot easier to interact with the database when you > need certain information, this will also prevent us from hardcoding > names all the time (which I'm sure happends a lot and this is one of > the causes some tools brake over time when just small details changed). > > I believe some of the toolserver users already have parts of mediawiki > in their home (I imagine stuff like GlobalFunctions.php can be very > handy at times). > > Basically I'm asking three things: > * Has this been done already ? If so, we should document this better > as I spent time looking for it but came up empty > * Do we want this ? Are there potential problems here, what do we need > to tackle or fix on our side ? > * Who would want to do this ? (If nobody has plans for this already, I > would like to do this) > > > -- > Krinkle > > _______________________________________________ > Toolserver-l mailing list (Toolserver-l@lists.wikimedia.org) > https://lists.wikimedia.org/mailman/listinfo/toolserver-l > Posting guidelines for this list: > https://wiki.toolserver.org/view/Mailing_list_etiquette > _______________________________________________ Toolserver-l mailing list (Toolserver-l@lists.wikimedia.org) https://lists.wikimedia.org/mailman/listinfo/toolserver-l Posting guidelines for this list: https://wiki.toolserver.org/view/Mailing_list_etiquette