Changeset 69b4ed7 in osmose-backend


Ignore:
Timestamp:
Jan 21, 2013 10:55:56 PM (7 years ago)
Author:
Jocelyn Jaubert <jocelyn.jaubert@…>
Branches:
master
Children:
e00d14f
Parents:
8e58bf3 (diff), 5c6c2f8 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge remote-tracking branch 'blackmyst/master'

File:
1 edited

Legend:

Unmodified
Added
Removed
  • plugins/TagFix_Wikipedia.py

    r7b8c839 r5c6c2f8  
    2727    def init(self, logger): 
    2828        Plugin.init(self, logger) 
    29         self.errors[30310] = { "item": 3031, "level": 2, "tag": ["value", "wikipedia"], "desc": {"en": u"Not a Wikipedia URL"} } 
    30         self.errors[30311] = { "item": 3031, "level": 2, "tag": ["value", "wikipedia"], "desc": {"en": u"Use Wikipedia title instead of an url"} } 
    31         self.errors[30312] = { "item": 3031, "level": 2, "tag": ["value", "wikipedia"], "desc": {"en": u"Missing Wikipedia language before article title"} } 
    32         self.errors[30313] = { "item": 3031, "level": 2, "tag": ["value", "wikipedia"], "desc": {"en": u"Use human Wikipedia page title"} } 
    33         self.errors[30314] = { "item": 3031, "level": 2, "tag": ["value", "wikipedia"], "desc": {"en": u"Missing primary Wikipedia tag"} } 
    34         self.errors[30315] = { "item": 3031, "level": 2, "tag": ["value", "wikipedia"], "desc": {"en": u"Invalid wikipedia sufix"} } 
     29        self.errors[30310] = { "item": 3031, "level": 2, "tag": ["value", "wikipedia"], "desc": {"en": u"Not a Wikipedia URL", "fr": u"L'URL n'appartient pas au domaine wikipedia."} } 
     30        self.errors[30311] = { "item": 3031, "level": 2, "tag": ["value", "wikipedia"], "desc": {"en": u"Use Wikipedia title instead of an url", "fr": u"Utilisez le titre de l'article plutôt que l'URL"} } 
     31        self.errors[30312] = { "item": 3031, "level": 2, "tag": ["value", "wikipedia"], "desc": {"en": u"Missing Wikipedia language before article title", "fr": u"Le nom de l'article wikipedia doit-être prefixé par un code langue ('fr:' par exemple)"} } 
     32        self.errors[30313] = { "item": 3031, "level": 2, "tag": ["value", "wikipedia"], "desc": {"en": u"Use human Wikipedia page title"}, "fr": u"Utilisez le nom tel qu'il apparait dans l'article, et non telqu'il apparait dans l'URL de la page" } 
     33        self.errors[30314] = { "item": 3031, "level": 2, "tag": ["value", "wikipedia"], "desc": {"en": u"Missing primary Wikipedia tag", "fr": u"Un tag 'wikipedia' doit être présent avant d'utiliser des tags 'wikipedia:LANG'"} } 
     34        self.errors[30315] = { "item": 3031, "level": 2, "tag": ["value", "wikipedia"], "desc": {"en": u"Invalid wikipedia sufix", "fr": u"Utilisation incorrect d'un tag 'wikipedia:xxx', xxx devrait être un autre attribut ou un code langue"} } 
    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)) 
     78                    elif tags[tag].startswith(sufix+":"): 
     79                        value = tags[tag][len(sufix)+1:] 
    7880                    else: 
    7981                        value = self.human_readable(tags[tag]) 
     
    128130    check( { "wikipedia": "http://fr.wikipedia.org/wiki/Tour_Eiffel"}, 
    129131        has_error = "Use Wikipedia title instead of an url", 
    130         fix = { "wikipedia": u"fr:Tour Eiffel"})         
     132        fix = { "wikipedia": u"fr:Tour Eiffel"}) 
     133     
     134    check( { "wikipedia": "https://fr.wikipedia.org/wiki/Tour_Eiffel"}, 
     135        has_error = "Use Wikipedia title instead of an url", 
     136        fix = { "wikipedia": u"fr:Tour Eiffel"}) 
    131137     
    132138    check( { "wikipedia": "fr.wikipedia.org/wiki/Tour_Eiffel"}, 
     
    139145        fix = {'+': {'wikipedia': u'fr:Tour Eiffel'}, '-': ['wikipedia:fr']}) 
    140146     
     147    check( {"wikipedia:fr" : u"fr:Tour Eiffel"}, 
     148        has_error = u"Missing primary Wikipedia tag", 
     149        fix = {'+': {'wikipedia': u'fr:Tour Eiffel'}, '-': ['wikipedia:fr']}) 
     150     
     151    check( { "wikipedia:fr": "http://fr.wikipedia.org/wiki/Tour_Eiffel"}, 
     152        has_error = u"Missing primary Wikipedia tag", 
     153        fix = {'+': {'wikipedia': u'fr:Tour Eiffel'}, '-': ['wikipedia:fr']}) 
     154         
     155    check( { "wikipedia:fr": "fr.wikipedia.org/wiki/Tour_Eiffel"}, 
     156        has_error = u"Missing primary Wikipedia tag", 
     157        fix = {'+': {'wikipedia': u'fr:Tour Eiffel'}, '-': ['wikipedia:fr']}) 
     158      
    141159    # Missing lang in value 
    142160    check( { "wikipedia": "Tour Eiffel"}, 
     
    147165        has_error = u"Use human Wikipedia page title", 
    148166        fix = { "wikipedia": u"fr:Tour Eiffel"}) 
    149      
     167         
     168    check( { "wikipedia": u"fr:Château_de_Gruyères_(Ardennes)"}, 
     169        has_error = u"Use human Wikipedia page title", 
     170        fix = { "wikipedia": u"fr:Château de Gruyères (Ardennes)"}) 
    150171     
    151172    check( { "name" : "Rue Jules Verne", 
Note: See TracChangeset for help on using the changeset viewer.