User:WindBOT/Filters: Difference between revisions

Jump to navigation Jump to search
mNo edit summary
Line 116: Line 116:
                 'name': 'price',
                 'name': 'price',
                 'sync': 'Template:Dictionary/price/Special:SyncData',
                 'sync': 'Template:Dictionary/price/Special:SyncData',
                 'allTemplate': {
                 'allTemplate': <nowiki>'{{{{{template|item price/fmt}}}|%options%|tt={{{tt|yes}}}}}'</nowiki>
                    'template': 'item price/fmt',
                    'params': {
                        'tt': <nowiki>'{{{tt|yes}}}'</nowiki>
                    }
                }
             },
             },
             u'Template:Dictionary/mechanics': {
             u'Template:Dictionary/mechanics': {
Line 158: Line 153:
         self.subpageSeparator = u'/'
         self.subpageSeparator = u'/'
         # List of supported languages, in prefered order
         # List of supported languages, in prefered order
         self.languages = [u'en', u'ar', u'cs', u'da', u'de', u'es', u'fi', u'fr', u'hu', u'it', u'ja', u'ko', u'nl', u'no', u'pl', u'pt', u'pt-br', u'ro', u'ru', u'sv', u'zh-hans', u'zh-hant']
         self.languages = [u'en', u'ar', u'cs', u'da', u'de', u'es', u'fi', u'fr', u'hu', u'it', u'ja', u'ko', u'nl', u'no', u'pl', u'pt', u'pt-br', u'ro', u'ru', u'sv', u'tr', u'zh-hans', u'zh-hant']
         self.defaultLang = u'en'
         self.defaultLang = u'en'
         self.allKeyName = u'_all_'
         self.allKeyName = u'_all_'
Line 173: Line 168:
             subpage = u(self.subpageTemplateLang)
             subpage = u(self.subpageTemplateLang)
             for k in data:
             for k in data:
                 if k not in self.languages:
                 if 'blankString' in self.dictionaries[currentDict] and data[k] == self.dictionaries[currentDict]['blankString']:
                    data[k] = u''
                if isTranslation and k not in self.languages:
                     isTranslation = False
                     isTranslation = False
                     subpage = u(self.subpageTemplateParam)
                     subpage = u(self.subpageTemplateParam)
                    break
             ordered = []
             ordered = []
             unordered = {}
             unordered = {}
Line 209: Line 205:
                 for k in keys:
                 for k in keys:
                     allKey.append(k + u'=' + unordered[k])
                     allKey.append(k + u'=' + unordered[k])
                for p in self.dictionaries[currentDict]['allTemplate']['params']:
                    allKey.append(u(p) + u'=' + u(self.dictionaries[currentDict]['allTemplate']['params'][p]))
                 insertIndex = 0
                 insertIndex = 0
                 if isTranslation and self.defaultLang in data:
                 if isTranslation and self.defaultLang in data:
                     insertIndex = 1
                     insertIndex = 1
                 ordered.insert(insertIndex, u(self.allKeyName) + u'={{' + u(self.dictionaries[currentDict]['allTemplate']['template']) + u'|' + u'|'.join(allKey) + u'}}')
                 ordered.insert(insertIndex, u(self.allKeyName) + u'=' + u(self.dictionaries[currentDict]['allTemplate'].replace(u'%options%', u'|'.join(allKey))))
             subpage = subpage.replace(u'%options%', u'|'.join(ordered))
             subpage = subpage.replace(u'%options%', u'|'.join(ordered))
         else: # No subkeys
         else: # No subkeys