From: Jan Nieuwenhuizen Date: Mon, 12 Apr 2010 18:46:30 +0000 (+0200) Subject: translation-status.py: Use factory for [Un]TranslatedTely. X-Git-Tag: release/2.13.18-1~15^2~24 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=19fe8463d4ce81ea1c11c2cf0b65e4bc4151c527;p=lilypond.git translation-status.py: Use factory for [Un]TranslatedTely. This enables creation of Top/Included tely polymorphy. --- diff --git a/scripts/auxiliar/translations-status.py b/scripts/auxiliar/translations-status.py index 4cf7d9ddbd..3469c65f35 100755 --- a/scripts/auxiliar/translations-status.py +++ b/scripts/auxiliar/translations-status.py @@ -456,18 +456,12 @@ class MasterTelyDocument (TelyDocument): if not self.language or self.language == 'en': languages = [x for x in parent_translations.keys () if x != 'en'] for lang in languages: - if os.path.exists (translations[lang]): - found[lang] = True - self.translations[lang] = TranslatedTelyDocument (translations[lang], - self, - parent_translations.get (lang)) - else: - self.translations[lang] = UntranslatedTelyDocument (translations[lang], - self, - parent_translations.get (lang)) + self.translations[lang] = self.translated_factory (translations[lang], + parent_translations.get (lang)) + found[lang] = not isinstance (self.translations[lang], UntranslatedTelyDocument) if self.top: for lang in [x for x in langdefs.LANGDICT if x and x != 'en']: - if not found.has_key (lang): + if not found.get (lang, False): del self.translations[lang] if self.translations: @@ -476,6 +470,12 @@ class MasterTelyDocument (TelyDocument): else: self.includes = [] + def translated_factory (self, filename, parent): + if os.path.exists (filename): + return TranslatedTelyDocument (filename, self, parent) + else: + return UntranslatedTelyDocument (filename, self, parent) + def update_word_counts (self, s): s = update_word_count (s, self.filename, sum (self.word_count)) for i in self.includes: