PluginProjectKivy.py

branch
eric7
changeset 50
265ebe67da39
parent 48
d79fe2dd2cb9
child 51
344ab3a70c58
--- a/PluginProjectKivy.py	Thu Dec 30 12:15:18 2021 +0100
+++ b/PluginProjectKivy.py	Wed Sep 21 16:27:00 2022 +0200
@@ -28,9 +28,7 @@
 className = "ProjectKivyPlugin"
 packageName = "ProjectKivy"
 shortDescription = "Project support for Kivy projects."
-longDescription = (
-    """This plugin implements project support for Kivy projects."""
-)
+longDescription = """This plugin implements project support for Kivy projects."""
 needsRestart = False
 pyqtApi = 2
 # End-of-Header
@@ -41,16 +39,15 @@
 def apiFiles(language):
     """
     Module function to return the API files made available by this plugin.
-    
+
     @param language language to get API file for
     @type str
     @return list of API filenames
     @rtype list of str
     """
     if language in ["Python3"]:
-        apisDir = os.path.join(os.path.dirname(__file__),
-                               "ProjectKivy", "APIs")
-        return glob.glob(os.path.join(apisDir, '*.api'))
+        apisDir = os.path.join(os.path.dirname(__file__), "ProjectKivy", "APIs")
+        return glob.glob(os.path.join(apisDir, "*.api"))
     else:
         return []
 
@@ -59,91 +56,100 @@
     """
     Class implementing the Kivy project plugin.
     """
+
     lexerAssociations = {
         "*.kv": "Pygments|Kivy",
         "*.kivy": "Pygments|Kivy",
     }
-    
-    KivyLexerKey = 'KivyLexer'
+
+    KivyLexerKey = "KivyLexer"
     KivyLexerEntry = (
-        'ProjectKivy.KivyLexer',
-        'Kivy',
-        ('kivy', 'kv'),
-        ('*.kv', '*.kivy'),
-        ('application/x-kivy',)
+        "ProjectKivy.KivyLexer",
+        "Kivy",
+        ("kivy", "kv"),
+        ("*.kv", "*.kivy"),
+        ("application/x-kivy",),
     )
-    
+
     def __init__(self, ui):
         """
         Constructor
-        
+
         @param ui reference to the user interface object
         @type UserInterface
         """
         QObject.__init__(self, ui)
         self.__ui = ui
         self.__initialize()
-        
+
         self.__translator = None
         self.__loadTranslator()
-    
+
     def __initialize(self):
         """
         Private slot to (re)initialize the plugin.
         """
         self.__ericProject = ericApp().getObject("Project")
-    
+
     def activate(self):
         """
         Public method to activate this plugin.
-        
+
         @return tuple of None and activation status
         @rtype bool
         """
         self.__ericProject.registerProjectType(
-            "Kivy", self.tr("Kivy"), self.fileTypesCallback,
+            "Kivy",
+            self.tr("Kivy"),
+            self.fileTypesCallback,
             lexerAssociationCallback=self.lexerAssociationCallback,
-            progLanguages=["Python3"])
-        
+            progLanguages=["Python3"],
+        )
+
         from Project.ProjectBrowser import (
-            SourcesBrowserFlag, FormsBrowserFlag, TranslationsBrowserFlag,
-            OthersBrowserFlag
+            SourcesBrowserFlag,
+            FormsBrowserFlag,
+            TranslationsBrowserFlag,
+            OthersBrowserFlag,
         )
+
         Preferences.setProjectBrowserFlagsDefault(
             "Kivy",
-            SourcesBrowserFlag |
-            FormsBrowserFlag |
-            TranslationsBrowserFlag |
-            OthersBrowserFlag,
+            SourcesBrowserFlag
+            | FormsBrowserFlag
+            | TranslationsBrowserFlag
+            | OthersBrowserFlag,
         )
-        
+
         LEXERS[self.KivyLexerKey] = self.KivyLexerEntry
         import QScintilla.Lexers
+
         QScintilla.Lexers.registerLexer(
             "Pygments|Kivy",
             self.tr("Kivy"),
             "dummy.kv",
             self.getLexer,
-            [self.tr('Kivy Files (*.kv *.kivy)')],
-            [self.tr('Kivy Files (*.kv)')],
-            ['*.kv', '*.kivy']
+            [self.tr("Kivy Files (*.kv *.kivy)")],
+            [self.tr("Kivy Files (*.kv)")],
+            ["*.kv", "*.kivy"],
         )
-        
+
         return None, True
-    
+
     def deactivate(self):
         """
         Public method to deactivate this plugin.
         """
         self.__ericProject.unregisterProjectType("Kivy")
-        
+
         import QScintilla.Lexers
+
         QScintilla.Lexers.unregisterLexer("Kivy")
         if self.KivyLexerKey in LEXERS:
             del LEXERS[self.KivyLexerKey]
-        
+
         self.__initialize()
-    
+
     def __loadTranslator(self):
         """
         Private method to load the translation file.
@@ -152,7 +158,8 @@
             loc = self.__ui.getLocale()
             if loc and loc != "C":
                 locale_dir = os.path.join(
-                    os.path.dirname(__file__), "ProjectKivy", "i18n")
+                    os.path.dirname(__file__), "ProjectKivy", "i18n"
+                )
                 translation = "kivy_{0}".format(loc)
                 translator = QTranslator(None)
                 loaded = translator.load(translation, locale_dir)
@@ -160,14 +167,16 @@
                     self.__translator = translator
                     ericApp().installTranslator(self.__translator)
                 else:
-                    print("Warning: translation file '{0}' could not be"
-                          " loaded.".format(translation))
+                    print(
+                        "Warning: translation file '{0}' could not be"
+                        " loaded.".format(translation)
+                    )
                     print("Using default.")
-    
+
     def fileTypesCallback(self):
         """
         Public method get the filetype associations of the Kivy project type.
-        
+
         @return dictionary with file type associations
         @rtype dict
         """
@@ -179,12 +188,12 @@
             }
         else:
             return {}
-    
+
     def lexerAssociationCallback(self, filename):
         """
         Public method to get the lexer association of the Kivy project type for
         a file.
-        
+
         @param filename name of the file
         @type str
         @return name of the lexer (Pygments lexers are prefixed with
@@ -194,24 +203,26 @@
         for pattern, language in self.lexerAssociations.items():
             if fnmatch.fnmatch(filename, pattern):
                 return language
-        
+
         return ""
-    
+
     def getLexer(self, parent=None):
         """
         Public method to instantiate a Pygments Kivy lexer object.
-        
+
         @param parent reference to the parent object
         @type QObject
         @return reference to the instanciated lexer object
         @rtype QsciLexer
         """
         from QScintilla.Lexers.LexerPygments import LexerPygments
+
         lexer = LexerPygments(parent, name="Kivy")
         if lexer.canStyle():
             return lexer
         else:
             return None
 
+
 #
 # eflag: noqa = M801, M811

eric ide

mercurial