Ladsgroup has uploaded a new change for review.
https://gerrit.wikimedia.org/r/79465
Change subject: Adding pagegenerator per request of a user in wikimania
(corrected version of r78811 I couldn't amend because I used master branch)
......................................................................
Adding pagegenerator per request of a user in wikimania (corrected version of
r78811 I couldn't amend because I used master branch)
Change-Id: I386328c62b1bbeb7022a620f8e95d25a67686371
---
M delete.py
1 file changed, 24 insertions(+), 61 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/pywikibot/compat
refs/changes/65/79465/1
diff --git a/delete.py b/delete.py
index 5de27d7..cd7ce99 100644
--- a/delete.py
+++ b/delete.py
@@ -59,6 +59,7 @@
page.delete(self.summary, not self.always, throttle = True)
def main():
+ genFactory = pagegenerators.GeneratorFactory()
pageName = ''
singlePage = ''
summary = ''
@@ -71,44 +72,19 @@
doImages = False
undelete = False
fileName = ''
- gen = None
+ generator = None
# read command line parameters
for arg in pywikibot.handleArgs():
if arg == '-always':
always = True
- elif arg.startswith('-file'):
- if len(arg) == len('-file'):
- fileName = pywikibot.input(
- u'Enter name of file to delete pages from:')
- else:
- fileName = arg[len('-file:'):]
elif arg.startswith('-summary'):
if len(arg) == len('-summary'):
summary = pywikibot.input(u'Enter a reason for the deletion:')
else:
summary = arg[len('-summary:'):]
- elif arg.startswith('-cat'):
- doCategory = True
- if len(arg) == len('-cat'):
- pageName = pywikibot.input(
- u'Enter the category to delete from:')
- else:
- pageName = arg[len('-cat:'):]
elif arg.startswith('-nosubcats'):
deleteSubcategories = False
- elif arg.startswith('-links'):
- doLinks = True
- if len(arg) == len('-links'):
- pageName = pywikibot.input(u'Enter the page to delete from:')
- else:
- pageName = arg[len('-links:'):]
- elif arg.startswith('-ref'):
- doRef = True
- if len(arg) == len('-ref'):
- pageName = pywikibot.input(u'Enter the page to delete from:')
- else:
- pageName = arg[len('-ref:'):]
elif arg.startswith('-page'):
doSinglePage = True
if len(arg) == len('-page'):
@@ -124,57 +100,44 @@
pageName = arg[len('-images'):]
elif arg.startswith('-undelete'):
undelete = True
-
+ else:
+ genFactory.handleArg(arg)
mysite = pywikibot.getSite()
if doSinglePage:
if not summary:
summary = pywikibot.input(u'Enter a reason for the %sdeletion:'
% ['', 'un'][undelete])
page = pywikibot.Page(mysite, pageName)
- gen = iter([page])
- elif doCategory:
- if not summary:
- summary = i18n.twtranslate(mysite, 'delete-from-category',
- {'page': pageName})
- ns = mysite.category_namespace()
- categoryPage = catlib.Category(mysite, ns + ':' + pageName)
- gen = pagegenerators.CategorizedPageGenerator(
- categoryPage, recurse=deleteSubcategories)
- elif doLinks:
- if not summary:
- summary = i18n.twtranslate(mysite, 'delete-linked-pages',
- {'page': pageName})
- pywikibot.setAction(summary)
- linksPage = pywikibot.Page(mysite, pageName)
- gen = pagegenerators.LinkedPageGenerator(linksPage)
- elif doRef:
- if not summary:
- summary = i18n.twtranslate(mysite, 'delete-referring-pages',
- {'page': pageName})
- refPage = pywikibot.Page(mysite, pageName)
- gen = pagegenerators.ReferringPageGenerator(refPage)
- elif fileName:
- if not summary:
- summary = i18n.twtranslate(mysite, 'delete-from-file')
- gen = pagegenerators.TextfilePageGenerator(fileName)
+ generator = iter([page])
elif doImages:
if not summary:
summary = i18n.twtranslate(mysite, 'delete-images',
{'page': pageName})
page = pywikibot.Page(mysite, pageName)
- gen = pagegenerators.ImagesPageGenerator(page)
-
- if gen:
+ generator = pagegenerators.ImagesPageGenerator(page)
+ if not summary:
+ if arg.startswith('-category'):
+ summary = i18n.twtranslate(mysite, 'delete-from-category',{'page':
pageName})
+ elif arg.startswith('-links'):
+ summary = i18n.twtranslate(mysite, 'delete-linked-pages', {'page':
pageName})
+ elif arg.startswith('-ref'):
+ summary = i18n.twtranslate(mysite, 'delete-referring-pages',
{'page': pageName})
+ elif arg.startswith('-file'):
+ summary = i18n.twtranslate(mysite, 'delete-from-file')
+ if not generator:
+ generator = genFactory.getCombinedGenerator()
+ if not generator:
+ # syntax error, show help text from the top of this file
+ pywikibot.showHelp('delete')
+ return
+ if generator:
pywikibot.setAction(summary)
# We are just deleting pages, so we have no need of using a preloading
# page generator to actually get the text of those pages.
- bot = DeletionRobot(gen, summary, always, undelete)
+ bot = DeletionRobot(generator, summary, always, undelete)
bot.run()
- else:
- pywikibot.showHelp(u'delete')
-
if __name__ == "__main__":
try:
main()
finally:
- pywikibot.stopme()
+ pywikibot.stopme()
\ No newline at end of file
--
To view, visit https://gerrit.wikimedia.org/r/79465
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I386328c62b1bbeb7022a620f8e95d25a67686371
Gerrit-PatchSet: 1
Gerrit-Project: pywikibot/compat
Gerrit-Branch: master
Gerrit-Owner: Ladsgroup <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits