Legoktm has uploaded a new change for review.
https://gerrit.wikimedia.org/r/78183
Change subject: New script called "create_items.py" to create Wikidata items
based on a page generator
......................................................................
New script called "create_items.py" to create Wikidata items based on a page
generator
Change-Id: I3b9b2dff01a8d0cbfb8d09e596c83388af72294d
---
A scripts/create_items.py
1 file changed, 51 insertions(+), 0 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/pywikibot/core
refs/changes/83/78183/1
diff --git a/scripts/create_items.py b/scripts/create_items.py
new file mode 100644
index 0000000..a70ec4a
--- /dev/null
+++ b/scripts/create_items.py
@@ -0,0 +1,51 @@
+#!/usr/bin/env python
+"""
+
+Script to automatically create items based on a page generator.
+
+This assumes that the item has no current language links and just
+creates a single sitelink with label.
+
+"""
+
+import pywikibot
+from pywikibot import pagegenerators
+
+
+class ImportBot:
+ def __init__(self):
+ self.gen = pagegenerators.GeneratorFactory()
+ for arg in pywikibot.handleArgs():
+ self.gen.handleArg(arg)
+ self.site = pywikibot.Site()
+ print self.site
+ self.repo = self.site.data_repository()
+
+
+ def create_item(self, page):
+ item = pywikibot.ItemPage.fromPage(page)
+ if item.exists():
+ return
+ pywikibot.output('Creating item for %s.' % page.title())
+
+ data = {'sitelinks':
+ {self.site.dbName():
+ {'site': self.site.dbName(),
+ 'title': page.title(),
+ },
+ },
+ }
+ data['labels'] = {self.site.language():
+ {'language': self.site.language(),
+ 'value': page.title()
+ },
+ }
+ self.repo.editEntity({}, data, bot=True)
+
+ def run(self):
+ for page in self.gen.getCombinedGenerator():
+ self.create_item(page)
+
+if __name__ == '__main__':
+ bot = ImportBot()
+ bot.run()
--
To view, visit https://gerrit.wikimedia.org/r/78183
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I3b9b2dff01a8d0cbfb8d09e596c83388af72294d
Gerrit-PatchSet: 1
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: Legoktm <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits