Page MenuHomePhabricator

tbpmelder crasht bij pagina's met nobots
Closed, ResolvedPublic

Description

Zie https://nl.wikipedia.org/w/index.php?title=Overleg_Wikipedia:Nlwikibots&type=revision&diff=54846207&oldid=54385398&diffmode=source

Logging in to wikipedia:nl as Nlwikibots@toollabs
Sleeping for 5.9 seconds, 2019-10-21 22:55:56
Page [[Overleg gebruiker:2001:9E0:8706:DC01:6980:EC18:9748:2C51]] saved
ERROR: Fatal error:
Traceback (most recent call last):
  File "tbp-wikinl/tbpmelder.py", line 83, in <module>
    main()
  File "tbp-wikinl/tbpmelder.py", line 79, in main
    notify_contributors(site, contributor_nom)
  File "tbp-wikinl/tbpmelder.py", line 28, in notify_contributors
    messagebuilder.leave_notification(site, user, remaining, talk)
  File "tbp-wikinl/messagebuilder.py", line 43, in leave_notification
    talk_page.save(summary=summary, minor=False, botflag=False)
  File "/mnt/nfs/labstore-secondary-tools-project/nlwikibots/src/public/bots/tbpmelder/pywikibot/pywikibot/tools/__init__.py", line 1738, in wrapper
    return obj(*__args, **__kw)
  File "/mnt/nfs/labstore-secondary-tools-project/nlwikibots/src/public/bots/tbpmelder/pywikibot/pywikibot/tools/__init__.py", line 1738, in wrapper
    return obj(*__args, **__kw)
  File "/mnt/nfs/labstore-secondary-tools-project/nlwikibots/src/public/bots/tbpmelder/pywikibot/pywikibot/page.py", line 1279, in save
    self, 'Editing restricted by {{bots}}, {{nobots}} '
OtherPageSaveError: Edit to page [[Overleg gebruiker:Paul Brussel]] failed:
Editing restricted by {{bots}}, {{nobots}} or site's equivalent of {{in use}} template

Het lijkt dat hierdoor ook de rest van de pagina's niet meer aangepast worden.

Ik denk dat hetzelfde ook zou kunnen gebeuren bij bv edit conflicts -- ik weet niet precies wat voor exceptions je bij een edit kan krijgen.

Ik zou geneigd zijn gewoon een

try:
    messagebuilder.leave_notification(site, user, remaining, talk)
catch Exception as e:
    # log exception and stack trace
    pass

te doen. Bij een edit conflict e.d. hebben mensen dan maar pech, maar iig zorgt een enkele failure er niet voor dat de rest ook omvalt.

Event Timeline

@FrankGeerlings je hebt deze taak gesloten, maar ik zie niet hoe het is opgelost. Zou je dat wellicht willen verklappen?

Natuurlijk wil ik dat verklappen. Ik heb zoals door valhallasw gesuggereerd eenvoudigweg de exception afgevangen (zij het niet helemaal op dezelfde plek), want iemand die {{nobots}} op zijn overlegpagina heeft staan wil kennelijk niet geïnformeerd worden door bots. De meldingen aan anderen vinden voortaan dus wel plaats, waar eerst het script op dit punt vastliep.

Dit is de wijziging, die staat inmiddels ook live op de nlwikibots-account:
https://github.com/frankgeerlings/tbp-wikinl/commit/24190adec04ec3cce8a2bf06253ea600fa3ec3bb