ProjectFlask/FlaskBabelExtension/PyBabelProjectExtension.py

changeset 61
fe1e8783a95f
parent 60
02243723ac17
child 64
0ee58185b8df
--- a/ProjectFlask/FlaskBabelExtension/PyBabelProjectExtension.py	Wed Dec 30 11:02:08 2020 +0100
+++ b/ProjectFlask/FlaskBabelExtension/PyBabelProjectExtension.py	Sat Apr 24 11:30:11 2021 +0200
@@ -9,6 +9,7 @@
 
 import os
 import re
+import contextlib
 
 from PyQt5.QtCore import pyqtSlot, QObject, QProcess
 from PyQt5.QtWidgets import QDialog, QMenu
@@ -37,7 +38,7 @@
         @param parent parent
         @type QObject
         """
-        super(PyBabelProject, self).__init__(parent)
+        super().__init__(parent)
         
         self.__plugin = plugin
         self.__project = project
@@ -200,11 +201,11 @@
         """
         Public method to determine the availability of flask-babel.
         """
-        if self.__project.getData("flask", "flask_babel_override"):
-            available = self.__project.getData("flask",
-                                               "flask_babel_available")
-        else:
-            available = self.__flaskBabelAvailable()
+        available = (
+            self.__project.getData("flask", "flask_babel_available")
+            if self.__project.getData("flask", "flask_babel_override") else
+            self.__flaskBabelAvailable()
+        )
         self.__project.setCapability("flask-babel", available)
         
         self.pybabelConfigAct.setEnabled(available)
@@ -304,18 +305,15 @@
         @rtype bool
         """
         _, app = self.__project.getApplication()
-        if app.endswith(".py"):
-            template = (
-                "[python: {0}]\n"
-                "[jinja2: templates/**.html]\n"
-                "extensions=jinja2.ext.autoescape,jinja2.ext.with_\n"
-            )
-        else:
-            template = (
-                "[python: {0}/**.py]\n"
-                "[jinja2: {0}/templates/**.html]\n"
-                "extensions=jinja2.ext.autoescape,jinja2.ext.with_\n"
-            )
+        template = (
+            ("[python: {0}]\n"
+             "[jinja2: templates/**.html]\n"
+             "extensions=jinja2.ext.autoescape,jinja2.ext.with_\n")
+            if app.endswith(".py") else
+            ("[python: {0}/**.py]\n"
+             "[jinja2: {0}/templates/**.html]\n"
+             "extensions=jinja2.ext.autoescape,jinja2.ext.with_\n")
+        )
         try:
             with open(configFile, "w") as f:
                 f.write(template.format(app))
@@ -364,10 +362,11 @@
         Private slot to check the availability of the 'flask-babel' extension.
         """
         self.determineCapability()
-        if self.__project.hasCapability("flask-babel"):
-            msg = self.tr("The 'flask-babel' extension is installed.")
-        else:
-            msg = self.tr("The 'flask-babel' extension is not installed.")
+        msg = (
+            self.tr("The 'flask-babel' extension is installed.")
+            if self.__project.hasCapability("flask-babel") else
+            self.tr("The 'flask-babel' extension is not installed.")
+        )
         E5MessageBox.information(
             None,
             self.tr("flask-babel Availability"),
@@ -427,11 +426,9 @@
             potFile = self.__e5project.getAbsoluteUniversalPath(
                 self.__project.getData("flask-babel", "catalogFile"))
             
-            try:
+            with contextlib.suppress(OSError):
                 potFilePath = os.path.dirname(potFile)
                 os.makedirs(potFilePath)
-            except OSError:
-                pass
             
             args = [
                 "-F",
@@ -442,7 +439,8 @@
                 )
             ]
             if self.__project.getData("flask-babel", "markersList"):
-                for marker in self.__project.getData("flask-babel", "markersList"):
+                for marker in self.__project.getData("flask-babel",
+                                                     "markersList"):
                     args += ["-k", marker]
             args += [
                 "-o",

eric ide

mercurial