PluginDocumentationSets.py

Fri, 04 Jun 2021 18:45:53 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Fri, 04 Jun 2021 18:45:53 +0200
branch
eric7
changeset 59
d2b40896293f
parent 57
a8032c728988
child 62
6c5960df01bb
permissions
-rw-r--r--

Fixed a bug.

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
51
1e8779a0153d Updated copyright for 2021.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 45
diff changeset
3 # Copyright (c) 2016 - 2021 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 import os
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
11 import glob
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
12
59
d2b40896293f Fixed a bug.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 57
diff changeset
13 from PyQt6.QtCore import QObject
1
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 # Start-Of-Header
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
16 name = "Documentation Sets"
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
17 author = "Detlev Offenbach <detlev@die-offenbachs.de>"
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
18 autoactivate = True
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
19 deactivateable = True
57
a8032c728988 Ported the plug-in to PyQt6 for eric7 and added documentation sets for PyQt 5.15 and PyQt 6.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
20 version = "1.0.0"
1
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
21 className = "PluginDocumentationSets"
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
22 packageName = "DocumentationSets"
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
23 shortDescription = "Documentation sets in QtHelp format (*.qch)"
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
24 longDescription = (
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
25 """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
26 """ 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
27 """ browser or Qt Assistant."""
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
28 )
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
29 needsRestart = False
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
30 pyqtApi = 2
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
31 # End-Of-Header
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
32
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
33 error = ""
41
10870f99f004 Removed QtHelp packages for
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 39
diff changeset
34
1
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 def helpFiles():
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 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
39
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
40 @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
41 documentation files as values
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
42 @rtype dict (key: str, value: list of str)
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
43 """
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
44 documentationSets = {}
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
45 documentationSetsDir = os.path.join(os.path.dirname(__file__),
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
46 "DocumentationSets")
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
47 if os.path.isdir(documentationSetsDir):
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
48 documentationTypes = [
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
49 d for d in os.listdir(documentationSetsDir)
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
50 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
51 ]
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
52 for documentationType in documentationTypes:
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
53 documentationSets[documentationType] = glob.glob(
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
54 os.path.join(documentationSetsDir, documentationType, "*.qch"))
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
55
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
56 return documentationSets
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
57
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 class PluginDocumentationSets(QObject):
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 Class implementing the QtHelp documentation provider plug-in.
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
62 """
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
63 def __init__(self, ui):
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
64 """
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
65 Constructor
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
66
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
67 @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
68 """
53
9a762a7d6f42 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 51
diff changeset
69 super().__init__(ui)
1
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
70 self.__ui = ui
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 def activate(self):
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
73 """
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
74 Public method to activate this plugin.
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
75
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
76 @return tuple of None and activation status (boolean)
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
77 """
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
78 global error
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
79 error = "" # clear previous error
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 return None, True
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
82
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
83 def deactivate(self):
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
84 """
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
85 Public method to deactivate this plugin.
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
86 """
a1e4eb168c29 Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
87 pass

eric ide

mercurial