Revision: 7128
Author:   siebrand
Date:     2009-08-07 17:15:59 +0000 (Fri, 07 Aug 2009)

Log Message:
-----------
* rename flags.py to more generic replace_with_dummy.py. Requires 
reconfiguration if you are using this (f.e. CommonsDelinker['plugins'] = 
['replace_with_dummy.DummyReplacement']
* add de.wikipedia to replace_with_dummy.py 
([[User:CommonsDelinker/DummyReplacements]])
* rename configuration page for nl.wp to 
[[User:CommonsDelinker/DummyReplacements]]
* change tags from "[begin|end]-flags" to "[begin|end]-flags"
* added configuration documentation in replace_with_dummy.py
* add svn keyword Id
* remove trailing whitespace

Modified Paths:
--------------
    trunk/pywikipedia/commonsdelinker/plugins/__init__.py
    trunk/pywikipedia/commonsdelinker/plugins/books.py
    trunk/pywikipedia/commonsdelinker/plugins/debug.py
    trunk/pywikipedia/commonsdelinker/plugins/skipped_pages.py

Added Paths:
-----------
    trunk/pywikipedia/commonsdelinker/plugins/replace_with_dummy.py

Removed Paths:
-------------
    trunk/pywikipedia/commonsdelinker/plugins/flags.py

Property Changed:
----------------
    trunk/pywikipedia/commonsdelinker/plugins/__init__.py
    trunk/pywikipedia/commonsdelinker/plugins/books.py
    trunk/pywikipedia/commonsdelinker/plugins/debug.py
    trunk/pywikipedia/commonsdelinker/plugins/skipped_pages.py

Modified: trunk/pywikipedia/commonsdelinker/plugins/__init__.py
===================================================================
--- trunk/pywikipedia/commonsdelinker/plugins/__init__.py       2009-08-07 
13:33:41 UTC (rev 7127)
+++ trunk/pywikipedia/commonsdelinker/plugins/__init__.py       2009-08-07 
17:15:59 UTC (rev 7128)
@@ -1 +1 @@
-__version__ = '$Id: $'
+__version__ = '$Id$'


Property changes on: trunk/pywikipedia/commonsdelinker/plugins/__init__.py
___________________________________________________________________
Added: svn:keywords
   + Id

Modified: trunk/pywikipedia/commonsdelinker/plugins/books.py
===================================================================
--- trunk/pywikipedia/commonsdelinker/plugins/books.py  2009-08-07 13:33:41 UTC 
(rev 7127)
+++ trunk/pywikipedia/commonsdelinker/plugins/books.py  2009-08-07 17:15:59 UTC 
(rev 7128)
@@ -1,4 +1,4 @@
-__version__ = '$Id: $'
+__version__ = '$Id$'
 
 import re
 


Property changes on: trunk/pywikipedia/commonsdelinker/plugins/books.py
___________________________________________________________________
Added: svn:keywords
   + Id

Modified: trunk/pywikipedia/commonsdelinker/plugins/debug.py
===================================================================
--- trunk/pywikipedia/commonsdelinker/plugins/debug.py  2009-08-07 13:33:41 UTC 
(rev 7127)
+++ trunk/pywikipedia/commonsdelinker/plugins/debug.py  2009-08-07 17:15:59 UTC 
(rev 7128)
@@ -1,5 +1,5 @@
 import difflib
-__version__ = '$Id: $'
+__version__ = '$Id$'
 
 class Diff(object):
     hook = 'before_save'
@@ -9,9 +9,9 @@
         diff = difflib.context_diff(
             text.encode('utf-8').splitlines(True),
             new_text.get().encode('utf-8').splitlines(True))
-            
+
         f = open((u'diff/%s-%s-%s.txt' % (page.urlname().replace('/', '-'),
             page.site().dbName(), page.editTime())).encode('utf-8', 'ignore'), 
'w')
-                        
+
         f.writelines(diff)
-        f.close()
\ No newline at end of file
+        f.close()


Property changes on: trunk/pywikipedia/commonsdelinker/plugins/debug.py
___________________________________________________________________
Added: svn:keywords
   + Id

Deleted: trunk/pywikipedia/commonsdelinker/plugins/flags.py
===================================================================
--- trunk/pywikipedia/commonsdelinker/plugins/flags.py  2009-08-07 13:33:41 UTC 
(rev 7127)
+++ trunk/pywikipedia/commonsdelinker/plugins/flags.py  2009-08-07 17:15:59 UTC 
(rev 7128)
@@ -1,32 +0,0 @@
-__version__ = '$Id: $'
-
-import re
-
-class NlWiki(object):
-    hook = 'gallery_replace'
-    def __init__(self, CommonsDelinker):
-        self.CommonsDelinker = CommonsDelinker
-    def __call__(self, page, summary, image, replacement, match, groups):
-        site = page.site()
-        if (site.lang, site.family.name) == ('nl', 'wikipedia') and 
replacement.get() is None:
-            commands = self.CommonsDelinker.SummaryCache.get(site, 'Vlaggen', 
default = '')
-            
-            flags = re.findall(r'(?s)\<\!\-\-begin\-flags 
(.*?)\-\-\>(.*?)\<\!\-\-end\-flags\-\-\>', commands)
-            text = page.get()
-            
-            namespace = site.namespace(14)
-            r_namespace = r'(?:[Cc]ategory)|(?:[%s%s]%s)' % \
-                (namespace[0], namespace[0].lower(), namespace[1:])
-                    
-            for new_image, categories in flags:
-                for category in categories.split('\n'):
-                    if category.strip() == '': continue
-                    
-                    r_cat = r'\[\[\s*%s\s*\:\s*%s\s*(?:\|.*?)?\s*\]\]' % 
(r_namespace, 
-                        re.sub(r'\\[ _]', '[ _]', re.escape(category.strip())))
-                    if re.search(r_cat, text):
-                        self.CommonsDelinker.output(
-                            u'%s %s replaced by %s in category %s' % \
-                            (self, image, new_image, category))
-                        replacement.set(new_image.replace(' ', '_'))
-            
\ No newline at end of file

Copied: trunk/pywikipedia/commonsdelinker/plugins/replace_with_dummy.py (from 
rev 7123, trunk/pywikipedia/commonsdelinker/plugins/flags.py)
===================================================================
--- trunk/pywikipedia/commonsdelinker/plugins/replace_with_dummy.py             
                (rev 0)
+++ trunk/pywikipedia/commonsdelinker/plugins/replace_with_dummy.py     
2009-08-07 17:15:59 UTC (rev 7128)
@@ -0,0 +1,62 @@
+__version__ = '$Id$'
+
+import re
+
+class DummyReplacement(object):
+    hook = 'gallery_replace'
+    def __init__(self, CommonsDelinker):
+        self.CommonsDelinker = CommonsDelinker
+    def __call__(self, page, summary, image, replacement, match, groups):
+        site = page.site()
+        if (site.lang, site.family.name) == ('nl', 'wikipedia') and 
replacement.get() is None:
+            # Do not delink from pages in categories mentioned in 
[[User:CommonsDelinker/DummyReplacements]]
+            # but replace the target file with another file (used in for 
example flag or coat of arms galleries).
+            # Format of the configuration page (see example on 
http://nl.wikipedia.org/wiki/Gebruiker:CommonsDelinker/DummyReplacements):
+            # <!--begin-dummyreplace Sin escudo.svg-->
+            # Amerikaans zegel
+            # <!--end-dummyreplace-->
+            # The above will not delink files in pages in the category 
"Amerikaans zegel" but replace
+            # them with the file "Sin escudo.svg"
+
+            commands = self.CommonsDelinker.SummaryCache.get(site, 
'DummyReplacements', default = '')
+
+            dummyreplacements = re.findall(r'(?s)\<\!\-\-begin\-dummyreplace 
(.*?)\-\-\>(.*?)\<\!\-\-end\-dummyreplace\-\-\>', commands)
+            text = page.get()
+
+            namespace = site.namespace(14)
+            r_namespace = r'(?:[Cc]ategory)|(?:[%s%s]%s)' % \
+                (namespace[0], namespace[0].lower(), namespace[1:])
+
+            for new_image, categories in dummyreplacements:
+                for category in categories.split('\n'):
+                    if category.strip() == '': continue
+
+                    r_cat = r'\[\[\s*%s\s*\:\s*%s\s*(?:\|.*?)?\s*\]\]' % 
(r_namespace,
+                        re.sub(r'\\[ _]', '[ _]', re.escape(category.strip())))
+                    if re.search(r_cat, text):
+                        self.CommonsDelinker.output(
+                            u'%s %s replaced by %s in category %s' % \
+                            (self, image, new_image, category))
+                        replacement.set(new_image.replace(' ', '_'))
+
+        if (site.lang, site.family.name) == ('de', 'wikipedia') and 
replacement.get() is None:
+            commands = self.CommonsDelinker.SummaryCache.get(site, 
'DummyReplacements', default = '')
+
+            dummyreplacements = re.findall(r'(?s)\<\!\-\-begin\-dummyreplace 
(.*?)\-\-\>(.*?)\<\!\-\-end\-dummyreplace\-\-\>', commands)
+            text = page.get()
+
+            namespace = site.namespace(14)
+            r_namespace = r'(?:[Cc]ategory)|(?:[%s%s]%s)' % \
+                (namespace[0], namespace[0].lower(), namespace[1:])
+
+            for new_image, categories in dummyreplacements:
+                for category in categories.split('\n'):
+                    if category.strip() == '': continue
+
+                    r_cat = r'\[\[\s*%s\s*\:\s*%s\s*(?:\|.*?)?\s*\]\]' % 
(r_namespace,
+                        re.sub(r'\\[ _]', '[ _]', re.escape(category.strip())))
+                    if re.search(r_cat, text):
+                        self.CommonsDelinker.output(
+                            u'%s %s replaced by %s in category %s' % \
+                            (self, image, new_image, category))
+                        replacement.set(new_image.replace(' ', '_'))


Property changes on: 
trunk/pywikipedia/commonsdelinker/plugins/replace_with_dummy.py
___________________________________________________________________
Added: svn:keywords
   + Id
Added: svn:eol-style
   + native

Modified: trunk/pywikipedia/commonsdelinker/plugins/skipped_pages.py
===================================================================
--- trunk/pywikipedia/commonsdelinker/plugins/skipped_pages.py  2009-08-07 
13:33:41 UTC (rev 7127)
+++ trunk/pywikipedia/commonsdelinker/plugins/skipped_pages.py  2009-08-07 
17:15:59 UTC (rev 7128)
@@ -1,4 +1,4 @@
-__version__ = '$Id: $'
+__version__ = '$Id$'
 
 class SkipPages(object):
     hook = 'before_save'
@@ -9,4 +9,4 @@
         if (site.lang, site.family.name) == ('en', 'wikipedia'):
             if page.title == 'Wikipedia:Sound/list':
                 return False
-        return True
\ No newline at end of file
+        return True


Property changes on: trunk/pywikipedia/commonsdelinker/plugins/skipped_pages.py
___________________________________________________________________
Added: svn:keywords
   + Id



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

Reply via email to