]> git.donarmstrong.com Git - lilypond.git/commitdiff
translation-status.py: Use factory for [Un]TranslatedTely.
authorJan Nieuwenhuizen <janneke@gnu.org>
Mon, 12 Apr 2010 18:46:30 +0000 (20:46 +0200)
committerJan Nieuwenhuizen <janneke@gnu.org>
Mon, 12 Apr 2010 23:46:36 +0000 (01:46 +0200)
This enables creation of Top/Included tely polymorphy.

scripts/auxiliar/translations-status.py

index 4cf7d9ddbd582b0cc231153a87852fc4dc800443..3469c65f35ca593845d4a785413537b5295e5f2f 100755 (executable)
@@ -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: