eric7/Plugins/WizardPlugins/SetupWizard/SetupCfgUtilities.py

Mon, 04 Jul 2022 19:44:38 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Mon, 04 Jul 2022 19:44:38 +0200
branch
eric7
changeset 9205
b75da2ba2a1a
parent 9201
2f1ccadee231
permissions
-rw-r--r--

Corrected some code style issues.

9201
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3 # Copyright (c) 2022 Detlev Offenbach <detlev@die-offenbachs.de>
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing some utility functions for setup.cfg creation.
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 #
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11 # http://setuptools.readthedocs.io/en/latest/setuptools.html#specifying-values
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12 #
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13 # str - simple string
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14 # list-comma - dangling list or string of comma-separated values
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15 # list-semi - dangling list or string of semicolon-separated values
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16 # bool - True is 1, yes, true
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17 # dict - list-comma where keys are separated from values by =
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18 #
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19
9205
b75da2ba2a1a Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9201
diff changeset
20
9201
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 def _bool2string(value):
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 """
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 Function to convert a bool value to a setup.cfg string.
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 @param value bool value to be converted
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 @type bool
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 @return setup.cfg string
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 @rtype str
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 """
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 return "True" if value else "False"
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 def _list2string(value):
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 """
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 Function to convert a list value to a setup.cfg string.
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 @param value list value to be converted
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 @type list
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 @return setup.cfg string
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 @rtype str
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 """
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 if value:
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 return "\n{0}".format("\n".join(sorted(filter(None, value))))
9205
b75da2ba2a1a Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9201
diff changeset
44
b75da2ba2a1a Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9201
diff changeset
45 return ""
9201
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 def _dict2list(value):
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 """
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 Function to convert a dict value to a setup.cfg list string.
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 @param value dict value to be converted
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 @type dict
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 @yield setup.cfg string
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 @ytype str
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 """
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 for k, v in value.items():
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 yield "{0} = {1}".format(k, v)
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61 def _dict2string(value):
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 """
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 Function to convert a dict value to a setup.cfg string.
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65 @param value dict value to be converted
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66 @type dict
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67 @return setup.cfg string
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68 @rtype str
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69 """
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70 return _list2string(list(_dict2list(value)))
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
71
9205
b75da2ba2a1a Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9201
diff changeset
72
9201
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
73 def toString(value):
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
74 """
9205
b75da2ba2a1a Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9201
diff changeset
75 Function to convert a value to a setup.cfg string.
9201
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
77 @param value value to be converted
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
78 @type bool, list, set, tuple or dict
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
79 @return setup.cfg string
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80 @rtype str
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81 """
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
82 if isinstance(value, bool):
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
83 return _bool2string(value)
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
84 if isinstance(value, (list, set, tuple)):
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85 return _list2string(value)
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
86 if isinstance(value, dict):
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
87 return _dict2string(value)
2f1ccadee231 setup Wizard
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
88 return str(value).rstrip()

eric ide

mercurial