DrTrigon has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/97296


Change subject: work-a-round; prevent subster.py to crash on wikidata when refs 
cannot be set improvement; introduce parameter '-page' for debugging/testing 
purposes
......................................................................

work-a-round; prevent subster.py to crash on wikidata when refs cannot be set
improvement; introduce parameter '-page' for debugging/testing purposes

Change-Id: I42aa1769bb0b053e2f8134ab1177d970cda28ee3
---
M subster.py
1 file changed, 27 insertions(+), 19 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/pywikibot/compat 
refs/changes/96/97296/1

diff --git a/subster.py b/subster.py
index bc8d45d..beed507 100644
--- a/subster.py
+++ b/subster.py
@@ -589,23 +589,28 @@
             if (not claim) or (claim[0]['m'][3] != data[item]):
                 pywikibot.output(u'%s in %s changed to "%s"' %\
                     (element[u'aliases'][0], dataoutpage.title(asLink=True), 
data[item]))
-                dataoutpage.editclaim(u'p%s' % propid, data[item],
-                                      refs={"p%s" % propid:
-                                          [{"snaktype":  "value",
-                                            "property":  "p%s" % propid,
-                                            "datavalue": {u'type':  u'string', 
-                                                          u'value': 
datapage.title()}},
-                                           {"snaktype":  "value",
-                                            "property":  "p585",    # point in 
time
-                                            #"property":  "p578",    # 
Sandbox-TimeValue
-                                            "datavalue": {u'type':  u'time',
-                                                          u'value': {u'after': 
        0, 
-                                                                     
u'precision':     11, 
-                                                                     u'time':  
        (u'+0000000%sZ' % pywikibot.Timestamp.now().isoformat().split('.')[0]), 
-                                                                     
u'timezone':      0, 
-                                                                     
u'calendarmodel': u'http://www.wikidata.org/entity/Q1985727', 
-                                                                     
u'before':        0}}},]},
-                                      comment=summary)
+                ### BUG 57480: references cannot be set correctly anymore
+                ### ('try ... except' has to be considered just a work-a-round)
+                try:
+                    dataoutpage.editclaim(u'p%s' % propid, data[item],
+                                          refs={"p%s" % propid:
+                                              [{"snaktype":  "value",
+                                                "property":  "p%s" % propid,
+                                                "datavalue": {u'type':  
u'string', 
+                                                              u'value': 
datapage.title()}},
+                                               {"snaktype":  "value",
+                                                "property":  "p585",    # 
point in time
+                                                #"property":  "p578",    # 
Sandbox-TimeValue
+                                                "datavalue": {u'type':  
u'time',
+                                                              u'value': 
{u'after':         0, 
+                                                                         
u'precision':     11, 
+                                                                         
u'time':          (u'+0000000%sZ' % 
pywikibot.Timestamp.now().isoformat().split('.')[0]), 
+                                                                         
u'timezone':      0, 
+                                                                         
u'calendarmodel': u'http://www.wikidata.org/entity/Q1985727', 
+                                                                         
u'before':        0}}},]},
+                                          comment=summary)
+                except RuntimeError:
+                    pywikibot.exception()
         #print data['timestampFIDE'], pywikibot.Timestamp.now().isoformat()
 
     def get_var_regex(self, var, cont='.*?'):
@@ -789,8 +794,11 @@
     args = pywikibot.handleArgs()
     bot  = SubsterBot()   # for several user's, but what about complete 
automation (continous running...)
     for arg in args:
-        pywikibot.showHelp()
-        return
+        if '-page' in arg[:5]:
+            bot.pagegen = [pywikibot.Page(bot.site, arg[6:])]
+        else:
+            pywikibot.showHelp()
+            return
     try:
         bot.run()
     except KeyboardInterrupt:

-- 
To view, visit https://gerrit.wikimedia.org/r/97296
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I42aa1769bb0b053e2f8134ab1177d970cda28ee3
Gerrit-PatchSet: 1
Gerrit-Project: pywikibot/compat
Gerrit-Branch: master
Gerrit-Owner: DrTrigon <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to