DrTrigon has submitted this change and it was merged.
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(-)
Approvals: DrTrigon: Verified; Looks good to me, approved jenkins-bot: Verified
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:
pywikibot-commits@lists.wikimedia.org