jenkins-bot has submitted this change. ( 
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/627848 )

Change subject: [IMPR] Improvements for table2wiki.py
......................................................................

[IMPR] Improvements for table2wiki.py

- remove Python 2 code parts
- use textlib.replaceExcept instead of pywikibot.replaceExcept
- decrease nested flow statemets

Change-Id: Iad9724a0d45c9f50c463d6ec332c8766f3442432
---
M scripts/table2wiki.py
1 file changed, 37 insertions(+), 43 deletions(-)

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



diff --git a/scripts/table2wiki.py b/scripts/table2wiki.py
index fec446c..0756847 100644
--- a/scripts/table2wiki.py
+++ b/scripts/table2wiki.py
@@ -43,25 +43,21 @@
 Please check every article you change.
 """
 #
-# (C) Pywikibot team, 2003-2019
+# (C) Pywikibot team, 2003-2020
 #
 # Distributed under the terms of the MIT license.
 #
 # Automatically ported from compat branch by compat2core.py script
 #
-from __future__ import absolute_import, division, unicode_literals
-
 import re

 import pywikibot
-from pywikibot import config
-from pywikibot import i18n
-from pywikibot import pagegenerators
-from pywikibot import xmlreader
+from pywikibot import config, i18n, pagegenerators, xmlreader

 from pywikibot.bot import (SingleSiteBot, ExistingPageBot, NoRedirectPageBot,
                            suggest_help, input_yn)
 from pywikibot.exceptions import ArgumentDeprecationWarning
+from pywikibot.textlib import replaceExcept
 from pywikibot.tools import issue_deprecation_warning

 # This is required for the text that is shown when you run this script
@@ -69,7 +65,7 @@
 docuReplacements = {'&params;': pagegenerators.parameterHelp}  # noqa: N816

 
-class TableXmlDumpPageGenerator(object):
+class TableXmlDumpPageGenerator:
     """Generator to yield all pages that seem to contain an HTML table."""

     def __init__(self, xmlfilename):
@@ -98,7 +94,7 @@
             'skipwarning': False  # on warning skip that page
         })

-        super(Table2WikiRobot, self).__init__(site=True, **kwargs)
+        super().__init__(**kwargs)

     def convertTable(self, table):
         """
@@ -393,12 +389,11 @@
         Mark all table start and end tags that are not disabled by nowiki tags,
         comments etc. We will then later only work on these marked tags.
         """
-        text = pywikibot.replaceExcept(text, _table_start_regex, '<##table##',
-                                       exceptions=['comment', 'math',
-                                                   'nowiki', 'pre', 'source'])
-        text = pywikibot.replaceExcept(text, _table_end_regex, '</##table##>',
-                                       exceptions=['comment', 'math',
-                                                   'nowiki', 'pre', 'source'])
+        exceptions = ['comment', 'math', 'nowiki', 'pre', 'source']
+        text = replaceExcept(text, _table_start_regex, '<##table##',
+                             exceptions=exceptions)
+        text = replaceExcept(text, _table_end_regex, '</##table##>',
+                             exceptions=exceptions)
         return text

     def findTable(self, text):
@@ -411,33 +406,32 @@
         m = _marked_table_start_search(text)
         if not m:
             return None, 0, 0
-        else:
-            start = m.start()
-            offset = m.end()
-            original_text = text
-            text = text[m.end():]
-            # depth level of table nesting
-            depth = 1
-            # i = start + 1
-            while depth > 0:
-                next_starting = _marked_table_start_search(text)
-                next_ending = _marked_table_end_search(text)
-                if not next_ending:
-                    pywikibot.output(
-                        'More opening than closing table tags. Skipping.')
-                    return None, 0, 0
-                # if another table tag is opened before one is closed
-                elif (next_starting
-                      and next_starting.start() < next_ending.start()):
-                    offset += next_starting.end()
-                    text = text[next_starting.end():]
-                    depth += 1
-                else:
-                    offset += next_ending.end()
-                    text = text[next_ending.end():]
-                    depth -= 1
-            end = offset
-            return original_text[start:end], start, end
+
+        start = m.start()
+        offset = m.end()
+        original_text = text
+        text = text[m.end():]
+        # depth level of table nesting
+        depth = 1
+        while depth > 0:
+            next_starting = _marked_table_start_search(text)
+            next_ending = _marked_table_end_search(text)
+            if not next_ending:
+                pywikibot.output(
+                    'More opening than closing table tags. Skipping.')
+                return None, 0, 0
+
+            # if another table tag is opened before one is closed
+            if next_starting and next_starting.start() < next_ending.start():
+                offset += next_starting.end()
+                text = text[next_starting.end():]
+                depth += 1
+            else:
+                offset += next_ending.end()
+                text = text[next_ending.end():]
+                depth -= 1
+        end = offset
+        return original_text[start:end], start, end

     def convertAllHTMLTables(self, text):
         """
@@ -462,7 +456,7 @@
             new_table, table_warns_num, table_warns = self.convertTable(table)
             warning_sum += table_warns_num
             for msg in table_warns:
-                warning_messages += 'In table %i: %s' % (
+                warning_messages += 'In table {}: {}'.format(
                     converted_tables + 1, msg)
             text = text[:start] + new_table + text[end:]
             converted_tables += 1

--
To view, visit https://gerrit.wikimedia.org/r/c/pywikibot/core/+/627848
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.wikimedia.org/r/settings

Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: Iad9724a0d45c9f50c463d6ec332c8766f3442432
Gerrit-Change-Number: 627848
Gerrit-PatchSet: 3
Gerrit-Owner: Xqt <[email protected]>
Gerrit-Reviewer: D3r1ck01 <[email protected]>
Gerrit-Reviewer: Xqt <[email protected]>
Gerrit-Reviewer: jenkins-bot
Gerrit-MessageType: merged
_______________________________________________
Pywikibot-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/pywikibot-commits

Reply via email to