PluginProjectKivy.py

Wed, 21 Sep 2022 16:27:00 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 21 Sep 2022 16:27:00 +0200
branch
eric7
changeset 50
265ebe67da39
parent 48
d79fe2dd2cb9
child 51
344ab3a70c58
permissions
-rw-r--r--

Reformatted source code with 'Black'.

1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
1 # -*- coding: utf-8 -*-
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
2
47
072c7c4791d4 Updated copyright for 2022.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 46
diff changeset
3 # Copyright (c) 2013 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
4 #
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
5
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
6 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
7 Module implementing the Kivy project plug-in.
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
8 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
9
3
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
10 import os
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
11 import glob
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
12 import fnmatch
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
13
46
2ff6b838b040 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
14 from PyQt6.QtCore import QObject, QTranslator
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
15
46
2ff6b838b040 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
16 from EricWidgets.EricApplication import ericApp
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
17
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
18 import Preferences
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
19
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
20 from pygments.lexers._mapping import LEXERS
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
21
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
22 # Start-of-Header
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
23 name = "Kivy Project Plugin"
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
24 author = "Detlev Offenbach <detlev@die-offenbachs.de>"
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
25 autoactivate = True
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
26 deactivateable = True
48
d79fe2dd2cb9 Updated version info to indicate relation to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
27 version = "10.0.0"
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
28 className = "ProjectKivyPlugin"
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
29 packageName = "ProjectKivy"
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
30 shortDescription = "Project support for Kivy projects."
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
31 longDescription = """This plugin implements project support for Kivy projects."""
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
32 needsRestart = False
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
33 pyqtApi = 2
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
34 # End-of-Header
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
35
3
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
36 error = ""
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
37
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
38
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
39 def apiFiles(language):
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
40 """
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
41 Module function to return the API files made available by this plugin.
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
42
46
2ff6b838b040 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
43 @param language language to get API file for
2ff6b838b040 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
44 @type str
2ff6b838b040 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
45 @return list of API filenames
2ff6b838b040 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
46 @rtype list of str
3
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
47 """
41
1d6ea7d73189 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 40
diff changeset
48 if language in ["Python3"]:
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
49 apisDir = os.path.join(os.path.dirname(__file__), "ProjectKivy", "APIs")
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
50 return glob.glob(os.path.join(apisDir, "*.api"))
3
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
51 else:
41
1d6ea7d73189 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 40
diff changeset
52 return []
3
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
53
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
54
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
55 class ProjectKivyPlugin(QObject):
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
56 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
57 Class implementing the Kivy project plugin.
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
58 """
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
59
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
60 lexerAssociations = {
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
61 "*.kv": "Pygments|Kivy",
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
62 "*.kivy": "Pygments|Kivy",
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
63 }
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
64
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
65 KivyLexerKey = "KivyLexer"
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
66 KivyLexerEntry = (
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
67 "ProjectKivy.KivyLexer",
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
68 "Kivy",
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
69 ("kivy", "kv"),
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
70 ("*.kv", "*.kivy"),
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
71 ("application/x-kivy",),
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
72 )
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
73
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
74 def __init__(self, ui):
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
75 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
76 Constructor
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
77
46
2ff6b838b040 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
78 @param ui reference to the user interface object
2ff6b838b040 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
79 @type UserInterface
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
80 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
81 QObject.__init__(self, ui)
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
82 self.__ui = ui
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
83 self.__initialize()
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
84
3
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
85 self.__translator = None
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
86 self.__loadTranslator()
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
87
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
88 def __initialize(self):
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
89 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
90 Private slot to (re)initialize the plugin.
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
91 """
46
2ff6b838b040 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
92 self.__ericProject = ericApp().getObject("Project")
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
93
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
94 def activate(self):
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
95 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
96 Public method to activate this plugin.
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
97
46
2ff6b838b040 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
98 @return tuple of None and activation status
2ff6b838b040 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
99 @rtype bool
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
100 """
46
2ff6b838b040 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
101 self.__ericProject.registerProjectType(
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
102 "Kivy",
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
103 self.tr("Kivy"),
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
104 self.fileTypesCallback,
41
1d6ea7d73189 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 40
diff changeset
105 lexerAssociationCallback=self.lexerAssociationCallback,
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
106 progLanguages=["Python3"],
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
107 )
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
108
41
1d6ea7d73189 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 40
diff changeset
109 from Project.ProjectBrowser import (
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
110 SourcesBrowserFlag,
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
111 FormsBrowserFlag,
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
112 TranslationsBrowserFlag,
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
113 OthersBrowserFlag,
41
1d6ea7d73189 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 40
diff changeset
114 )
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
115
11
a3a738778142 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
116 Preferences.setProjectBrowserFlagsDefault(
a3a738778142 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
117 "Kivy",
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
118 SourcesBrowserFlag
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
119 | FormsBrowserFlag
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
120 | TranslationsBrowserFlag
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
121 | OthersBrowserFlag,
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
122 )
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
123
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
124 LEXERS[self.KivyLexerKey] = self.KivyLexerEntry
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
125 import QScintilla.Lexers
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
126
35
b8e72a0234c1 Removed the outdated check for the correct eric version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
127 QScintilla.Lexers.registerLexer(
b8e72a0234c1 Removed the outdated check for the correct eric version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
128 "Pygments|Kivy",
b8e72a0234c1 Removed the outdated check for the correct eric version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
129 self.tr("Kivy"),
b8e72a0234c1 Removed the outdated check for the correct eric version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
130 "dummy.kv",
b8e72a0234c1 Removed the outdated check for the correct eric version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
131 self.getLexer,
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
132 [self.tr("Kivy Files (*.kv *.kivy)")],
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
133 [self.tr("Kivy Files (*.kv)")],
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
134 ["*.kv", "*.kivy"],
35
b8e72a0234c1 Removed the outdated check for the correct eric version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
135 )
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
136
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
137 return None, True
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
138
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
139 def deactivate(self):
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
140 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
141 Public method to deactivate this plugin.
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
142 """
46
2ff6b838b040 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
143 self.__ericProject.unregisterProjectType("Kivy")
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
144
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
145 import QScintilla.Lexers
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
146
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
147 QScintilla.Lexers.unregisterLexer("Kivy")
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
148 if self.KivyLexerKey in LEXERS:
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
149 del LEXERS[self.KivyLexerKey]
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
150
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
151 self.__initialize()
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
152
3
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
153 def __loadTranslator(self):
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
154 """
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
155 Private method to load the translation file.
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
156 """
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
157 if self.__ui is not None:
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
158 loc = self.__ui.getLocale()
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
159 if loc and loc != "C":
11
a3a738778142 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
160 locale_dir = os.path.join(
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
161 os.path.dirname(__file__), "ProjectKivy", "i18n"
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
162 )
32
1264664c5ba9 Fixed a bug in the Kivy lexer causing all strings to be unicodes on Python2, which makes Pygments raise an exception.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
163 translation = "kivy_{0}".format(loc)
3
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
164 translator = QTranslator(None)
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
165 loaded = translator.load(translation, locale_dir)
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
166 if loaded:
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
167 self.__translator = translator
46
2ff6b838b040 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
168 ericApp().installTranslator(self.__translator)
3
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
169 else:
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
170 print(
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
171 "Warning: translation file '{0}' could not be"
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
172 " loaded.".format(translation)
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
173 )
3
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
174 print("Using default.")
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
175
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
176 def fileTypesCallback(self):
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
177 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
178 Public method get the filetype associations of the Kivy project type.
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
179
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
180 @return dictionary with file type associations
46
2ff6b838b040 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
181 @rtype dict
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
182 """
46
2ff6b838b040 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
183 if self.__ericProject.getProjectType() == "Kivy":
41
1d6ea7d73189 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 40
diff changeset
184 return {
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
185 "*.kv": "SOURCES",
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
186 "*.kivy": "SOURCES",
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
187 "*.py": "SOURCES",
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
188 }
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
189 else:
41
1d6ea7d73189 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 40
diff changeset
190 return {}
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
191
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
192 def lexerAssociationCallback(self, filename):
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
193 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
194 Public method to get the lexer association of the Kivy project type for
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
195 a file.
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
196
46
2ff6b838b040 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
197 @param filename name of the file
2ff6b838b040 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
198 @type str
2ff6b838b040 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
199 @return name of the lexer (Pygments lexers are prefixed with
11
a3a738778142 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
200 'Pygments|')
46
2ff6b838b040 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
201 @rtype str
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
202 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
203 for pattern, language in self.lexerAssociations.items():
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
204 if fnmatch.fnmatch(filename, pattern):
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
205 return language
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
206
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
207 return ""
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
208
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
209 def getLexer(self, parent=None):
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
210 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
211 Public method to instantiate a Pygments Kivy lexer object.
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
212
46
2ff6b838b040 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
213 @param parent reference to the parent object
2ff6b838b040 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
214 @type QObject
2ff6b838b040 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
215 @return reference to the instanciated lexer object
2ff6b838b040 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
216 @rtype QsciLexer
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
217 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
218 from QScintilla.Lexers.LexerPygments import LexerPygments
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
219
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
220 lexer = LexerPygments(parent, name="Kivy")
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
221 if lexer.canStyle():
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
222 return lexer
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
223 else:
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
224 return None
32
1264664c5ba9 Fixed a bug in the Kivy lexer causing all strings to be unicodes on Python2, which makes Pygments raise an exception.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
225
50
265ebe67da39 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
226
32
1264664c5ba9 Fixed a bug in the Kivy lexer causing all strings to be unicodes on Python2, which makes Pygments raise an exception.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
227 #
1264664c5ba9 Fixed a bug in the Kivy lexer causing all strings to be unicodes on Python2, which makes Pygments raise an exception.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
228 # eflag: noqa = M801, M811

eric ide

mercurial