Dalba has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/404904 )

Change subject: texlib.py: Revert 097245e7e347, improve docstirngs and variable 
names
......................................................................

texlib.py: Revert 097245e7e347, improve docstirngs and variable names

- improve docstrings

replaceLanguageLinks:
- Revert 097245e7e347. It's not needed anymore because after
  9c1ed96db3f05ecf0ce700edfd13eda4bb7ba128 the trailing whitespace is
  ignored by userPut method.

replaceCategoryLinks:
- Rename s to new_cats. It's a string containing new categories.
- Rename s2 to cats_removed_text. It's the result of calling
  removeCategoryLinksAndSeparator on oldtext.

Bug: T184886
Change-Id: I652d852aff968374c9f00025dbc55255602e3180
---
M pywikibot/textlib.py
1 file changed, 76 insertions(+), 40 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/pywikibot/core 
refs/changes/04/404904/1

diff --git a/pywikibot/textlib.py b/pywikibot/textlib.py
index 92dae16..b45b499 100644
--- a/pywikibot/textlib.py
+++ b/pywikibot/textlib.py
@@ -879,10 +879,16 @@
     """Return text with all inter-language links removed.
 
     If a link to an unknown language is encountered, a warning is printed.
-    If a marker is defined, that string is placed at the location of the
-    last occurrence of an interwiki link (at the end if there are no
-    interwiki links).
 
+    @param text: The text that needs to be modified.
+    @type text: str
+    @param site: The site that the text is coming from.
+    @type site: pywikibot.Site
+    @param marker: If defined, marker is placed after the the last language
+        link, or at the end of text if there are no language links.
+    @type marker: str
+    @return: The modified text.
+    @rtype: str
     """
     if site is None:
         site = pywikibot.Site()
@@ -906,10 +912,19 @@
     Return text with inter-language links and preceding separators removed.
 
     If a link to an unknown language is encountered, a warning is printed.
-    If a marker is defined, that string is placed at the location of the
-    last occurrence of an interwiki link (at the end if there are no
-    interwiki links).
 
+    @param text: The text that needs to be modified.
+    @type text: str
+    @param site: The site that the text is coming from.
+    @type site: pywikibot.Site
+    @param marker: If defined, marker is placed after the the last interwiki
+        link, or at the end of text if there are no interwiki links.
+    @type marker: str
+    @param separator: The separator string that will be removed if is followed
+        by the language links.
+    @type separator: str
+    @return: The modified text
+    @rtype: str
     """
     if separator:
         mymarker = findmarker(text, u'@L@')
@@ -924,9 +939,24 @@
                          template=False, template_subpage=False):
     """Replace inter-language links in the text with a new set of links.
 
-    'new' should be a dict with the Site objects as keys, and Page or Link
-    objects as values (i.e., just like the dict returned by getLanguageLinks
-    function).
+    @param oldtext: The text that needs to be modified.
+    @type oldtext: str
+    @param new: A dict with the Site objects as keys, and Page or Link objects
+        as values (i.e., just like the dict returned by getLanguageLinks
+        function).
+    @type new: dict
+    @param site: The site that the text is from.
+    @type site: pywikibot.Site
+    @param addOnly: If True, do not remove old language links, only add new
+        ones.
+    @type addOnly: bool
+    @param template: Indicates if text belongs to a template page or not.
+    @type template: bool
+    @param template_subpage: Indicates if text belongs to a template sub-page
+        or not.
+    @type template_subpage: bool
+    @return The modified text.
+    @rtype str
     """
     # Find a marker that is not already in the text.
     marker = findmarker(oldtext)
@@ -936,9 +966,6 @@
     cseparator = site.family.category_text_separator
     separatorstripped = separator.strip()
     cseparatorstripped = cseparator.strip()
-    do_not_strip = oldtext.strip() != oldtext
-    if do_not_strip:
-        issue_deprecation_warning('Using unstripped text', 'stripped text', 2)
     if addOnly:
         s2 = oldtext
     else:
@@ -1006,7 +1033,7 @@
                     newtext = s2.replace(marker, '').strip() + separator + s
     else:
         newtext = s2.replace(marker, '')
-    return newtext if do_not_strip else newtext.strip()
+    return newtext
 
 
 def interwikiFormat(links, insite=None):
@@ -1221,10 +1248,17 @@
     Replace all existing category links with new category links.
 
     @param oldtext: The text that needs to be replaced.
+    @type oldtext: str
     @param new: Should be a list of Category objects or strings
         which can be either the raw name or [[Category:..]].
+    @type new: iterable
+    @param site: The site that the text is from.
+    @type site: pywikibot.Site
     @param addOnly: If addOnly is True, the old category won't be deleted and 
the
         category(s) given will be added (and so they won't replace anything).
+    @type addOnly: bool
+    @return: The modified text.
+    @rtype: str
     """
     # Find a marker that is not already in the text.
     marker = findmarker(oldtext)
@@ -1242,52 +1276,54 @@
     separatorstripped = separator.strip()
     iseparatorstripped = iseparator.strip()
     if addOnly:
-        s2 = oldtext
+        cats_removed_text = oldtext
     else:
-        s2 = removeCategoryLinksAndSeparator(oldtext, site=site, marker=marker,
-                                             separator=separatorstripped)
-    s = categoryFormat(new, insite=site)
-    if s:
+        cats_removed_text = removeCategoryLinksAndSeparator(
+            oldtext, site=site, marker=marker, separator=separatorstripped)
+    new_cats = categoryFormat(new, insite=site)
+    if new_cats:
         if site.code in site.family.category_attop:
-            newtext = s + separator + s2
+            newtext = new_cats + separator + cats_removed_text
         else:
             # calculate what was after the categories links on the page
-            firstafter = s2.find(marker)
+            firstafter = cats_removed_text.find(marker)
             if firstafter < 0:
-                firstafter = len(s2)
+                firstafter = len(cats_removed_text)
             else:
                 firstafter += len(marker)
             # Is there text in the 'after' part that means we should keep it
             # after?
-            if "</noinclude>" in s2[firstafter:]:
+            if "</noinclude>" in cats_removed_text[firstafter:]:
                 if separatorstripped:
-                    s = separator + s
-                newtext = (s2[:firstafter].replace(marker, '') +
-                           s +
-                           s2[firstafter:])
+                    new_cats = separator + new_cats
+                newtext = (cats_removed_text[:firstafter].replace(marker, '')
+                           + new_cats + cats_removed_text[firstafter:])
             elif site.code in site.family.categories_last:
-                newtext = s2.replace(marker, '').strip() + separator + s
+                newtext = (cats_removed_text.replace(marker, '').strip()
+                           + separator + new_cats)
             else:
-                interwiki = getLanguageLinks(s2, insite=site)
-                s2 = removeLanguageLinksAndSeparator(s2.replace(marker, ''),
-                                                     site, '',
-                                                     iseparatorstripped
-                                                     ) + separator + s
-                newtext = replaceLanguageLinks(s2, interwiki, site=site,
-                                               addOnly=True)
+                interwiki = getLanguageLinks(cats_removed_text, insite=site)
+                langs_removed_text = removeLanguageLinksAndSeparator(
+                    cats_removed_text.replace(marker, ''), site, '',
+                    iseparatorstripped) + separator + new_cats
+                newtext = replaceLanguageLinks(
+                    langs_removed_text, interwiki, site, addOnly=True)
     else:
-        newtext = s2.replace(marker, '')
+        newtext = cats_removed_text.replace(marker, '')
     return newtext.strip()
 
 
 def categoryFormat(categories, insite=None):
     """Return a string containing links to all categories in a list.
 
-    'categories' should be a list of Category or Page objects or strings
-    which can be either the raw name, [[Category:..]] or 
[[cat_localised_ns:...]].
-
-    The string is formatted for inclusion in insite.
-    Category namespace is converted to localised namespace.
+    @param categories: A list of Category or Page objects or strings which can
+        be either the raw name, [[Category:..]] or [[cat_localised_ns:...]].
+    @type categories: iterable
+    @param insite: Used to format the the result for inclusion. Category
+        namespace is converted to localised namespace.
+    @type insite: pywikibot.Site
+    @return: String of categories
+    @rtype: str
     """
     if not categories:
         return ''

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I652d852aff968374c9f00025dbc55255602e3180
Gerrit-PatchSet: 1
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: Dalba <dalba.w...@gmail.com>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to