Revision: 8099
Author:   xqt
Date:     2010-04-16 06:54:47 +0000 (Fri, 16 Apr 2010)

Log Message:
-----------
crossupdate from trunk/rewrite

Modified Paths:
--------------
    branches/rewrite/scripts/editarticle.py
    trunk/pywikipedia/editarticle.py

Modified: branches/rewrite/scripts/editarticle.py
===================================================================
--- branches/rewrite/scripts/editarticle.py     2010-04-16 06:29:58 UTC (rev 
8098)
+++ branches/rewrite/scripts/editarticle.py     2010-04-16 06:54:47 UTC (rev 
8099)
@@ -50,17 +50,18 @@
     def command(self, tempFilename, text, jumpIndex = None):
         command = config.editor
         if jumpIndex:
-            # Some editors make it possible to mark occurences of substrings, 
or
-            # to jump to the line of the first occurence.
+            # Some editors make it possible to mark occurences of substrings,
+            # or to jump to the line of the first occurence.
             # TODO: Find a better solution than hardcoding these, e.g. a config
             # option.
             line = text[:jumpIndex].count('\n')
             column = jumpIndex - (text[:jumpIndex].rfind('\n') + 1)
         else:
             line = column = 0
-        # Linux editors. We use startswith() because some users might use 
parameters.
+        # Linux editors. We use startswith() because some users might use
+        # parameters.
         if config.editor.startswith('kate'):
-            command += " -l %i -c %i" % (line, column)
+            command += " -l %i -c %i" % (line + 1, column + 1)
         elif config.editor.startswith('gedit'):
             command += " +%i" % (line + 1) # seems not to support columns
         elif config.editor.startswith('emacs'):
@@ -172,7 +173,9 @@
         fp = open(fn, 'w')
         fp.write(new)
         fp.close()
-        pywikibot.output(u"An edit conflict has arisen. Your edit has been 
saved to %s. Please try again." % fn)
+        pywikibot.output(
+            u"An edit conflict has arisen. Your edit has been saved to %s. 
Please try again."
+            % fn)
 
     def run(self):
         try:
@@ -186,7 +189,8 @@
             changes = pywikibot.input(u"What did you change?")
             comment = pywikibot.translate(pywikibot.getSite(), msg) % changes
             try:
-                self.page.put(new, comment = comment, minorEdit = False, 
watchArticle=self.options.watch)
+                self.page.put(new, comment=comment, minorEdit=False,
+                              watchArticle=self.options.watch)
             except pywikibot.EditConflict:
                 self.handle_edit_conflict(new)
         else:

Modified: trunk/pywikipedia/editarticle.py
===================================================================
--- trunk/pywikipedia/editarticle.py    2010-04-16 06:29:58 UTC (rev 8098)
+++ trunk/pywikipedia/editarticle.py    2010-04-16 06:54:47 UTC (rev 8099)
@@ -6,7 +6,7 @@
 
 #
 # (C) Gerrit Holl 2004
-# (C) Pywikipedia team, 2004-2009
+# (C) Pywikipedia team, 2004-2010
 #
 __version__ = "$Id$"
 #
@@ -50,15 +50,16 @@
     def command(self, tempFilename, text, jumpIndex = None):
         command = config.editor
         if jumpIndex:
-            # Some editors make it possible to mark occurences of substrings, 
or
-            # to jump to the line of the first occurence.
+            # Some editors make it possible to mark occurences of substrings,
+            # or to jump to the line of the first occurence.
             # TODO: Find a better solution than hardcoding these, e.g. a config
             # option.
             line = text[:jumpIndex].count('\n')
             column = jumpIndex - (text[:jumpIndex].rfind('\n') + 1)
         else:
             line = column = 0
-        # Linux editors. We use startswith() because some users might use 
parameters.
+        # Linux editors. We use startswith() because some users might use
+        # parameters.
         if config.editor.startswith('kate'):
             command += " -l %i -c %i" % (line + 1, column + 1)
         elif config.editor.startswith('gedit'):
@@ -126,27 +127,32 @@
                 os.unlink(tempFilename)
                 return self.restoreLinebreaks(newcontent)
         else:
-            return self.restoreLinebreaks(pywikibot.ui.editText(text, 
jumpIndex = jumpIndex, highlight = highlight))
+            return self.restoreLinebreaks(
+                pywikibot.ui.editText(text, jumpIndex=jumpIndex,
+                                      highlight=highlight))
 
 class ArticleEditor:
     # join lines if line starts with this ones
     joinchars = string.letters + '[]' + string.digits
 
-    def __init__(self):
-        self.set_options()
+    def __init__(self, *args):
+        self.set_options(*args)
         self.setpage()
         self.site = pywikibot.getSite()
 
-    def set_options(self):
+    def set_options(self, *args):
         """Parse commandline and set options attribute"""
         my_args = []
-        for arg in pywikibot.handleArgs():
+        for arg in pywikibot.handleArgs(*args):
             my_args.append(arg)
         parser = optparse.OptionParser()
-        parser.add_option("-r", "--edit_redirect", action="store_true", 
default=False, help="Ignore/edit redirects")
+        parser.add_option("-r", "--edit_redirect", action="store_true",
+                          default=False, help="Ignore/edit redirects")
         parser.add_option("-p", "--page", help="Page to edit")
-        parser.add_option("-w", "--watch", action="store_true", default=False, 
help="Watch article after edit")
-        #parser.add_option("-n", "--new_data", default="", help="Automatically 
generated content")
+        parser.add_option("-w", "--watch", action="store_true", default=False,
+                          help="Watch article after edit")
+        #parser.add_option("-n", "--new_data", default="",
+        #                  help="Automatically generated content")
         (self.options, args) = parser.parse_args(args=my_args)
 
         # for convenience, if we have an arg, stuff it into the opt, so we
@@ -167,7 +173,9 @@
         fp = open(fn, 'w')
         fp.write(new)
         fp.close()
-        pywikibot.output(u"An edit conflict has arisen. Your edit has been 
saved to %s. Please try again." % fn)
+        pywikibot.output(
+            u"An edit conflict has arisen. Your edit has been saved to %s. 
Please try again."
+            % fn)
 
     def run(self):
         try:
@@ -181,14 +189,15 @@
             changes = pywikibot.input(u"What did you change?")
             comment = pywikibot.translate(pywikibot.getSite(), msg) % changes
             try:
-                self.page.put(new, comment = comment, minorEdit = False, 
watchArticle=self.options.watch)
+                self.page.put(new, comment=comment, minorEdit=False,
+                              watchArticle=self.options.watch)
             except pywikibot.EditConflict:
                 self.handle_edit_conflict(new)
         else:
             pywikibot.output(u"Nothing changed")
 
-def main():
-    app = ArticleEditor()
+def main(*args):
+    app = ArticleEditor(*args)
     app.run()
 
 if __name__ == "__main__":



_______________________________________________
Pywikipedia-svn mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/pywikipedia-svn

Reply via email to