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

Reply via email to