jenkins-bot has submitted this change and it was merged.

Change subject: Move unrelated parts of cosmetic_changes.py back to scripts 
folder
......................................................................


Move unrelated parts of cosmetic_changes.py back to scripts folder

These parts are only useful when the user wants to run as
a stand-alone script.

Change-Id: Iaccff3a58ebd6df07e5c2eaaccd04279a62bebe1
---
M pywikibot/cosmetic_changes.py
A scripts/cosmetic_changes.py
2 files changed, 143 insertions(+), 110 deletions(-)

Approvals:
  Xqt: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/pywikibot/cosmetic_changes.py b/pywikibot/cosmetic_changes.py
index 84e7db1..9c471fe 100755
--- a/pywikibot/cosmetic_changes.py
+++ b/pywikibot/cosmetic_changes.py
@@ -5,24 +5,7 @@
 
 The changes are not supposed to change the look of the rendered wiki page.
 
-The following parameters are supported:
-
-&params;
-
--always           Don't prompt you for each replacement. Warning (see below)
-                  has not to be confirmed. ATTENTION: Use this with care!
-
--async            Put page on queue to be saved to wiki asynchronously.
-
--summary:XYZ      Set the summary message text for the edit to XYZ, bypassing
-                  the predefined message texts with original and replacements
-                  inserted.
-
--ignore:          Ignores if an error occured and skip either the page, or
-                  only that method, or only an instance of the problem in the
-                  page text. It can be set to 'page', 'method', or 'match'.
-
-&warning;
+If you wish to run this as an stand-alone script, use 
scripts/cosmetic_changes.py
 
 For regular use, it is recommended to put this line into your user-config.py:
 
@@ -93,8 +76,7 @@
 
 import pywikibot
 
-from pywikibot import config, i18n, textlib, pagegenerators
-from pywikibot.bot import ExistingPageBot, NoRedirectPageBot
+from pywikibot import config, textlib, pagegenerators
 from pywikibot.page import url2unicode
 from pywikibot.tools import deprecate_arg, first_lower, first_upper
 from pywikibot.tools import MediaWikiVersion
@@ -958,93 +940,3 @@
         """Hyphenate ISBN numbers."""
         return _reformat_ISBNs(
             text, strict=False if self.ignore == CANCEL_MATCH else True)
-
-
-class CosmeticChangesBot(ExistingPageBot, NoRedirectPageBot):
-
-    """Cosmetic changes bot."""
-
-    def __init__(self, generator, **kwargs):
-        self.availableOptions.update({
-            'async': False,
-            'comment': u'Robot: Cosmetic changes',
-            'ignore': CANCEL_ALL,
-        })
-        super(CosmeticChangesBot, self).__init__(**kwargs)
-
-        self.generator = generator
-
-    def treat_page(self):
-        """Treat page with the cosmetic toolkit."""
-        try:
-            ccToolkit = CosmeticChangesToolkit.from_page(
-                self.current_page, False, self.getOption('ignore'))
-            changedText = ccToolkit.change(self.current_page.get())
-            if changedText is not False:
-                self.put_current(new_text=changedText,
-                                 summary=self.getOption('comment'),
-                                 async=self.getOption('async'))
-        except pywikibot.LockedPage:
-            pywikibot.output("Page %s is locked?!"
-                             % self.current_page.title(asLink=True))
-        except pywikibot.EditConflict:
-            pywikibot.output("An edit conflict has occured at %s."
-                             % self.current_page.title(asLink=True))
-
-
-def main(*args):
-    """
-    Process command line arguments and invoke bot.
-
-    If args is an empty list, sys.argv is used.
-
-    @param args: command line arguments
-    @type args: list of unicode
-    """
-    options = {}
-
-    # Process global args and prepare generator args parser
-    local_args = pywikibot.handle_args(args)
-    genFactory = pagegenerators.GeneratorFactory()
-
-    for arg in local_args:
-        if arg.startswith('-summary:'):
-            options['comment'] = arg[len('-summary:'):]
-        elif arg == '-always':
-            options['always'] = True
-        elif arg == '-async':
-            options['async'] = True
-        elif arg.startswith('-ignore:'):
-            ignore_mode = arg[len('-ignore:'):].lower()
-            if ignore_mode == 'method':
-                options['ignore'] = CANCEL_METHOD
-            elif ignore_mode == 'page':
-                options['ignore'] = CANCEL_PAGE
-            elif ignore_mode == 'match':
-                options['ignore'] = CANCEL_MATCH
-            else:
-                raise ValueError('Unknown ignore mode 
"{0}"!'.format(ignore_mode))
-        else:
-            genFactory.handleArg(arg)
-
-    site = pywikibot.Site()
-
-    if 'comment' not in options or not options['comment']:
-        # Load default summary message.
-        options['comment'] = i18n.twtranslate(site,
-                                              'cosmetic_changes-standalone')
-
-    gen = genFactory.getCombinedGenerator()
-    if gen:
-        if options.get('always') or pywikibot.input_yn(
-                warning + '\nDo you really want to continue?',
-                default=False, automatic_quit=False):
-            site.login()
-            preloadingGen = pagegenerators.PreloadingGenerator(gen)
-            bot = CosmeticChangesBot(preloadingGen, **options)
-            bot.run()
-    else:
-        pywikibot.showHelp()
-
-if __name__ == "__main__":
-    main()
diff --git a/scripts/cosmetic_changes.py b/scripts/cosmetic_changes.py
new file mode 100644
index 0000000..1ae4bf6
--- /dev/null
+++ b/scripts/cosmetic_changes.py
@@ -0,0 +1,141 @@
+#!/usr/bin/python
+# -*- coding: utf-8  -*-
+"""
+This module can do slight modifications to tidy a wiki page's source code.
+
+The changes are not supposed to change the look of the rendered wiki page.
+
+The following parameters are supported:
+
+&params;
+
+-always           Don't prompt you for each replacement. Warning (see below)
+                  has not to be confirmed. ATTENTION: Use this with care!
+
+-async            Put page on queue to be saved to wiki asynchronously.
+
+-summary:XYZ      Set the summary message text for the edit to XYZ, bypassing
+                  the predefined message texts with original and replacements
+                  inserted.
+
+-ignore:          Ignores if an error occured and either skips the page or
+                  only that method. It can be set to 'page' or 'method'.
+
+&warning;
+
+For further information see pywikibot/cosmetic_changes.py
+"""
+#
+# (C) xqt, 2009-2013
+# (C) Pywikibot team, 2006-2015
+#
+# Distributed under the terms of the MIT license.
+#
+__version__ = '$Id$'
+#
+
+import pywikibot
+from pywikibot import i18n, pagegenerators, cosmetic_changes
+from pywikibot.bot import ExistingPageBot, NoRedirectPageBot
+
+
+warning = """
+ATTENTION: You can run this script as a stand-alone for testing purposes.
+However, the changes that are made are only minor, and other users
+might get angry if you fill the version histories and watchlists with such
+irrelevant changes. Some wikis prohibit stand-alone running."""
+
+docuReplacements = {
+    '&params;': pagegenerators.parameterHelp,
+    '&warning;': warning,
+}
+
+
+class CosmeticChangesBot(ExistingPageBot, NoRedirectPageBot):
+
+    """Cosmetic changes bot."""
+
+    def __init__(self, generator, **kwargs):
+        self.availableOptions.update({
+            'async': False,
+            'summary': u'Robot: Cosmetic changes',
+            'ignore': cosmetic_changes.CANCEL_ALL,
+        })
+        super(CosmeticChangesBot, self).__init__(**kwargs)
+
+        self.generator = generator
+
+    def treat_page(self):
+        """Treat page with the cosmetic toolkit."""
+        try:
+            ccToolkit = cosmetic_changes.CosmeticChangesToolkit.from_page(
+                self.current_page, False, self.getOption('ignore'))
+            changedText = ccToolkit.change(self.current_page.get())
+            if changedText is not False:
+                self.put_current(new_text=changedText,
+                                 summary=self.getOption('summary'),
+                                 async=self.getOption('async'))
+        except pywikibot.LockedPage:
+            pywikibot.output("Page %s is locked?!"
+                             % self.current_page.title(asLink=True))
+        except pywikibot.EditConflict:
+            pywikibot.output("An edit conflict has occured at %s."
+                             % self.current_page.title(asLink=True))
+
+
+def main(*args):
+    """
+    Process command line arguments and invoke bot.
+
+    If args is an empty list, sys.argv is used.
+
+    @param args: command line arguments
+    @type args: list of unicode
+    """
+    options = {}
+
+    # Process global args and prepare generator args parser
+    local_args = pywikibot.handle_args(args)
+    genFactory = pagegenerators.GeneratorFactory()
+
+    for arg in local_args:
+        if arg.startswith('-summary:'):
+            options['summary'] = arg[len('-summary:'):]
+        elif arg == '-always':
+            options['always'] = True
+        elif arg == '-async':
+            options['async'] = True
+        elif arg.startswith('-ignore:'):
+            ignore_mode = arg[len('-ignore:'):].lower()
+            if ignore_mode == 'method':
+                options['ignore'] = cosmetic_changes.CANCEL_METHOD
+            elif ignore_mode == 'page':
+                options['ignore'] = cosmetic_changes.CANCEL_PAGE
+            elif ignore_mode == 'match':
+                options['ignore'] = cosmetic_changes.CANCEL_MATCH
+            else:
+                raise ValueError('Unknown ignore mode 
"{0}"!'.format(ignore_mode))
+        else:
+            genFactory.handleArg(arg)
+
+    site = pywikibot.Site()
+
+    if not options.get('summary'):
+        # Load default summary message.
+        options['summary'] = i18n.twtranslate(site,
+                                              'cosmetic_changes-standalone')
+
+    gen = genFactory.getCombinedGenerator()
+    if gen:
+        if options.get('always') or pywikibot.input_yn(
+                warning + '\nDo you really want to continue?',
+                default=False, automatic_quit=False):
+            site.login()
+            preloadingGen = pagegenerators.PreloadingGenerator(gen)
+            bot = CosmeticChangesBot(preloadingGen, **options)
+            bot.run()
+    else:
+        pywikibot.showHelp()
+
+if __name__ == "__main__":
+    main()

-- 
To view, visit https://gerrit.wikimedia.org/r/205843
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Iaccff3a58ebd6df07e5c2eaaccd04279a62bebe1
Gerrit-PatchSet: 8
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: Ladsgroup <ladsgr...@gmail.com>
Gerrit-Reviewer: John Vandenberg <jay...@gmail.com>
Gerrit-Reviewer: Ladsgroup <ladsgr...@gmail.com>
Gerrit-Reviewer: Merlijn van Deen <valhall...@arctus.nl>
Gerrit-Reviewer: XZise <commodorefabia...@gmx.de>
Gerrit-Reviewer: Xqt <i...@gno.de>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
Pywikibot-commits mailing list
Pywikibot-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/pywikibot-commits

Reply via email to