Revision: 7562
Author:   xqt
Date:     2009-10-29 12:12:59 +0000 (Thu, 29 Oct 2009)

Log Message:
-----------
cleanUpLinks: no leading space on new lines

Modified Paths:
--------------
    trunk/pywikipedia/cosmetic_changes.py

Modified: trunk/pywikipedia/cosmetic_changes.py
===================================================================
--- trunk/pywikipedia/cosmetic_changes.py       2009-10-29 09:10:59 UTC (rev 
7561)
+++ trunk/pywikipedia/cosmetic_changes.py       2009-10-29 12:12:59 UTC (rev 
7562)
@@ -165,7 +165,8 @@
         self.redirect = redirect
         self.namespace = namespace
         self.template = (self.namespace == 10)
-
+        self.talkpage = self.namespace >= 0 and self.namespace % 2 == 1
+        
     def change(self, text):
         """
         Given a wiki source code text, returns the cleaned up version.
@@ -206,7 +207,7 @@
         Makes sure that interwiki links are put to the correct position and
         into the right order.
         """
-        if pywikibot.calledModuleName() <> 'interwiki':
+        if not self.talkpage and pywikibot.calledModuleName() <> 'interwiki':
             interwikiLinks = pywikibot.getLanguageLinks(text, insite = 
self.site)
             text = pywikibot.replaceLanguageLinks(text, interwikiLinks, site = 
self.site, template = self.template)
         return text
@@ -253,6 +254,7 @@
             titleWithSection = match.group('titleWithSection')
             label = match.group('label')
             trailingChars = match.group('linktrail')
+            newline = match.group('newline')
 
             if not self.site.isInterwikiLink(titleWithSection):
                 # The link looks like this:
@@ -331,7 +333,7 @@
                     #   text[[ title | name ]]text -> text [[title|name]] text
                     #   text[[ title |name]]text   -> text[[title|name]]text
                     #   text[[title| name]]text    -> text [[title|name]]text
-                    if hadLeadingSpaces:
+                    if hadLeadingSpaces and not newline:
                         newLink = ' ' + newLink
                     if hadTrailingSpaces:
                         newLink = newLink + ' '
@@ -346,7 +348,7 @@
         # group label is the alternative link title, that's everything between 
| and ].
         # group linktrail is the link trail, that's letters after ]] which are 
part of the word.
         # note that the definition of 'letter' varies from language to 
language.
-        linkR = 
re.compile(r'\[\[(?P<titleWithSection>[^\]\|]+)(\|(?P<label>[^\]\|]*))?\]\](?P<linktrail>'
 + self.site.linktrail() + ')')
+        linkR = 
re.compile(r'(?P<newline>[\n]*)\[\[(?P<titleWithSection>[^\]\|]+)(\|(?P<label>[^\]\|]*))?\]\](?P<linktrail>'
 + self.site.linktrail() + ')')
 
         text = pywikibot.replaceExcept(text, linkR, handleOneLink, ['comment', 
'math', 'nowiki', 'pre', 'startspace'])
         return text



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

Reply via email to