def way(self, data, tags, nds): capture_tags = {} keys = tags.keys() err = [] # *[name=~/ي/][language("fa")] # *[name:fa=~/ي/] if (u'name' in keys) or (u'name:fa' in keys): match = False if not match: capture_tags = {} try: match = (mapcss.regexp_test(mapcss._value_capture(capture_tags, 0, self.re_5eeade1c), mapcss._tag_capture(capture_tags, 0, tags, u'name')) and mapcss.language(self.father.config.options, u'fa')) except mapcss.RuleAbort: pass if not match: capture_tags = {} try: match = (mapcss.regexp_test(mapcss._value_capture(capture_tags, 0, self.re_5eeade1c), mapcss._tag_capture(capture_tags, 0, tags, u'name:fa'))) except mapcss.RuleAbort: pass if match: # group:tr("Arabic letter detected in Farsi name") # -osmoseItemClassLevel:"5010/50109001:0/2" # throwError:tr("In Farsi, the Arabic letter '{0}' should be replaced by '{1}'","ي","ی") # fixAdd:concat("{0.key}=",replace("{0.value}","ي","ی")) err.append({'class': 50109001, 'subclass': 0, 'text': mapcss.tr(u'In Farsi, the Arabic letter \'{0}\' should be replaced by \'{1}\'', u'ي', u'ی'), 'allow_fix_override': True, 'fix': { '+': dict([ (mapcss.concat(mapcss._tag_uncapture(capture_tags, u'{0.key}='), mapcss.replace(mapcss._tag_uncapture(capture_tags, u'{0.value}'), u'ي', u'ی'))).split('=', 1)]) }}) # *[name=~/ك/][language("fa")] # *[name:fa=~/ك/] if (u'name' in keys) or (u'name:fa' in keys): match = False if not match: capture_tags = {} try: match = (mapcss.regexp_test(mapcss._value_capture(capture_tags, 0, self.re_4234bf3b), mapcss._tag_capture(capture_tags, 0, tags, u'name')) and mapcss.language(self.father.config.options, u'fa')) except mapcss.RuleAbort: pass if not match: capture_tags = {} try: match = (mapcss.regexp_test(mapcss._value_capture(capture_tags, 0, self.re_4234bf3b), mapcss._tag_capture(capture_tags, 0, tags, u'name:fa'))) except mapcss.RuleAbort: pass if match: # group:tr("Arabic letter detected in Farsi name") # -osmoseItemClassLevel:"5010/50109001:1/2" # throwError:tr("In Farsi, the Arabic letter '{0}' should be replaced by '{1}'","ك","ک") # fixAdd:concat("{0.key}=",replace("{0.value}","ك","ک")) err.append({'class': 50109001, 'subclass': 1, 'text': mapcss.tr(u'In Farsi, the Arabic letter \'{0}\' should be replaced by \'{1}\'', u'ك', u'ک'), 'allow_fix_override': True, 'fix': { '+': dict([ (mapcss.concat(mapcss._tag_uncapture(capture_tags, u'{0.key}='), mapcss.replace(mapcss._tag_uncapture(capture_tags, u'{0.value}'), u'ك', u'ک'))).split('=', 1)]) }}) return err
def way(self, data, tags, nds): capture_tags = {} keys = tags.keys() err = [] # *[name=~/ي/][language("fa")] # *[name:fa=~/ي/] if (u'name' in keys) or (u'name:fa' in keys): match = False if not match: capture_tags = {} try: match = (mapcss.regexp_test(mapcss._value_capture(capture_tags, 0, self.re_5eeade1c), mapcss._tag_capture(capture_tags, 0, tags, u'name')) and mapcss.language(self.father.config.options, u'fa')) except mapcss.RuleAbort: pass if not match: capture_tags = {} try: match = (mapcss.regexp_test(mapcss._value_capture(capture_tags, 0, self.re_5eeade1c), mapcss._tag_capture(capture_tags, 0, tags, u'name:fa'))) except mapcss.RuleAbort: pass if match: # group:tr("Arabic letter detected in Farsi name") # -osmoseItemClassLevel:"5010/50109001/2" # throwError:tr("In Farsi, the Arabic letter '{0}' should be replaced by '{1}'","ي","ی") # fixAdd:concat("{0.key}=",replace("{0.value}","ي","ی")) # -osmoseAssertMatchWithContext:list('node name="روابط عمومي مجتمع مس شهربابك"','language=fa') # assertMatch:'node name:fa="روابط عمومي مجتمع مس شهربابك"' # assertNoMatch:'node name="روابط عمومي مجتمع مس شهربابك"' err.append({'class': 50109001, 'subclass': 0, 'text': mapcss.tr(u'In Farsi, the Arabic letter \'{0}\' should be replaced by \'{1}\'', u'ي', u'ی'), 'allow_fix_override': True, 'fix': { '+': dict([ (mapcss.concat(mapcss._tag_uncapture(capture_tags, u'{0.key}='), mapcss.replace(mapcss._tag_uncapture(capture_tags, u'{0.value}'), u'ي', u'ی'))).split('=', 1)]) }}) # *[name=~/ك/][language("fa")] # *[name:fa=~/ك/] if (u'name' in keys) or (u'name:fa' in keys): match = False if not match: capture_tags = {} try: match = (mapcss.regexp_test(mapcss._value_capture(capture_tags, 0, self.re_4234bf3b), mapcss._tag_capture(capture_tags, 0, tags, u'name')) and mapcss.language(self.father.config.options, u'fa')) except mapcss.RuleAbort: pass if not match: capture_tags = {} try: match = (mapcss.regexp_test(mapcss._value_capture(capture_tags, 0, self.re_4234bf3b), mapcss._tag_capture(capture_tags, 0, tags, u'name:fa'))) except mapcss.RuleAbort: pass if match: # group:tr("Arabic letter detected in Farsi name") # -osmoseItemClassLevel:"5010/50109001/2" # throwError:tr("In Farsi, the Arabic letter '{0}' should be replaced by '{1}'","ك","ک") # fixAdd:concat("{0.key}=",replace("{0.value}","ك","ک")) # -osmoseAssertMatchWithContext:list('node name="روابط عمومي مجتمع مس شهربابك"','language=fa') # assertMatch:'node name:fa="روابط عمومي مجتمع مس شهربابك"' # assertNoMatch:'node name="روابط عمومي مجتمع مس شهربابك"' err.append({'class': 50109001, 'subclass': 0, 'text': mapcss.tr(u'In Farsi, the Arabic letter \'{0}\' should be replaced by \'{1}\'', u'ك', u'ک'), 'allow_fix_override': True, 'fix': { '+': dict([ (mapcss.concat(mapcss._tag_uncapture(capture_tags, u'{0.key}='), mapcss.replace(mapcss._tag_uncapture(capture_tags, u'{0.value}'), u'ك', u'ک'))).split('=', 1)]) }}) return err