If you have a database name, you can use
pywikibot.site.APISite.fromDBName('enwiki'). It currently only works for
WMF sites, and the naming is a bit awkward...
Site object to code is as simple as pywikibot.Site('en',
'wikipedia').dbName(). It returns "enwiki".
By fetching the "imported from" statements from wikidata, it makes it
easier for other uses to make updates and other scripts can use them in
once place. Since it only gets fetched once during script initialization, I
don't think that's too in-efficient, though it would be neat if we could
cache it somehow.
Automatically creating a DataSite object if wikidata is requested sounds
interesting. I don't think there is any time where having a regular Site
object is an advantage to a DataSite object. I know that right now you can
do pywikibot.Site('wikidata', 'wikidata', interface='DataSite').
On Fri, Jul 12, 2013 at 6:05 AM, Pyfisch <pyfisch(a)googlemail.com> wrote:
if you use PWB with Wikidata you need often some functions not yet
provided by the framework. Here are some functions which I miss:
- for the Wikidata Family class
- get a Site object for a given code like 'enwiki'
- Site object to code
- add the items used for the 'imported from' statement directly to
the file, because retrieving them always from online (
) is very
- Site creation function: Return a DataSite object if Wikidata is
requested. Sometimes you need a DataSite object directly, you can use
pywikibot.site.DataSite, but this is not really nice.
I would help coding the feautures but I have no access to SVN and I don't
now if it is useful to request it now because PWB will move to Git soon.
Pywikipedia-l mailing list