PythonExtensionsCollection 0.2.0__py3-none-any.whl → 0.13.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- PythonExtensionsCollection/Comparison/CComparison.py +341 -0
- PythonExtensionsCollection/Comparison/__init__.py +13 -0
- PythonExtensionsCollection/File/CFile.py +326 -106
- PythonExtensionsCollection/File/__init__.py +1 -1
- PythonExtensionsCollection/Folder/CFolder.py +460 -0
- PythonExtensionsCollection/Folder/__init__.py +13 -0
- PythonExtensionsCollection/PythonExtensionsCollection.pdf +0 -0
- PythonExtensionsCollection/String/CString.py +128 -344
- PythonExtensionsCollection/String/__init__.py +1 -1
- PythonExtensionsCollection/Utils/CUtils.py +77 -74
- PythonExtensionsCollection/Utils/__init__.py +1 -1
- PythonExtensionsCollection/__init__.py +1 -1
- PythonExtensionsCollection/version.py +23 -0
- {PythonExtensionsCollection-0.2.0.dist-info → PythonExtensionsCollection-0.13.0.dist-info}/METADATA +57 -44
- PythonExtensionsCollection-0.13.0.dist-info/RECORD +18 -0
- {PythonExtensionsCollection-0.2.0.dist-info → PythonExtensionsCollection-0.13.0.dist-info}/WHEEL +1 -1
- PythonExtensionsCollection/doc/.buildinfo +0 -4
- PythonExtensionsCollection/doc/File.html +0 -315
- PythonExtensionsCollection/doc/String.html +0 -590
- PythonExtensionsCollection/doc/Utils.html +0 -209
- PythonExtensionsCollection/doc/_modules/PythonExtensionsCollection/File/CFile.html +0 -960
- PythonExtensionsCollection/doc/_modules/PythonExtensionsCollection/String/CString.html +0 -1221
- PythonExtensionsCollection/doc/_modules/PythonExtensionsCollection/Utils/CUtils.html +0 -431
- PythonExtensionsCollection/doc/_modules/index.html +0 -106
- PythonExtensionsCollection/doc/_sources/File.rst.txt +0 -28
- PythonExtensionsCollection/doc/_sources/String.rst.txt +0 -28
- PythonExtensionsCollection/doc/_sources/Utils.rst.txt +0 -28
- PythonExtensionsCollection/doc/_sources/additional_doc/Introduction.rst.txt +0 -365
- PythonExtensionsCollection/doc/_sources/index.rst.txt +0 -27
- PythonExtensionsCollection/doc/_static/_sphinx_javascript_frameworks_compat.js +0 -134
- PythonExtensionsCollection/doc/_static/alabaster.css +0 -701
- PythonExtensionsCollection/doc/_static/basic.css +0 -930
- PythonExtensionsCollection/doc/_static/custom.css +0 -1
- PythonExtensionsCollection/doc/_static/doctools.js +0 -264
- PythonExtensionsCollection/doc/_static/documentation_options.js +0 -14
- PythonExtensionsCollection/doc/_static/file.png +0 -0
- PythonExtensionsCollection/doc/_static/jquery-3.6.0.js +0 -10881
- PythonExtensionsCollection/doc/_static/jquery.js +0 -2
- PythonExtensionsCollection/doc/_static/language_data.js +0 -199
- PythonExtensionsCollection/doc/_static/minus.png +0 -0
- PythonExtensionsCollection/doc/_static/plus.png +0 -0
- PythonExtensionsCollection/doc/_static/pygments.css +0 -82
- PythonExtensionsCollection/doc/_static/searchtools.js +0 -531
- PythonExtensionsCollection/doc/_static/underscore-1.13.1.js +0 -2042
- PythonExtensionsCollection/doc/_static/underscore.js +0 -6
- PythonExtensionsCollection/doc/additional_doc/Introduction.html +0 -365
- PythonExtensionsCollection/doc/genindex.html +0 -292
- PythonExtensionsCollection/doc/index.html +0 -123
- PythonExtensionsCollection/doc/objects.inv +0 -0
- PythonExtensionsCollection/doc/py-modindex.html +0 -138
- PythonExtensionsCollection/doc/search.html +0 -127
- PythonExtensionsCollection/doc/searchindex.js +0 -1
- PythonExtensionsCollection-0.2.0.dist-info/RECORD +0 -48
- {PythonExtensionsCollection-0.2.0.dist-info → PythonExtensionsCollection-0.13.0.dist-info}/LICENSE +0 -0
- {PythonExtensionsCollection-0.2.0.dist-info → PythonExtensionsCollection-0.13.0.dist-info}/top_level.txt +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/* This file intentionally left blank. */
|
|
@@ -1,264 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* doctools.js
|
|
3
|
-
* ~~~~~~~~~~~
|
|
4
|
-
*
|
|
5
|
-
* Base JavaScript utilities for all Sphinx HTML documentation.
|
|
6
|
-
*
|
|
7
|
-
* :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS.
|
|
8
|
-
* :license: BSD, see LICENSE for details.
|
|
9
|
-
*
|
|
10
|
-
*/
|
|
11
|
-
"use strict";
|
|
12
|
-
|
|
13
|
-
const _ready = (callback) => {
|
|
14
|
-
if (document.readyState !== "loading") {
|
|
15
|
-
callback();
|
|
16
|
-
} else {
|
|
17
|
-
document.addEventListener("DOMContentLoaded", callback);
|
|
18
|
-
}
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* highlight a given string on a node by wrapping it in
|
|
23
|
-
* span elements with the given class name.
|
|
24
|
-
*/
|
|
25
|
-
const _highlight = (node, addItems, text, className) => {
|
|
26
|
-
if (node.nodeType === Node.TEXT_NODE) {
|
|
27
|
-
const val = node.nodeValue;
|
|
28
|
-
const parent = node.parentNode;
|
|
29
|
-
const pos = val.toLowerCase().indexOf(text);
|
|
30
|
-
if (
|
|
31
|
-
pos >= 0 &&
|
|
32
|
-
!parent.classList.contains(className) &&
|
|
33
|
-
!parent.classList.contains("nohighlight")
|
|
34
|
-
) {
|
|
35
|
-
let span;
|
|
36
|
-
|
|
37
|
-
const closestNode = parent.closest("body, svg, foreignObject");
|
|
38
|
-
const isInSVG = closestNode && closestNode.matches("svg");
|
|
39
|
-
if (isInSVG) {
|
|
40
|
-
span = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
|
|
41
|
-
} else {
|
|
42
|
-
span = document.createElement("span");
|
|
43
|
-
span.classList.add(className);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
span.appendChild(document.createTextNode(val.substr(pos, text.length)));
|
|
47
|
-
parent.insertBefore(
|
|
48
|
-
span,
|
|
49
|
-
parent.insertBefore(
|
|
50
|
-
document.createTextNode(val.substr(pos + text.length)),
|
|
51
|
-
node.nextSibling
|
|
52
|
-
)
|
|
53
|
-
);
|
|
54
|
-
node.nodeValue = val.substr(0, pos);
|
|
55
|
-
|
|
56
|
-
if (isInSVG) {
|
|
57
|
-
const rect = document.createElementNS(
|
|
58
|
-
"http://www.w3.org/2000/svg",
|
|
59
|
-
"rect"
|
|
60
|
-
);
|
|
61
|
-
const bbox = parent.getBBox();
|
|
62
|
-
rect.x.baseVal.value = bbox.x;
|
|
63
|
-
rect.y.baseVal.value = bbox.y;
|
|
64
|
-
rect.width.baseVal.value = bbox.width;
|
|
65
|
-
rect.height.baseVal.value = bbox.height;
|
|
66
|
-
rect.setAttribute("class", className);
|
|
67
|
-
addItems.push({ parent: parent, target: rect });
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
} else if (node.matches && !node.matches("button, select, textarea")) {
|
|
71
|
-
node.childNodes.forEach((el) => _highlight(el, addItems, text, className));
|
|
72
|
-
}
|
|
73
|
-
};
|
|
74
|
-
const _highlightText = (thisNode, text, className) => {
|
|
75
|
-
let addItems = [];
|
|
76
|
-
_highlight(thisNode, addItems, text, className);
|
|
77
|
-
addItems.forEach((obj) =>
|
|
78
|
-
obj.parent.insertAdjacentElement("beforebegin", obj.target)
|
|
79
|
-
);
|
|
80
|
-
};
|
|
81
|
-
|
|
82
|
-
/**
|
|
83
|
-
* Small JavaScript module for the documentation.
|
|
84
|
-
*/
|
|
85
|
-
const Documentation = {
|
|
86
|
-
init: () => {
|
|
87
|
-
Documentation.highlightSearchWords();
|
|
88
|
-
Documentation.initDomainIndexTable();
|
|
89
|
-
Documentation.initOnKeyListeners();
|
|
90
|
-
},
|
|
91
|
-
|
|
92
|
-
/**
|
|
93
|
-
* i18n support
|
|
94
|
-
*/
|
|
95
|
-
TRANSLATIONS: {},
|
|
96
|
-
PLURAL_EXPR: (n) => (n === 1 ? 0 : 1),
|
|
97
|
-
LOCALE: "unknown",
|
|
98
|
-
|
|
99
|
-
// gettext and ngettext don't access this so that the functions
|
|
100
|
-
// can safely bound to a different name (_ = Documentation.gettext)
|
|
101
|
-
gettext: (string) => {
|
|
102
|
-
const translated = Documentation.TRANSLATIONS[string];
|
|
103
|
-
switch (typeof translated) {
|
|
104
|
-
case "undefined":
|
|
105
|
-
return string; // no translation
|
|
106
|
-
case "string":
|
|
107
|
-
return translated; // translation exists
|
|
108
|
-
default:
|
|
109
|
-
return translated[0]; // (singular, plural) translation tuple exists
|
|
110
|
-
}
|
|
111
|
-
},
|
|
112
|
-
|
|
113
|
-
ngettext: (singular, plural, n) => {
|
|
114
|
-
const translated = Documentation.TRANSLATIONS[singular];
|
|
115
|
-
if (typeof translated !== "undefined")
|
|
116
|
-
return translated[Documentation.PLURAL_EXPR(n)];
|
|
117
|
-
return n === 1 ? singular : plural;
|
|
118
|
-
},
|
|
119
|
-
|
|
120
|
-
addTranslations: (catalog) => {
|
|
121
|
-
Object.assign(Documentation.TRANSLATIONS, catalog.messages);
|
|
122
|
-
Documentation.PLURAL_EXPR = new Function(
|
|
123
|
-
"n",
|
|
124
|
-
`return (${catalog.plural_expr})`
|
|
125
|
-
);
|
|
126
|
-
Documentation.LOCALE = catalog.locale;
|
|
127
|
-
},
|
|
128
|
-
|
|
129
|
-
/**
|
|
130
|
-
* highlight the search words provided in the url in the text
|
|
131
|
-
*/
|
|
132
|
-
highlightSearchWords: () => {
|
|
133
|
-
const highlight =
|
|
134
|
-
new URLSearchParams(window.location.search).get("highlight") || "";
|
|
135
|
-
const terms = highlight.toLowerCase().split(/\s+/).filter(x => x);
|
|
136
|
-
if (terms.length === 0) return; // nothing to do
|
|
137
|
-
|
|
138
|
-
// There should never be more than one element matching "div.body"
|
|
139
|
-
const divBody = document.querySelectorAll("div.body");
|
|
140
|
-
const body = divBody.length ? divBody[0] : document.querySelector("body");
|
|
141
|
-
window.setTimeout(() => {
|
|
142
|
-
terms.forEach((term) => _highlightText(body, term, "highlighted"));
|
|
143
|
-
}, 10);
|
|
144
|
-
|
|
145
|
-
const searchBox = document.getElementById("searchbox");
|
|
146
|
-
if (searchBox === null) return;
|
|
147
|
-
searchBox.appendChild(
|
|
148
|
-
document
|
|
149
|
-
.createRange()
|
|
150
|
-
.createContextualFragment(
|
|
151
|
-
'<p class="highlight-link">' +
|
|
152
|
-
'<a href="javascript:Documentation.hideSearchWords()">' +
|
|
153
|
-
Documentation.gettext("Hide Search Matches") +
|
|
154
|
-
"</a></p>"
|
|
155
|
-
)
|
|
156
|
-
);
|
|
157
|
-
},
|
|
158
|
-
|
|
159
|
-
/**
|
|
160
|
-
* helper function to hide the search marks again
|
|
161
|
-
*/
|
|
162
|
-
hideSearchWords: () => {
|
|
163
|
-
document
|
|
164
|
-
.querySelectorAll("#searchbox .highlight-link")
|
|
165
|
-
.forEach((el) => el.remove());
|
|
166
|
-
document
|
|
167
|
-
.querySelectorAll("span.highlighted")
|
|
168
|
-
.forEach((el) => el.classList.remove("highlighted"));
|
|
169
|
-
const url = new URL(window.location);
|
|
170
|
-
url.searchParams.delete("highlight");
|
|
171
|
-
window.history.replaceState({}, "", url);
|
|
172
|
-
},
|
|
173
|
-
|
|
174
|
-
/**
|
|
175
|
-
* helper function to focus on search bar
|
|
176
|
-
*/
|
|
177
|
-
focusSearchBar: () => {
|
|
178
|
-
document.querySelectorAll("input[name=q]")[0]?.focus();
|
|
179
|
-
},
|
|
180
|
-
|
|
181
|
-
/**
|
|
182
|
-
* Initialise the domain index toggle buttons
|
|
183
|
-
*/
|
|
184
|
-
initDomainIndexTable: () => {
|
|
185
|
-
const toggler = (el) => {
|
|
186
|
-
const idNumber = el.id.substr(7);
|
|
187
|
-
const toggledRows = document.querySelectorAll(`tr.cg-${idNumber}`);
|
|
188
|
-
if (el.src.substr(-9) === "minus.png") {
|
|
189
|
-
el.src = `${el.src.substr(0, el.src.length - 9)}plus.png`;
|
|
190
|
-
toggledRows.forEach((el) => (el.style.display = "none"));
|
|
191
|
-
} else {
|
|
192
|
-
el.src = `${el.src.substr(0, el.src.length - 8)}minus.png`;
|
|
193
|
-
toggledRows.forEach((el) => (el.style.display = ""));
|
|
194
|
-
}
|
|
195
|
-
};
|
|
196
|
-
|
|
197
|
-
const togglerElements = document.querySelectorAll("img.toggler");
|
|
198
|
-
togglerElements.forEach((el) =>
|
|
199
|
-
el.addEventListener("click", (event) => toggler(event.currentTarget))
|
|
200
|
-
);
|
|
201
|
-
togglerElements.forEach((el) => (el.style.display = ""));
|
|
202
|
-
if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) togglerElements.forEach(toggler);
|
|
203
|
-
},
|
|
204
|
-
|
|
205
|
-
initOnKeyListeners: () => {
|
|
206
|
-
// only install a listener if it is really needed
|
|
207
|
-
if (
|
|
208
|
-
!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS &&
|
|
209
|
-
!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS
|
|
210
|
-
)
|
|
211
|
-
return;
|
|
212
|
-
|
|
213
|
-
const blacklistedElements = new Set([
|
|
214
|
-
"TEXTAREA",
|
|
215
|
-
"INPUT",
|
|
216
|
-
"SELECT",
|
|
217
|
-
"BUTTON",
|
|
218
|
-
]);
|
|
219
|
-
document.addEventListener("keydown", (event) => {
|
|
220
|
-
if (blacklistedElements.has(document.activeElement.tagName)) return; // bail for input elements
|
|
221
|
-
if (event.altKey || event.ctrlKey || event.metaKey) return; // bail with special keys
|
|
222
|
-
|
|
223
|
-
if (!event.shiftKey) {
|
|
224
|
-
switch (event.key) {
|
|
225
|
-
case "ArrowLeft":
|
|
226
|
-
if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break;
|
|
227
|
-
|
|
228
|
-
const prevLink = document.querySelector('link[rel="prev"]');
|
|
229
|
-
if (prevLink && prevLink.href) {
|
|
230
|
-
window.location.href = prevLink.href;
|
|
231
|
-
event.preventDefault();
|
|
232
|
-
}
|
|
233
|
-
break;
|
|
234
|
-
case "ArrowRight":
|
|
235
|
-
if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break;
|
|
236
|
-
|
|
237
|
-
const nextLink = document.querySelector('link[rel="next"]');
|
|
238
|
-
if (nextLink && nextLink.href) {
|
|
239
|
-
window.location.href = nextLink.href;
|
|
240
|
-
event.preventDefault();
|
|
241
|
-
}
|
|
242
|
-
break;
|
|
243
|
-
case "Escape":
|
|
244
|
-
if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break;
|
|
245
|
-
Documentation.hideSearchWords();
|
|
246
|
-
event.preventDefault();
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
|
|
250
|
-
// some keyboard layouts may need Shift to get /
|
|
251
|
-
switch (event.key) {
|
|
252
|
-
case "/":
|
|
253
|
-
if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break;
|
|
254
|
-
Documentation.focusSearchBar();
|
|
255
|
-
event.preventDefault();
|
|
256
|
-
}
|
|
257
|
-
});
|
|
258
|
-
},
|
|
259
|
-
};
|
|
260
|
-
|
|
261
|
-
// quick alias for translations
|
|
262
|
-
const _ = Documentation.gettext;
|
|
263
|
-
|
|
264
|
-
_ready(Documentation.init);
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
var DOCUMENTATION_OPTIONS = {
|
|
2
|
-
URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
|
|
3
|
-
VERSION: '',
|
|
4
|
-
LANGUAGE: 'en',
|
|
5
|
-
COLLAPSE_INDEX: false,
|
|
6
|
-
BUILDER: 'html',
|
|
7
|
-
FILE_SUFFIX: '.html',
|
|
8
|
-
LINK_SUFFIX: '.html',
|
|
9
|
-
HAS_SOURCE: true,
|
|
10
|
-
SOURCELINK_SUFFIX: '.txt',
|
|
11
|
-
NAVIGATION_WITH_KEYS: false,
|
|
12
|
-
SHOW_SEARCH_SUMMARY: true,
|
|
13
|
-
ENABLE_SEARCH_SHORTCUTS: false,
|
|
14
|
-
};
|
|
Binary file
|