Changeset c0c32e7 in osmose-backend


Ignore:
Timestamp:
Jan 21, 2013 12:14:42 AM (7 years ago)
Author:
BlackMyst <black.myst@…>
Branches:
master
Children:
e63f31d
Parents:
8e58bf3
git-author:
BlackMyst <black.myst@…> (20/01/2013 02:23:35)
git-committer:
BlackMyst <black.myst@…> (21/01/2013 00:14:42)
Message:

Fix a bad correction suggestion with key 'wikipedia:lang=url' (and add new unit tests)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • plugins/TagFix_Wikipedia.py

    r7b8c839 rc0c32e7  
    3535 
    3636        import re 
    37         self.wiki_regexp = re.compile(u"(http://)?([^\.]+)\.wikipedia.+/wiki/(.+)") 
     37        self.wiki_regexp = re.compile(u"(https?://)?([^\.]+)\.wikipedia.+/wiki/(.+)") 
    3838        self.lang_regexp = re.compile(u"[-a-z]+:.*") 
    3939        self.lang = ["en", "de", "fr", "nl", "it", "es", "pl", "ru", "ja", "pt", "zh", "sv", "vi", "uk", "ca", "no", "fi", "cs", "fa", "hu", "ko", "ro", "id", "ar", "tr", "kk", "sk", "eo", "da", "sr", "lt", "eu", "ms", "he", "bg", "sl", "vo", "hr", "war", "hi", "et"] 
     
    5050        if wikipediaTag in tags: 
    5151            m = self.wiki_regexp.match(tags[wikipediaTag]) 
    52             if tags[wikipediaTag].startswith("http://") and not m: 
     52            if (tags[wikipediaTag].startswith("http://") or tags[wikipediaTag].startswith("https://")) and not m: 
    5353                # tag 'wikipedia' starts with 'http://' but it's not a wikipedia url 
    5454                return [(30310, 0, {})] 
     
    7575                    m = self.wiki_regexp.match(tags[tag]) 
    7676                    if m: 
    77                         value = self.human_readable(m.group(2)) 
     77                        value = self.human_readable(m.group(3)) 
    7878                    else: 
    7979                        value = self.human_readable(tags[tag]) 
     
    128128    check( { "wikipedia": "http://fr.wikipedia.org/wiki/Tour_Eiffel"}, 
    129129        has_error = "Use Wikipedia title instead of an url", 
    130         fix = { "wikipedia": u"fr:Tour Eiffel"})         
     130        fix = { "wikipedia": u"fr:Tour Eiffel"}) 
     131     
     132    check( { "wikipedia": "https://fr.wikipedia.org/wiki/Tour_Eiffel"}, 
     133        has_error = "Use Wikipedia title instead of an url", 
     134        fix = { "wikipedia": u"fr:Tour Eiffel"}) 
    131135     
    132136    check( { "wikipedia": "fr.wikipedia.org/wiki/Tour_Eiffel"}, 
     
    139143        fix = {'+': {'wikipedia': u'fr:Tour Eiffel'}, '-': ['wikipedia:fr']}) 
    140144     
     145    check( { "wikipedia:fr": "http://fr.wikipedia.org/wiki/Tour_Eiffel"}, 
     146        has_error = u"Missing primary Wikipedia tag", 
     147        fix = {'+': {'wikipedia': u'fr:Tour Eiffel'}, '-': ['wikipedia:fr']}) 
     148         
     149    check( { "wikipedia:fr": "fr.wikipedia.org/wiki/Tour_Eiffel"}, 
     150        has_error = u"Missing primary Wikipedia tag", 
     151        fix = {'+': {'wikipedia': u'fr:Tour Eiffel'}, '-': ['wikipedia:fr']}) 
     152      
    141153    # Missing lang in value 
    142154    check( { "wikipedia": "Tour Eiffel"}, 
     
    147159        has_error = u"Use human Wikipedia page title", 
    148160        fix = { "wikipedia": u"fr:Tour Eiffel"}) 
    149      
     161         
     162    check( { "wikipedia": u"fr:Château_de_Gruyères_(Ardennes)"}, 
     163        has_error = u"Use human Wikipedia page title", 
     164        fix = { "wikipedia": u"fr:Château de Gruyères (Ardennes)"}) 
    150165     
    151166    check( { "name" : "Rue Jules Verne", 
Note: See TracChangeset for help on using the changeset viewer.