jenkins-bot has submitted this change and it was merged.
Change subject: Add pagegenerator.py based argument handling to delete.py
......................................................................
Add pagegenerator.py based argument handling to delete.py
Added by request of infovarius
Corrected version of r78811
Change-Id: I386328c62b1bbeb7022a620f8e95d25a67686371
---
M delete.py
1 file changed, 27 insertions(+), 73 deletions(-)
Approvals:
Xqt: Looks good to me, approved
jenkins-bot: Verified
diff --git a/delete.py b/delete.py
index 5de27d7..d1e2c13 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,50 +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'):
- pageName = pywikibot.input(u'Enter the page to delete:')
- else:
- pageName = arg[len('-page:'):]
elif arg.startswith('-images'):
doImages = True
if len(arg) == len('-images'):
@@ -124,57 +94,41 @@
pageName = arg[len('-images'):]
elif arg.startswith('-undelete'):
undelete = True
-
+ else:
+ genFactory.handleArg(arg)
+ 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')
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)
- elif doImages:
+ if 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:
+ summary = pywikibot.input(u'Enter a reason for the %sdeletion:'
+ % ['', 'un'][undelete])
+ 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: merged
Gerrit-Change-Id: I386328c62b1bbeb7022a620f8e95d25a67686371
Gerrit-PatchSet: 6
Gerrit-Project: pywikibot/compat
Gerrit-Branch: master
Gerrit-Owner: Ladsgroup <[email protected]>
Gerrit-Reviewer: DrTrigon <[email protected]>
Gerrit-Reviewer: Ladsgroup <[email protected]>
Gerrit-Reviewer: Legoktm <[email protected]>
Gerrit-Reviewer: Merlijn van Deen <[email protected]>
Gerrit-Reviewer: Xqt <[email protected]>
Gerrit-Reviewer: jenkins-bot
_______________________________________________
Pywikibot-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/pywikibot-commits