PluginProjectKivy.py

Mon, 22 Jun 2020 19:38:53 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Mon, 22 Jun 2020 19:38:53 +0200
changeset 41
1d6ea7d73189
parent 40
9fce5c54f543
child 43
e0ec8dc346a0
permissions
-rw-r--r--

Removed support for Python2.

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
40
9fce5c54f543 Updated copyright for 2020.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 39
diff changeset
3 # Copyright (c) 2013 - 2020 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
25
254bfe16b90d Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 22
diff changeset
14 from PyQt5.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
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
16 from E5Gui.E5Application import e5App
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
41
1d6ea7d73189 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 40
diff changeset
27 version = "3.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."
41
1d6ea7d73189 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 40
diff changeset
31 longDescription = (
11
a3a738778142 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
32 """This plugin implements project support for Kivy projects."""
41
1d6ea7d73189 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 40
diff changeset
33 )
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
34 needsRestart = False
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
35 pyqtApi = 2
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
36 # 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
37
3
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
38 error = ""
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
39
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 def apiFiles(language):
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
42 """
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
43 Module function to return the API files made available by this plugin.
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
44
11
a3a738778142 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
45 @param language language to get API file for (string)
3
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
46 @return list of API filenames (list of string)
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"]:
1d6ea7d73189 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 40
diff changeset
49 apisDir = os.path.join(os.path.dirname(__file__),
1d6ea7d73189 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 40
diff changeset
50 "ProjectKivy", "APIs")
1d6ea7d73189 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 40
diff changeset
51 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
52 else:
41
1d6ea7d73189 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 40
diff changeset
53 return []
3
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
54
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
55
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
56 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
57 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
58 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
59 """
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 }
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
64
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
65 KivyLexerKey = 'KivyLexer'
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
66 KivyLexerEntry = (
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
67 'ProjectKivy.KivyLexer',
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
68 'Kivy',
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
69 ('kivy', 'kv'),
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
70 ('*.kv', '*.kivy'),
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
71 ('application/x-kivy',)
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
72 )
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
73
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
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
77
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
78 @param ui reference to the user interface object (UI.UserInterface)
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
79 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
80 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
81 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
82 self.__initialize()
3
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
83
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
84 self.__translator = None
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
85 self.__loadTranslator()
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
86
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
87 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
88 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
89 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
90 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
91 self.__e5project = e5App().getObject("Project")
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
92
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
93 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
94 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
95 Public method to activate this plugin.
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
96
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
97 @return tuple of None and activation status (boolean)
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
98 """
41
1d6ea7d73189 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 40
diff changeset
99 self.__e5project.registerProjectType(
1d6ea7d73189 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 40
diff changeset
100 "Kivy", self.tr("Kivy"), self.fileTypesCallback,
1d6ea7d73189 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 40
diff changeset
101 lexerAssociationCallback=self.lexerAssociationCallback,
1d6ea7d73189 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 40
diff changeset
102 progLanguages=["Python3"])
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
103
41
1d6ea7d73189 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 40
diff changeset
104 from Project.ProjectBrowser import (
1d6ea7d73189 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 40
diff changeset
105 SourcesBrowserFlag, FormsBrowserFlag, TranslationsBrowserFlag,
1d6ea7d73189 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 40
diff changeset
106 OthersBrowserFlag
1d6ea7d73189 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 40
diff changeset
107 )
11
a3a738778142 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
108 Preferences.setProjectBrowserFlagsDefault(
a3a738778142 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
109 "Kivy",
a3a738778142 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
110 SourcesBrowserFlag |
a3a738778142 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
111 FormsBrowserFlag |
a3a738778142 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
112 TranslationsBrowserFlag |
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
113 OthersBrowserFlag,
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
114 )
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
115
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
116 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
117 import QScintilla.Lexers
35
b8e72a0234c1 Removed the outdated check for the correct eric version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
118 QScintilla.Lexers.registerLexer(
b8e72a0234c1 Removed the outdated check for the correct eric version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
119 "Pygments|Kivy",
b8e72a0234c1 Removed the outdated check for the correct eric version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
120 self.tr("Kivy"),
b8e72a0234c1 Removed the outdated check for the correct eric version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
121 "dummy.kv",
b8e72a0234c1 Removed the outdated check for the correct eric version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
122 self.getLexer,
b8e72a0234c1 Removed the outdated check for the correct eric version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
123 [self.tr('Kivy Files (*.kv *.kivy)')],
b8e72a0234c1 Removed the outdated check for the correct eric version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
124 [self.tr('Kivy Files (*.kv)')],
b8e72a0234c1 Removed the outdated check for the correct eric version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
125 ['*.kv', '*.kivy']
b8e72a0234c1 Removed the outdated check for the correct eric version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
126 )
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
127
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
128 return None, True
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
129
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
130 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
131 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
132 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
133 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
134 self.__e5project.unregisterProjectType("Kivy")
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
135
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
136 import QScintilla.Lexers
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
137 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
138 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
139 del LEXERS[self.KivyLexerKey]
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 self.__initialize()
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
142
3
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
143 def __loadTranslator(self):
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
144 """
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
145 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
146 """
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
147 if self.__ui is not None:
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
148 loc = self.__ui.getLocale()
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
149 if loc and loc != "C":
11
a3a738778142 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
150 locale_dir = os.path.join(
a3a738778142 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
151 os.path.dirname(__file__), "ProjectKivy", "i18n")
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
152 translation = "kivy_{0}".format(loc)
3
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
153 translator = QTranslator(None)
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
154 loaded = translator.load(translation, locale_dir)
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
155 if loaded:
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
156 self.__translator = translator
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
157 e5App().installTranslator(self.__translator)
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
158 else:
11
a3a738778142 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
159 print("Warning: translation file '{0}' could not be"
a3a738778142 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
160 " loaded.".format(translation))
3
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
161 print("Using default.")
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
162
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
163 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
164 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
165 Public method get the filetype associations of the Kivy project type.
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
166
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
167 @return dictionary with file type associations
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
168 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
169 if self.__e5project.getProjectType() == "Kivy":
41
1d6ea7d73189 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 40
diff changeset
170 return {
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
171 "*.kv": "SOURCES",
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
172 "*.kivy": "SOURCES",
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
173 "*.py": "SOURCES",
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
174 }
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
175 else:
41
1d6ea7d73189 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 40
diff changeset
176 return {}
1
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 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
179 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
180 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
181 a file.
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
182
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
183 @param filename name of the file (string)
11
a3a738778142 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
184 @return name of the lexer (string) (Pygments lexers are prefixed with
a3a738778142 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
185 'Pygments|')
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
186 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
187 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
188 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
189 return language
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
190
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
191 return ""
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
192
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
193 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
194 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
195 Public method to instantiate a Pygments Kivy lexer object.
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
196
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
197 @param parent reference to the parent object (QObject)
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
198 @return reference to the instanciated lexer object (QsciLexer)
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
199 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
200 from QScintilla.Lexers.LexerPygments import LexerPygments
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
201 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
202 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
203 return lexer
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
204 else:
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
205 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
206
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
207 #
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
208 # eflag: noqa = M801, M811

eric ide

mercurial