Sat, 31 Dec 2016 14:36:53 +0100
Update for the PyQt 4.12.0 and 5.7.1 release.
1
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
2 | |
21
01924b173529
Updated copyright for 2017.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
3 | # Copyright (c) 2016 - 2017 Detlev Offenbach <detlev@die-offenbachs.de> |
1
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
4 | # |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
5 | |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
6 | """ |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
7 | Module implementing the QtHelp documentation provider plug-in. |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
8 | """ |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
9 | |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
10 | from __future__ import unicode_literals |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
11 | |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
12 | import os |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
13 | import glob |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
14 | |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
15 | from PyQt5.QtCore import QObject |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
16 | |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
17 | # Start-Of-Header |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
18 | name = "Documentation Sets" |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
19 | author = "Detlev Offenbach <detlev@die-offenbachs.de>" |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
20 | autoactivate = True |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
21 | deactivateable = True |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
22 | version = "1.0.0" |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
23 | className = "PluginDocumentationSets" |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
24 | packageName = "DocumentationSets" |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
25 | shortDescription = "Documentation sets in QtHelp format (*.qch)" |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
26 | longDescription = ( |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
27 | """This plug-in provides an interface to additional documentation sets""" |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
28 | """ in QtHelp format (*.qch) for registration with the eric help/web""" |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
29 | """ browser or Qt Assistant.""" |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
30 | ) |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
31 | needsRestart = False |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
32 | pyqtApi = 2 |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
33 | python2Compatible = True |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
34 | # End-Of-Header |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
35 | |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
36 | error = "" |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
37 | |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
38 | |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
39 | def helpFiles(): |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
40 | """ |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
41 | Module function to return the documentation sets provided by this plug-in. |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
42 | |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
43 | @return dictionary with documentation set type as key and list of |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
44 | documentation files as values |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
45 | @rtype dict (key: str, value: list of str) |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
46 | """ |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
47 | documentationSets = {} |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
48 | documentationSetsDir = os.path.join(os.path.dirname(__file__), |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
49 | "DocumentationSets") |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
50 | if os.path.isdir(documentationSetsDir): |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
51 | documentationTypes = [ |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
52 | d for d in os.listdir(documentationSetsDir) |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
53 | if os.path.isdir(os.path.join(documentationSetsDir, d)) |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
54 | ] |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
55 | for documentationType in documentationTypes: |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
56 | documentationSets[documentationType] = glob.glob( |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
57 | os.path.join(documentationSetsDir, documentationType, "*.qch")) |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
58 | |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
59 | return documentationSets |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
60 | |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
61 | |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
62 | class PluginDocumentationSets(QObject): |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
63 | """ |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
64 | Class implementing the QtHelp documentation provider plug-in. |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
65 | """ |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
66 | def __init__(self, ui): |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
67 | """ |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
68 | Constructor |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
69 | |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
70 | @param ui reference to the user interface object (UI.UserInterface) |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
71 | """ |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
72 | super(PluginDocumentationSets, self).__init__(ui) |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
73 | self.__ui = ui |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
74 | |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
75 | def activate(self): |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
76 | """ |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
77 | Public method to activate this plugin. |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
78 | |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
79 | @return tuple of None and activation status (boolean) |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
80 | """ |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
81 | global error |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
82 | error = "" # clear previous error |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
83 | |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
84 | return None, True |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
85 | |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
86 | def deactivate(self): |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
87 | """ |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
88 | Public method to deactivate this plugin. |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
89 | """ |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
90 | pass |