devpi-web 4.2.0__tar.gz → 4.2.2__tar.gz
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.
- devpi_web-4.2.2/.flake8 +2 -0
- {devpi-web-4.2.0 → devpi_web-4.2.2}/CHANGELOG +25 -0
- {devpi-web-4.2.0 → devpi_web-4.2.2}/MANIFEST.in +1 -1
- {devpi-web-4.2.0 → devpi_web-4.2.2}/PKG-INFO +37 -19
- devpi_web-4.2.2/devpi_web/__init__.py +1 -0
- {devpi-web-4.2.0 → devpi_web-4.2.2}/devpi_web/clear_index.py +2 -1
- {devpi-web-4.2.0 → devpi_web-4.2.2}/devpi_web/config.py +0 -2
- {devpi-web-4.2.0 → devpi_web-4.2.2}/devpi_web/doczip.py +1 -1
- {devpi-web-4.2.0 → devpi_web-4.2.2}/devpi_web/main.py +1 -15
- {devpi-web-4.2.0 → devpi_web-4.2.2}/devpi_web/static/docview.js +5 -0
- devpi_web-4.2.2/devpi_web/static/style-old.css +847 -0
- {devpi-web-4.2.0 → devpi_web-4.2.2}/devpi_web/static/style.css +22 -1
- {devpi-web-4.2.0 → devpi_web-4.2.2}/devpi_web/views.py +2 -2
- {devpi-web-4.2.0 → devpi_web-4.2.2}/devpi_web/whoosh_index.py +8 -10
- {devpi-web-4.2.0 → devpi_web-4.2.2}/devpi_web.egg-info/PKG-INFO +37 -19
- {devpi-web-4.2.0 → devpi_web-4.2.2}/devpi_web.egg-info/SOURCES.txt +2 -0
- {devpi-web-4.2.0 → devpi_web-4.2.2}/devpi_web.egg-info/requires.txt +1 -1
- {devpi-web-4.2.0 → devpi_web-4.2.2}/setup.py +3 -3
- devpi_web-4.2.2/tests/conftest.py +57 -0
- {devpi-web-4.2.0 → devpi_web-4.2.2}/tests/test_indexing.py +1 -0
- {devpi-web-4.2.0 → devpi_web-4.2.2}/tests/test_main.py +6 -5
- {devpi-web-4.2.0 → devpi_web-4.2.2}/tests/test_theme.py +4 -1
- {devpi-web-4.2.0 → devpi_web-4.2.2}/tests/test_views.py +15 -14
- {devpi-web-4.2.0 → devpi_web-4.2.2}/tests/test_views_docs.py +26 -17
- {devpi-web-4.2.0 → devpi_web-4.2.2}/tests/test_views_misc.py +18 -2
- {devpi-web-4.2.0 → devpi_web-4.2.2}/tests/test_views_search.py +6 -2
- {devpi-web-4.2.0 → devpi_web-4.2.2}/tests/test_views_toxresults.py +6 -3
- {devpi-web-4.2.0 → devpi_web-4.2.2}/tests/test_whoosh_index.py +6 -3
- devpi_web-4.2.2/tox.ini +49 -0
- devpi-web-4.2.0/devpi_web/__init__.py +0 -1
- devpi-web-4.2.0/tests/conftest.py +0 -51
- devpi-web-4.2.0/tox.ini +0 -35
- {devpi-web-4.2.0 → devpi_web-4.2.2}/AUTHORS +0 -0
- {devpi-web-4.2.0 → devpi_web-4.2.2}/LICENSE +0 -0
- {devpi-web-4.2.0 → devpi_web-4.2.2}/README.rst +0 -0
- {devpi-web-4.2.0 → devpi_web-4.2.2}/devpi_web/description.py +0 -0
- {devpi-web-4.2.0 → devpi_web-4.2.2}/devpi_web/hookspecs.py +0 -0
- {devpi-web-4.2.0 → devpi_web-4.2.2}/devpi_web/indexing.py +0 -0
- {devpi-web-4.2.0 → devpi_web-4.2.2}/devpi_web/null_index.py +0 -0
- {devpi-web-4.2.0 → devpi_web-4.2.2}/devpi_web/static/common.js +0 -0
- {devpi-web-4.2.0 → devpi_web-4.2.2}/devpi_web/static/favicon.ico +0 -0
- {devpi-web-4.2.0 → devpi_web-4.2.2}/devpi_web/static/jquery-3.6.0.min.js +0 -0
- {devpi-web-4.2.0 → devpi_web-4.2.2}/devpi_web/templates/doc.pt +0 -0
- {devpi-web-4.2.0 → devpi_web-4.2.2}/devpi_web/templates/error.pt +0 -0
- {devpi-web-4.2.0 → devpi_web-4.2.2}/devpi_web/templates/index.pt +0 -0
- {devpi-web-4.2.0 → devpi_web-4.2.2}/devpi_web/templates/macros.pt +0 -0
- {devpi-web-4.2.0 → devpi_web-4.2.2}/devpi_web/templates/notfound.pt +0 -0
- {devpi-web-4.2.0 → devpi_web-4.2.2}/devpi_web/templates/project.pt +0 -0
- {devpi-web-4.2.0 → devpi_web-4.2.2}/devpi_web/templates/root.pt +0 -0
- {devpi-web-4.2.0 → devpi_web-4.2.2}/devpi_web/templates/search.pt +0 -0
- {devpi-web-4.2.0 → devpi_web-4.2.2}/devpi_web/templates/search_help.pt +0 -0
- {devpi-web-4.2.0 → devpi_web-4.2.2}/devpi_web/templates/status.pt +0 -0
- {devpi-web-4.2.0 → devpi_web-4.2.2}/devpi_web/templates/toxresult.pt +0 -0
- {devpi-web-4.2.0 → devpi_web-4.2.2}/devpi_web/templates/toxresults.pt +0 -0
- {devpi-web-4.2.0 → devpi_web-4.2.2}/devpi_web/templates/user.pt +0 -0
- {devpi-web-4.2.0 → devpi_web-4.2.2}/devpi_web/templates/version.pt +0 -0
- {devpi-web-4.2.0 → devpi_web-4.2.2}/devpi_web.egg-info/dependency_links.txt +0 -0
- {devpi-web-4.2.0 → devpi_web-4.2.2}/devpi_web.egg-info/entry_points.txt +0 -0
- {devpi-web-4.2.0 → devpi_web-4.2.2}/devpi_web.egg-info/not-zip-safe +0 -0
- {devpi-web-4.2.0 → devpi_web-4.2.2}/devpi_web.egg-info/top_level.txt +0 -0
- {devpi-web-4.2.0 → devpi_web-4.2.2}/pyproject.toml +0 -0
- {devpi-web-4.2.0 → devpi_web-4.2.2}/setup.cfg +0 -0
devpi_web-4.2.2/.flake8
ADDED
|
@@ -2,6 +2,31 @@
|
|
|
2
2
|
|
|
3
3
|
.. towncrier release notes start
|
|
4
4
|
|
|
5
|
+
4.2.2 (2024-04-20)
|
|
6
|
+
==================
|
|
7
|
+
|
|
8
|
+
Bug Fixes
|
|
9
|
+
---------
|
|
10
|
+
|
|
11
|
+
- style.css: Always let content be full browser height. This also gives more height with some documentation themes when content is short.
|
|
12
|
+
|
|
13
|
+
- style.css: set ``scrollbar-gutter: stable`` on ``body`` to prevent jumping content in documentation iframe.
|
|
14
|
+
|
|
15
|
+
- Fix #970: overwrite fixed html/body heights like ``100%`` in documentation iframe content.
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
4.2.1 (2023-07-02)
|
|
20
|
+
==================
|
|
21
|
+
|
|
22
|
+
Bug Fixes
|
|
23
|
+
---------
|
|
24
|
+
|
|
25
|
+
- Fix #953: Exception when browsers send ETag for documentation pages.
|
|
26
|
+
|
|
27
|
+
- Fix #980: Remove long deprecated backward compatibility for old pluggy versions to fix error with pluggy 1.1.0.
|
|
28
|
+
|
|
29
|
+
|
|
5
30
|
4.2.0 (2022-12-05)
|
|
6
31
|
==================
|
|
7
32
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: devpi-web
|
|
3
|
-
Version: 4.2.
|
|
3
|
+
Version: 4.2.2
|
|
4
4
|
Summary: devpi-web: a web view for devpi-server
|
|
5
5
|
Home-page: https://devpi.net
|
|
6
6
|
Maintainer: Florian Schulze
|
|
@@ -27,9 +27,20 @@ Classifier: Programming Language :: Python :: 3.8
|
|
|
27
27
|
Classifier: Programming Language :: Python :: 3.9
|
|
28
28
|
Classifier: Programming Language :: Python :: 3.10
|
|
29
29
|
Classifier: Programming Language :: Python :: 3.11
|
|
30
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
30
31
|
Requires-Python: >=3.4
|
|
31
32
|
License-File: LICENSE
|
|
32
33
|
License-File: AUTHORS
|
|
34
|
+
Requires-Dist: Whoosh<3
|
|
35
|
+
Requires-Dist: beautifulsoup4!=4.12.1,>=4.3.2
|
|
36
|
+
Requires-Dist: defusedxml
|
|
37
|
+
Requires-Dist: devpi-server>=5.2.0
|
|
38
|
+
Requires-Dist: devpi-common>=3.2.0
|
|
39
|
+
Requires-Dist: docutils>=0.11
|
|
40
|
+
Requires-Dist: pygments>=1.6
|
|
41
|
+
Requires-Dist: pyramid!=1.10a1
|
|
42
|
+
Requires-Dist: pyramid-chameleon
|
|
43
|
+
Requires-Dist: readme-renderer[md]>=23.0
|
|
33
44
|
|
|
34
45
|
================================================
|
|
35
46
|
devpi-web: web interface plugin for devpi-server
|
|
@@ -76,6 +87,31 @@ Changelog
|
|
|
76
87
|
|
|
77
88
|
.. towncrier release notes start
|
|
78
89
|
|
|
90
|
+
4.2.2 (2024-04-20)
|
|
91
|
+
==================
|
|
92
|
+
|
|
93
|
+
Bug Fixes
|
|
94
|
+
---------
|
|
95
|
+
|
|
96
|
+
- style.css: Always let content be full browser height. This also gives more height with some documentation themes when content is short.
|
|
97
|
+
|
|
98
|
+
- style.css: set ``scrollbar-gutter: stable`` on ``body`` to prevent jumping content in documentation iframe.
|
|
99
|
+
|
|
100
|
+
- Fix #970: overwrite fixed html/body heights like ``100%`` in documentation iframe content.
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
4.2.1 (2023-07-02)
|
|
105
|
+
==================
|
|
106
|
+
|
|
107
|
+
Bug Fixes
|
|
108
|
+
---------
|
|
109
|
+
|
|
110
|
+
- Fix #953: Exception when browsers send ETag for documentation pages.
|
|
111
|
+
|
|
112
|
+
- Fix #980: Remove long deprecated backward compatibility for old pluggy versions to fix error with pluggy 1.1.0.
|
|
113
|
+
|
|
114
|
+
|
|
79
115
|
4.2.0 (2022-12-05)
|
|
80
116
|
==================
|
|
81
117
|
|
|
@@ -133,21 +169,3 @@ Bug Fixes
|
|
|
133
169
|
|
|
134
170
|
- Fix #867: AttributeError during ``devpi-import`` and maybe other commands.
|
|
135
171
|
|
|
136
|
-
|
|
137
|
-
4.0.8 (2021-08-12)
|
|
138
|
-
==================
|
|
139
|
-
|
|
140
|
-
Bug Fixes
|
|
141
|
-
---------
|
|
142
|
-
|
|
143
|
-
- On startup loop over mirror indexes last to avoid filling up the indexing queue, which processes non mirror indexes first.
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
4.0.7 (2021-07-11)
|
|
147
|
-
==================
|
|
148
|
-
|
|
149
|
-
Bug Fixes
|
|
150
|
-
---------
|
|
151
|
-
|
|
152
|
-
- The "Not Found" view now works correctly with request methods other than GET, HEAD and POST.
|
|
153
|
-
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = '4.2.2'
|
|
@@ -31,7 +31,8 @@ def clear_index(argv=None):
|
|
|
31
31
|
configure_cli_logging(config.args)
|
|
32
32
|
xom = xom_from_config(config)
|
|
33
33
|
log = xom.log
|
|
34
|
-
log.warn(
|
|
34
|
+
log.warn( # noqa: PGH002,G010 - this is actually TagLogger from devpi-server, but devpi-web still needs to support older devpi-server versions
|
|
35
|
+
"You should stop devpi-server before running this command.")
|
|
35
36
|
ix = get_indexer(xom)
|
|
36
37
|
ix.delete_index()
|
|
37
38
|
log.info("Index deleted, start devpi-server again to let the index rebuild automatically.")
|
|
@@ -8,8 +8,6 @@ def get_pluginmanager(config, load_entry_points=True):
|
|
|
8
8
|
if pm is not None:
|
|
9
9
|
return pm
|
|
10
10
|
pm = PluginManager("devpiweb")
|
|
11
|
-
# support old plugins, but emit deprecation warnings
|
|
12
|
-
pm._implprefix = "devpiweb_"
|
|
13
11
|
pm.add_hookspecs(hookspecs)
|
|
14
12
|
if load_entry_points:
|
|
15
13
|
pm.load_setuptools_entrypoints("devpi_web")
|
|
@@ -239,19 +239,6 @@ def devpiserver_pyramid_configure(config, pyramid_config):
|
|
|
239
239
|
xom = pyramid_config.registry['xom']
|
|
240
240
|
pyramid_config.registry['search_index'] = get_indexer(xom)
|
|
241
241
|
|
|
242
|
-
# monkeypatch mimetypes.guess_type on because pyramid-1.5.1/webob
|
|
243
|
-
# choke on mimtypes.guess_type on windows with python2.7
|
|
244
|
-
if sys.platform == "win32" and sys.version_info[:2] == (2, 7):
|
|
245
|
-
import mimetypes
|
|
246
|
-
old = mimetypes.guess_type
|
|
247
|
-
|
|
248
|
-
def guess_type_str(url, strict=True):
|
|
249
|
-
res = old(url, strict)
|
|
250
|
-
return str(res[0]), res[1]
|
|
251
|
-
|
|
252
|
-
mimetypes.guess_type = guess_type_str
|
|
253
|
-
threadlog.debug("monkeypatched mimetypes.guess_type to return bytes")
|
|
254
|
-
|
|
255
242
|
|
|
256
243
|
@devpiserver_hookimpl
|
|
257
244
|
def devpiserver_add_parser_options(parser):
|
|
@@ -307,8 +294,7 @@ def devpiserver_cmdline_run(xom):
|
|
|
307
294
|
docs_path = xom.config.args.documentation_path
|
|
308
295
|
if docs_path is not None and not os.path.isabs(docs_path):
|
|
309
296
|
fatal("The path for unzipped documentation must be absolute.")
|
|
310
|
-
# allow devpi-server to run
|
|
311
|
-
return None
|
|
297
|
+
# return None to allow devpi-server to run
|
|
312
298
|
|
|
313
299
|
|
|
314
300
|
def delete_project(stage, name):
|
|
@@ -12,6 +12,7 @@ function onIFrameLoad(event) {
|
|
|
12
12
|
$iframe = $(iframe),
|
|
13
13
|
$doc = $(iframe.contentWindow.document),
|
|
14
14
|
$docHtml = $doc.find('html'),
|
|
15
|
+
$docBody = $docHtml.find('body'),
|
|
15
16
|
scrolled_to_anchor = false,
|
|
16
17
|
iframeResizeObserver = new ResizeObserver((entries) => {
|
|
17
18
|
for (const entry of entries) {
|
|
@@ -28,6 +29,10 @@ function onIFrameLoad(event) {
|
|
|
28
29
|
}
|
|
29
30
|
});
|
|
30
31
|
|
|
32
|
+
$docHtml.css('height', 'auto');
|
|
33
|
+
$docHtml.css('overflow-y', 'hidden');
|
|
34
|
+
$docBody.css('height', 'auto');
|
|
35
|
+
$docBody.css('overflow-y', 'hidden');
|
|
31
36
|
// make keyboard actions affect the actual documentation
|
|
32
37
|
// in the iframe by default
|
|
33
38
|
iframe.contentWindow.focus();
|