ne 3. 6. 2018 v 19:46 odesílatel Bináris <wikiposta(a)gmail.com> napsal:
2018-06-03 18:41 GMT+02:00 Martin Urbanec
<martin.urbanec(a)wikimedia.cz>cz>:
I think that Pywikibot's save method should
allow explicit overriding of
a warning raised by abuse filter. It shouldn't be the default state, but it
should be possible. Anyway, having a bot regulary hitting AF isn't a good
idea - talk with an admin of your wiki.
No, this is not regular. But just allowing does not solve the original
problem that the bot silently failed without notifying the owner. (The
solution in this case was a manual archiving.)
Well, failed sliently? Again, I run the same bot in cs.wiki and this is
what I can see in logs.
Looking for: {{Šablona:Archivace}} in [[cs:Diskuse:Moravská vlajka]]
Processing 1 threads
Only 1 (< 2) threads are old enough. Skipping
Processing [[cs:Diskuse:Česko]]
13 Threads found on [[cs:Diskuse:Česko]]
Looking for: {{Šablona:Archivace}} in [[cs:Diskuse:Česko]]
Processing 13 threads
13 Threads found on [[cs:Diskuse:Česko/archiv-02]]
Only 3 (< 10) threads are old enough. Skipping
Processing [[cs:Wikipedista:ArchivačníBot/test1]]
1 Threads found on [[cs:Wikipedista:ArchivačníBot/test1]]
Looking for: {{Šablona:Archivace}} in [[cs:Wikipedista:ArchivačníBot/test1]]
Processing 1 threads
Only 0 (< 1) threads are old enough. Skipping
Processing [[cs:Wikipedista:ArchivačníBot/test3]]
1 Threads found on [[cs:Wikipedista:ArchivačníBot/test3]]
Looking for: {{Šablona:Archivace}} in [[cs:Wikipedista:ArchivačníBot/test3]]
Processing 1 threads
Processing [[cs:Diskuse s wikipedistou:Chmee2]]
4 Threads found on [[cs:Diskuse s wikipedistou:Chmee2]]
Looking for: {{Šablona:Archivace}} in [[cs:Diskuse s wikipedistou:Chmee2]]
Processing 4 threads
Only 0 (< 1) threads are old enough. Skipping
Processing [[cs:Diskuse s wikipedistou:HypoBOT]]
1 Threads found on [[cs:Diskuse s wikipedistou:HypoBOT]]
Looking for: {{Šablona:Archivace}} in [[cs:Diskuse s wikipedistou:HypoBOT]]
Processing 1 threads
2 Threads found on [[cs:Diskuse s wikipedistou:HypoBOT/archiv 2017-1]]
Only 1 (< 2) threads are old enough. Skipping
Processing [[cs:Diskuse s wikipedistou:JAn Dudík]]
21 Threads found on [[cs:Diskuse s wikipedistou:JAn Dudík]]
Looking for: {{Šablona:Archivace}} in [[cs:Diskuse s wikipedistou:JAn
Dudík]]
Processing 21 threads
138 Threads found on [[cs:Diskuse s wikipedistou:JAn Dudík/archiv 2017-1]]
Archiving 8 thread(s).
ERROR: Error occurred while processing page [[cs:Diskuse s wikipedistou:JAn
Dudík]]
ERROR: SpamfilterError: Edit to page [[Diskuse s wikipedistou:JAn
Dudík/archiv 2017-1]] rejected by spam filter due to content:
twitter.com/search
ERROR: SpamfilterError: Edit to page [[Diskuse s wikipedistou:JAn
Dudík/archiv 2017-1]] rejected by spam filter due to content:
twitter.com/search
Traceback (most recent call last):
File "/shared/pywikipedia/core/scripts/archivebot.py", line 819, in main
archiver.run()
File "/shared/pywikipedia/core/scripts/archivebot.py", line 713, in run
self.archives[a].update(comment)
File "/shared/pywikipedia/core/scripts/archivebot.py", line 531, in update
self.save(summary)
File "/shared/pywikipedia/core/pywikibot/tools/__init__.py", line 1520,
in wrapper
return obj(*__args, **__kw)
File "/shared/pywikipedia/core/pywikibot/tools/__init__.py", line 1520,
in wrapper
return obj(*__args, **__kw)
File "/shared/pywikipedia/core/pywikibot/page.py", line 1264, in save
cc=apply_cosmetic_changes, quiet=quiet, **kwargs)
File "/shared/pywikipedia/core/pywikibot/page.py", line 136, in wrapper
handle(func, self, *args, **kwargs)
File "/shared/pywikipedia/core/pywikibot/page.py", line 127, in handle
raise err
SpamfilterError: Edit to page [[Diskuse s wikipedistou:JAn Dudík/archiv
2017-1]] rejected by spam filter due to content:
twitter.com/search
Framework report problems, bot operators should monitor logs. I know that
this is spamfilter and not abusefilter, but Pywikibot behaves the same way
even if an abusefilter has rejected given change. See the following manual
example:
tools.urbanecmbot@tools-bastion-02 ~
$ python
Python 2.7.6 (default, Nov 23 2017, 15:49:48)
[GCC 4.8.4] on linux2
Type "help", "copyright", "credits" or "license"
for more information.
>> import pywikibot
>> site = pywikibot.Site('cs', 'wikipedia')
>> page = pywikibot.Page(site, u"Wikipedista:Martin
Urbanec/Pískoviště/1")
>> page.text = "This is a test"
>> page.save()
Sleeping for 9.5 seconds, 2018-06-03 22:19:23
ERROR: editpage: abusefilter-disallowed
Hit AbuseFilter: Test filter,
WARNING: Page [[Wikipedista:Martin Urbanec/Pískoviště/1]] not saved
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/shared/pywikipedia/core/pywikibot/tools/__init__.py", line 1446,
in wrapper
return obj(*__args, **__kw)
File "/shared/pywikipedia/core/pywikibot/tools/__init__.py", line 1446,
in wrapper
return obj(*__args, **__kw)
File "/shared/pywikipedia/core/pywikibot/page.py", line 1270, in save
cc=apply_cosmetic_changes, quiet=quiet, **kwargs)
File "/shared/pywikipedia/core/pywikibot/page.py", line 127, in wrapper
handle(func, self, *args, **kwargs)
File "/shared/pywikipedia/core/pywikibot/page.py", line 118, in handle
raise err
pywikibot.exceptions.PageSaveRelatedError: Page [[cs:Wikipedista:Martin
Urbanec/Pískoviště/1]] was not saved.
>>
Of course Pywikibot didn't report it by email, because it will be
unexpectable (and, to be precise, Pywikibot do not always have a way to
email you - for example, my Pywikibot bot password don't allow emailing
(well, maybe it does, I'm not sure, but it isn't required to allow it).
On Czech
Wikipedia, filters that would be hit by archivebot has
exception, generally !"bot" in user_groups. This allows cs.wiki to warn
users that may or may not know what is happening and allow bots to do their
maintenance work without being warned because their operators are expected
to know what is ok and what is not.
In the given case the filter itself caused the problem, and I wrote the
filter. Many years ago I didn't think of limiting the filter to main
namespace. I opened this thread because the problem is general. !"bot"
in user_groups allows ALL bots to avoid the filter, and this is not right.
_______________________________________________
pywikibot mailing list
pywikibot(a)lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/pywikibot