jenkins-bot has submitted this change. ( 
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/1107961?usp=email )

Change subject: [IMPR] Simplify colorTagR
......................................................................

[IMPR] Simplify colorTagR

only include the outer colorTagR regex group and hide the separate
groups fg_col and bg_col which were never used.

Use batched instead of text_parts slice to process a line.

Change-Id: Ie2bfec424af6360278cb41d7512638d5dd099caf
---
M pywikibot/userinterfaces/terminal_interface_base.py
1 file changed, 8 insertions(+), 11 deletions(-)

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




diff --git a/pywikibot/userinterfaces/terminal_interface_base.py 
b/pywikibot/userinterfaces/terminal_interface_base.py
index c3afee5..c3cc545 100644
--- a/pywikibot/userinterfaces/terminal_interface_base.py
+++ b/pywikibot/userinterfaces/terminal_interface_base.py
@@ -15,7 +15,7 @@

 import pywikibot
 from pywikibot import config
-from pywikibot.backports import Iterable, Sequence, removeprefix
+from pywikibot.backports import Iterable, Sequence, batched, removeprefix
 from pywikibot.bot_choice import (
     ChoiceException,
     Option,
@@ -53,7 +53,7 @@
 ]

 colorTagR = re.compile(
-    '<<((:?{0});?(:?{0})?)>>'.format('|'.join([*colors, 'previous'])))
+    '<<((?:{0})(?:;(?:{0}))?)>>'.format('|'.join([*colors, 'previous'])))


 class UI(ABUIC):
@@ -198,16 +198,13 @@
         # Add default before the last linefeed
         if text.endswith('\n'):
             text_parts[-1] = re.sub(r'\r?\n\Z', '', text_parts[-1])
-            text_parts.extend(('default', None, None,
-                               '\n', 'default', None, None))
-        else:
-            text_parts.append('default')
+            text_parts.extend(('default', '\n'))

-        # match.split() includes every regex group; for each matched color
-        # fg_col:b_col, fg_col and bg_col are added to the resulting list.
-        len_text_parts = len(text_parts[::4])
-        for index, (txt, next_color) in enumerate(zip(text_parts[::4],
-                                                      text_parts[1::4])):
+        text_parts.append('default')
+
+        len_text_parts = len(text_parts) // 2
+        for index, (txt, next_color) in enumerate(batched(text_parts, 2,
+                                                          strict=True)):
             current_color = color_stack[-1]
             if next_color == 'previous':
                 if len(color_stack) > 1:  # keep the last element in the stack

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

Gerrit-MessageType: merged
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: Ie2bfec424af6360278cb41d7512638d5dd099caf
Gerrit-Change-Number: 1107961
Gerrit-PatchSet: 3
Gerrit-Owner: Xqt <[email protected]>
Gerrit-Reviewer: Xqt <[email protected]>
Gerrit-Reviewer: jenkins-bot
_______________________________________________
Pywikibot-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to