PluginProjectKivy.py

Thu, 10 Jan 2019 14:21:04 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Thu, 10 Jan 2019 14:21:04 +0100
changeset 39
e92afe8fcf9e
parent 37
a0e103300157
child 40
9fce5c54f543
permissions
-rw-r--r--

Updated copyright for 2019.

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
39
e92afe8fcf9e Updated copyright for 2019.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 37
diff changeset
3 # Copyright (c) 2013 - 2019 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
22
0de62c0edd89 Added the Python2 compatibility flag.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 20
diff changeset
10 from __future__ import unicode_literals
13
2edce8c1ad5b Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 11
diff changeset
11
3
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
12 import os
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
13 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
14 import fnmatch
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
15
25
254bfe16b90d Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 22
diff changeset
16 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
17
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
18 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
19
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
20 import Preferences
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 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
23
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
24 # 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
25 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
26 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
27 autoactivate = True
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
28 deactivateable = True
35
b8e72a0234c1 Removed the outdated check for the correct eric version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
29 version = "2.0.3"
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
30 className = "ProjectKivyPlugin"
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
31 packageName = "ProjectKivy"
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
32 shortDescription = "Project support for Kivy projects."
11
a3a738778142 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
33 longDescription = \
a3a738778142 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
34 """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
35 needsRestart = False
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
36 pyqtApi = 2
22
0de62c0edd89 Added the Python2 compatibility flag.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 20
diff changeset
37 python2Compatible = True
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
38 # 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
39
3
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
40 error = ""
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
41
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 def apiFiles(language):
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
44 """
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
45 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
46
11
a3a738778142 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
47 @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
48 @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
49 """
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
50 if language in ["Python2"]:
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
51 apisDir = \
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
52 os.path.join(os.path.dirname(__file__), "ProjectKivy", "APIs")
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
53 apis = glob.glob(os.path.join(apisDir, '*.api'))
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
54 else:
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
55 apis = []
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
56 return apis
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
57
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
58
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
59 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
60 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
61 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
62 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
63 lexerAssociations = {
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
64 "*.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
65 "*.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
66 }
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
67
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
68 KivyLexerKey = 'KivyLexer'
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
69 KivyLexerEntry = (
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
70 'ProjectKivy.KivyLexer',
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
71 'Kivy',
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
72 ('kivy', 'kv'),
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
73 ('*.kv', '*.kivy'),
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
74 ('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
75 )
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
76
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
77 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
78 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
79 Constructor
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 @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
82 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
83 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
84 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
85 self.__initialize()
3
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
86
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
87 self.__translator = None
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
88 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
89
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
90 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
91 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
92 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
93 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
94 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
95
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
96 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
97 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
98 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
99
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
100 @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
101 """
3
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
102 try:
11
a3a738778142 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
103 self.__e5project.registerProjectType(
25
254bfe16b90d Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 22
diff changeset
104 "Kivy", self.tr("Kivy"), self.fileTypesCallback,
3
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
105 lexerAssociationCallback=self.lexerAssociationCallback,
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
106 progLanguages=["Python2"])
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
107 except TypeError:
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
108 # for backward compatibility
11
a3a738778142 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
109 self.__e5project.registerProjectType(
25
254bfe16b90d Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 22
diff changeset
110 "Kivy", self.tr("Kivy"), self.fileTypesCallback,
3
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
111 lexerAssociationCallback=self.lexerAssociationCallback)
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
112
11
a3a738778142 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
113 from Project.ProjectBrowser import SourcesBrowserFlag, \
a3a738778142 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
114 FormsBrowserFlag, TranslationsBrowserFlag, OthersBrowserFlag
a3a738778142 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
115 Preferences.setProjectBrowserFlagsDefault(
a3a738778142 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
116 "Kivy",
a3a738778142 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
117 SourcesBrowserFlag |
a3a738778142 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
118 FormsBrowserFlag |
a3a738778142 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
119 TranslationsBrowserFlag |
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
120 OthersBrowserFlag,
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
121 )
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
122
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
123 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
124 import QScintilla.Lexers
35
b8e72a0234c1 Removed the outdated check for the correct eric version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
125 QScintilla.Lexers.registerLexer(
b8e72a0234c1 Removed the outdated check for the correct eric version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
126 "Pygments|Kivy",
b8e72a0234c1 Removed the outdated check for the correct eric version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
127 self.tr("Kivy"),
b8e72a0234c1 Removed the outdated check for the correct eric version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
128 "dummy.kv",
b8e72a0234c1 Removed the outdated check for the correct eric version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
129 self.getLexer,
b8e72a0234c1 Removed the outdated check for the correct eric version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
130 [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
131 [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
132 ['*.kv', '*.kivy']
b8e72a0234c1 Removed the outdated check for the correct eric version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
133 )
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
134
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
135 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
136
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
137 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
138 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
139 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
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.__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
142
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
143 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
144 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
145 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
146 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
147
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
148 self.__initialize()
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
149
3
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
150 def __loadTranslator(self):
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
151 """
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
152 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
153 """
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
154 if self.__ui is not None:
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
155 loc = self.__ui.getLocale()
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
156 if loc and loc != "C":
11
a3a738778142 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
157 locale_dir = os.path.join(
a3a738778142 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
158 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
159 translation = "kivy_{0}".format(loc)
3
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
160 translator = QTranslator(None)
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
161 loaded = translator.load(translation, locale_dir)
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
162 if loaded:
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
163 self.__translator = translator
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
164 e5App().installTranslator(self.__translator)
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
165 else:
11
a3a738778142 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
166 print("Warning: translation file '{0}' could not be"
a3a738778142 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
167 " loaded.".format(translation))
3
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
168 print("Using default.")
b7e3e3b131ea Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
169
1
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
170 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
171 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
172 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
173
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
174 @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
175 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
176 if self.__e5project.getProjectType() == "Kivy":
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
177 fileTypes = {
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
178 "*.kv": "SOURCES",
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
179 "*.kivy": "SOURCES",
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
180 "*.py": "SOURCES",
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
181 }
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
182 else:
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
183 fileTypes = {}
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
184 return fileTypes
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
185
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
186 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
187 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
188 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
189 a file.
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 @param filename name of the file (string)
11
a3a738778142 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
192 @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
193 'Pygments|')
1
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 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
196 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
197 return language
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
198
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
199 return ""
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
200
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
201 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
202 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
203 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
204
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
205 @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
206 @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
207 """
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
208 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
209 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
210 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
211 return lexer
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
212 else:
371cfb479eb6 Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
213 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
214
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
215 #
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
216 # eflag: noqa = M801, M811

eric ide

mercurial