ProjectPyramid/Project.py

changeset 88
464745dfb03a
parent 83
f4d68a4248db
child 91
893e1f0baf23
diff -r 673b87093f94 -r 464745dfb03a ProjectPyramid/Project.py
--- a/ProjectPyramid/Project.py	Sun Jul 10 12:29:06 2016 +0200
+++ b/ProjectPyramid/Project.py	Mon Aug 15 19:34:33 2016 +0200
@@ -931,7 +931,11 @@
             self.tr('&Current Pyramid Project ({0})').format(curProject))
         
         if self.__currentProject is None:
-            self.__e5project.pdata["TRANSLATIONPATTERN"] = []
+            try:
+                self.__e5project.setTranslationPattern("")
+            except AttributeError:
+                # backward compatibility
+                self.__e5project.pdata["TRANSLATIONPATTERN"] = []
         else:
             lowerProject = self.__project().lower()
             config = configparser.ConfigParser()
@@ -944,10 +948,17 @@
                 domain = config.get("init_catalog", "domain")
             except (configparser.NoOptionError, configparser.NoSectionError):
                 domain = lowerProject
-            self.__e5project.pdata["TRANSLATIONPATTERN"] = [
-                os.path.join(project, outputDir, "%language%",
-                             "LC_MESSAGES", "{0}.po".format(domain))
-            ]
+            try:
+                self.__e5project.setTranslationPattern(
+                    os.path.join(project, outputDir, "%language%",
+                                 "LC_MESSAGES", "{0}.po".format(domain))
+                )
+            except AttributeError:
+                # backward compatibility
+                self.__e5project.pdata["TRANSLATIONPATTERN"] = [
+                    os.path.join(project, outputDir, "%language%",
+                                 "LC_MESSAGES", "{0}.po".format(domain))
+                ]
         
         if self.__currentProject is None:
             self.initializeDbAct.setEnabled(False)
@@ -1334,11 +1345,11 @@
         @param filename name of the file used for extraction (string)
         @return extracted locale (string) or None
         """
-        if self.__e5project.pdata["TRANSLATIONPATTERN"]:
+        if self.__e5project.getTranslationPattern():
             # On Windows, path typically contains backslashes. This leads
             # to an invalid seach pattern '...\(' because the opening bracked
             # will be escaped.
-            pattern = self.__e5project.pdata["TRANSLATIONPATTERN"][0]
+            pattern = self.__e5project.getTranslationPattern()
             pattern = os.path.normpath(pattern)
             pattern = pattern.replace("%language%", "(.*?)")
             pattern = pattern.replace('\\', '\\\\')
@@ -1469,7 +1480,7 @@
         if res:
             dia.exec_()
             
-            langFile = self.__e5project.pdata["TRANSLATIONPATTERN"][0]\
+            langFile = self.__e5project.getTranslationPattern()\
                 .replace("%language%", code)
             self.__e5project.appendFile(langFile)
     

eric ide

mercurial