- Update to version 0.13.1
* Added DeprecationWarning warning for Python 2 * fix: Bottle.__setattr__ breaks data descriptors - from version 0.13.0 * This release contains breaking changers, please read the notes below * Dropped support for Python versions that reached their end-of-life. * The documented API of the :class:`ConfigDict` class is now considered stable and ready to use. * Plugins with the old API (``api=1`` or no api attribute) will no longer work. * Parameter order of :meth:`Bottle.mount` changed in 0.10. The old order will now result in an error instead of a warning. * The :class:`ConfigDict` class was introduced in 0.11 and changed during 0.12. These changes are now final. * Attribute access and assignment was removed due to high overhead and limited usability. * Namespaced sub-instance creation was removed. ``config["a"]["b"]`` has a high overhead and little benefit over ``config["a.b"]``. * :class:`ConfigDict` instances are no longer callable. This was a shortcut for :meth:`ConfigDict.update`. * :class:`ConfigDict` constructor no longer accepts any parameters. Use the `load_*` methods instead. * Bottle 0.12 changed some aspects of the Simple Template Engine. These changes are now final and the old syntax will now longer work. * The magic ``{{rebase()}}`` call was replaced by a ``base`` variable. Example: ``{{base}}`` * In STPL Templates, the ``rebase`` and ``include`` keywords were replaced with functions in 0.12. * PEP-263 encoding strings are no longer recognized. Templates are always utf-8. * The 'geventSocketIO' server adapter was removed without notice. It did not work anyway. * Signed cookies now use a stronger HMAC algorithm by default. This will result in old cookies to appear invalid after the update. Pass an explicit ``digestmod=hashlib.md5`` to :meth:`Request.get_cookie <BaseRequest.get_cookie>` and :meth:`Response.set_cookie <BaseResponse.set_cookie>` to get the old behavior. OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-bottle?expand=0&rev=55
This commit is contained in:
commit
44deb1e4c8
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.osc
|
BIN
bottle-0.12.25.tar.gz
(Stored with Git LFS)
Normal file
BIN
bottle-0.12.25.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
3
bottle-0.13.1.tar.gz
Normal file
3
bottle-0.13.1.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a48852dc7a051353d3e4de3dd5590cd25de370bcfd94a72237561e314ceb0c88
|
||||
size 836422
|
BIN
bottle-docs.pdf
(Stored with Git LFS)
Normal file
BIN
bottle-docs.pdf
(Stored with Git LFS)
Normal file
Binary file not shown.
292
python-bottle.changes
Normal file
292
python-bottle.changes
Normal file
@ -0,0 +1,292 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon Sep 9 06:21:36 UTC 2024 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
|
||||
|
||||
- Update to version 0.13.1
|
||||
* Added DeprecationWarning warning for Python 2
|
||||
* fix: Bottle.__setattr__ breaks data descriptors
|
||||
- from version 0.13.0
|
||||
* This release contains breaking changers, please read the notes below
|
||||
* Dropped support for Python versions that reached their end-of-life.
|
||||
* The documented API of the :class:`ConfigDict` class is now considered
|
||||
stable and ready to use.
|
||||
* Plugins with the old API (``api=1`` or no api attribute) will no longer work.
|
||||
* Parameter order of :meth:`Bottle.mount` changed in 0.10.
|
||||
The old order will now result in an error instead of a warning.
|
||||
* The :class:`ConfigDict` class was introduced in 0.11 and changed during 0.12.
|
||||
These changes are now final.
|
||||
* Attribute access and assignment was removed due to high overhead and limited usability.
|
||||
* Namespaced sub-instance creation was removed. ``config["a"]["b"]``
|
||||
has a high overhead and little benefit over ``config["a.b"]``.
|
||||
* :class:`ConfigDict` instances are no longer callable.
|
||||
This was a shortcut for :meth:`ConfigDict.update`.
|
||||
* :class:`ConfigDict` constructor no longer accepts any parameters.
|
||||
Use the `load_*` methods instead.
|
||||
* Bottle 0.12 changed some aspects of the Simple Template Engine.
|
||||
These changes are now final and the old syntax will now longer work.
|
||||
* The magic ``{{rebase()}}`` call was replaced by a ``base`` variable. Example: ``{{base}}``
|
||||
* In STPL Templates, the ``rebase`` and ``include`` keywords were replaced with functions in 0.12.
|
||||
* PEP-263 encoding strings are no longer recognized. Templates are always utf-8.
|
||||
* The 'geventSocketIO' server adapter was removed without notice. It did not work anyway.
|
||||
* Signed cookies now use a stronger HMAC algorithm by default. This will result
|
||||
in old cookies to appear invalid after the update. Pass an explicit ``digestmod=hashlib.md5``
|
||||
to :meth:`Request.get_cookie <BaseRequest.get_cookie>` and :meth:`Response.set_cookie
|
||||
<BaseResponse.set_cookie>` to get the old behavior.
|
||||
* Bottle now ships with its own multipart form data parser (borrowed from `multipart
|
||||
<https://pypi.org/project/multipart/>`_) and no longer relies on ``cgi.FieldStorage``,
|
||||
which was removed in Python 3.13. This may change the way broken (non-standard) form
|
||||
submissions are parsed. The new parser is more strict and correct than ohe old one.
|
||||
* :class:`Bottle` instances are now context managers. If used in a with-statement,
|
||||
the default application changes to the specific instance and the shortcuts for
|
||||
many instance methods can be used.
|
||||
* Added support for ``PATCH`` requests and the :meth:`Bottle.patch` decorator.
|
||||
* Added `aiohttp <http://aiohttp.readthedocs.io/en/stable/>`_ and
|
||||
`uvloop <https://github.com/MagicStack/uvloop>`_ server adapters.
|
||||
* Added command-line arguments for config from json or ini files.
|
||||
* :meth:`Bottle.mount` now recognizes instances of :class:`Bottle` and
|
||||
mounts them with significantly less overhead than other WSGI applications.
|
||||
* The :attr:`Request.json <BaseRequest.json>` property
|
||||
now accepts ``application/json-rpc`` requests.
|
||||
* :func:`static_file` gained support for ``ETag`` headers. It will generate
|
||||
ETags and recognizes ``If-None-Match`` headers.
|
||||
* :func:`static_file` will now guess the mime type of ``*.gz`` and other compressed files
|
||||
correctly (e.g. ``application/gzip``) and NOT set the ``Content-Encoding`` header.
|
||||
* Jinja2 templates will produce better error messages than before.
|
||||
- Drop update-module-loader.patch, merged upstream
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Oct 18 05:46:24 UTC 2023 - Steve Kowalik <steven.kowalik@suse.com>
|
||||
|
||||
- Add patch update-module-loader.patch:
|
||||
* Add find_spec to the magic bottle.ext loader, Python 3.12 no longer
|
||||
calls find_module.
|
||||
- Switch to pyproject and autosetup macros.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri May 19 09:25:55 UTC 2023 - Jiri Srain <jsrain@suse.com>
|
||||
|
||||
- refresh bottle-docs.pdf from the upstream URL
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Apr 23 23:06:11 UTC 2023 - Matej Cepl <mcepl@suse.com>
|
||||
|
||||
- Switch documentation to be within the main package.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Apr 21 12:22:51 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- add sle15_python_module_pythons (jsc#PED-68)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Mar 5 17:56:40 UTC 2023 - Benoît Monin <benoit.monin@gmx.fr>
|
||||
|
||||
- update to version 0.12.25: bugfix release
|
||||
* Reduce deprectation warnings during tests
|
||||
* Adjusts the test_server 'fetch' method to disable proxying
|
||||
within test cases where it is used
|
||||
* fix #1194: Regular expression catastrophic backtracking in
|
||||
bottle.Router.rule_syntax
|
||||
* fix #1155: Catastrophic backtracking issue in template parser
|
||||
* Fix release task in Makefile
|
||||
* fix: Raising HTTPResponse should not bypass JsonPlugin
|
||||
- drop python_module macro: provided by python-rpm-macros
|
||||
- run fdupes to deduplicate identical files
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Feb 21 18:22:20 UTC 2023 - Benoît Monin <benoit.monin@gmx.fr>
|
||||
|
||||
- update to version 0.12.24: bugfix release
|
||||
* Fix fapws3 link
|
||||
* fix: Route.get_config typo
|
||||
* fix #1111: Unicode multipart/form-data values in python3
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Aug 3 20:24:55 UTC 2022 - Benoît Monin <benoit.monin@gmx.fr>
|
||||
|
||||
- update to version 0.12.23: bugfix release
|
||||
* fix: Include keyword-only-args in getarcspec() polyfill
|
||||
- additional changes from version 0.12.22:
|
||||
* fix: Jinja2 and mako test path issues
|
||||
* getargspec is gone in python 3.11: so use getfullargspec on all
|
||||
3.x versions instead
|
||||
* fix: view decorator does not forward default values if route
|
||||
result is None
|
||||
* fix: Make tests runnable with both unittest and pytest
|
||||
* fix: Cookie test falsely reports a failure for some python
|
||||
versions
|
||||
- drop fix_cookie_test.patch: fixed upstream
|
||||
- run the tests with unittest
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu May 26 20:41:56 UTC 2022 - Benoît Monin <benoit.monin@gmx.fr>
|
||||
|
||||
- update to version 0.12.21: bugfix release
|
||||
* Fix: Bad deprecation warning in cherrypy server adapter
|
||||
- update to version 0.12.20 (bsc#1200286, CVE-2022-31799):
|
||||
* fix: Multipart file uploads with empty filename not detected
|
||||
as binary
|
||||
* obsoletes 0002_Gracefully_handle_errors_during_early_request_binding.patch in older dists
|
||||
* fix auth_basic decorator (#586)
|
||||
* Add ServerAdapter for CherryPy >= 9
|
||||
* Gracefully handle errors during early request binding
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 13 17:49:59 UTC 2020 - Benoît Monin <benoit.monin@gmx.fr>
|
||||
|
||||
- update to version 0.12.19 (bsc#1182181, CVE-2020-28473):
|
||||
* obsoletes 0001_Do_not_split_query_strings_on_semicolon_anymore.patch in older dists
|
||||
* Do not split query strings on `;` anymore.
|
||||
* Fix the Allow: header value in 405 "Method not allowed."
|
||||
response.
|
||||
- add fix_cookie_test.patch: imported from upstream master branch
|
||||
- update the documentation pdf
|
||||
- remove the separate LICENSE file: now packaged in release
|
||||
- drop removing the executable bit from egg-info files: fixed
|
||||
- run the tests during build
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Apr 14 11:52:22 UTC 2020 - Matej Cepl <mcepl@suse.com>
|
||||
|
||||
- Don't use %python3_only command, but properly use alternatives.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Apr 8 12:04:22 UTC 2020 - Tomáš Chvátal <tchvatal@suse.com>
|
||||
|
||||
- Drop require on doc package to pull python2 package
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Dec 8 16:56:51 UTC 2019 - Benoît Monin <benoit.monin@gmx.fr>
|
||||
|
||||
- update to version 0.12.18:
|
||||
* Bugfix release to improve Python 3.8+ support
|
||||
- add the missing LICENSE file
|
||||
- update the documentation pdf
|
||||
- remove the executable bit from egg-info files
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Jul 28 16:13:23 UTC 2019 - Arun Persaud <arun@gmx.de>
|
||||
|
||||
- update to version 0.12.17:
|
||||
* fix #1148: redirect() and non-ascii characters
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Mar 17 14:57:13 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
|
||||
|
||||
- Ensure neutrality of description and fixup some
|
||||
spelling/grammar issues.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Feb 28 15:20:17 UTC 2019 - Ondřej Súkup <mimi.vx@gmail.com>
|
||||
|
||||
- update to 0.12.16
|
||||
* DeprecationWarning: Flags not at the start of the expression
|
||||
* Some modules set __file__ as None
|
||||
* gevent-1.3.0 removes 'fast' wsgi implementation.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Mar 29 15:24:50 UTC 2017 - toddrme2178@gmail.com
|
||||
|
||||
- update pdf doc file.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 23 18:09:54 UTC 2017 - jmatejek@suse.com
|
||||
|
||||
- update for singlespec
|
||||
- use automation for docs
|
||||
- update to 0.12.13
|
||||
* bugfix release
|
||||
* fixed TypeError on unicode WSGI headers
|
||||
* fixed get_header on FileUpload
|
||||
* fixed crlf header injection (CVE-2016-9964)
|
||||
* switch to setuptools for build
|
||||
* allow multiline dict/list/set comprehensions in templates
|
||||
* allow unicode keys in ConfigDict
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Apr 26 18:21:13 UTC 2015 - benoit.monin@gmx.fr
|
||||
|
||||
- update to version 0.12.8: no upstream changelog
|
||||
- update bottle-docs.pdf
|
||||
- point the source URL of the pdf to the project homepage
|
||||
- create of separate subpackage for the pdf documentation
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 20 12:20:37 UTC 2014 - toddrme2178@gmail.com
|
||||
|
||||
- Update to 0.12.7
|
||||
* No upstream changelog
|
||||
- Update to 0.12
|
||||
* New SimpleTemplate parser implementation
|
||||
* Support for multi-line code blocks (<% ... %>).
|
||||
* The keywords include and rebase are functions now
|
||||
and can accept variable template names.
|
||||
* The new BaseRequest.route() property returns the Route
|
||||
that originally matched the request.
|
||||
* Removed the BaseRequest.MAX_PARAMS limit.
|
||||
The hash collision bug in CPythons dict() implementation was
|
||||
fixed over a year ago. If you are still using Python 2.5 in
|
||||
production, consider upgrading or at least make sure that you
|
||||
get security fixed from your distributor.
|
||||
* New ConfigDict API (see Configuration (DRAFT))
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 17 19:50:09 UTC 2013 - os-dev@jacraig.com
|
||||
|
||||
- Update to 0.11.6:
|
||||
* Fix content-type header in mounted apps
|
||||
- Changes from 0.11.5:
|
||||
* Update HTTPResponse call when mounting apps
|
||||
* BUg fix: Some cookies are lost when using mount()
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Nov 22 13:35:28 UTC 2012 - saschpe@suse.de
|
||||
|
||||
- Update to version 0.11.4:
|
||||
+ Upstream provides no changelog
|
||||
- Changes from version 0.11:
|
||||
+ Native support for Python 2.x and 3.x syntax. No need to run 2to3 anymore.
|
||||
+ Support for partial downloads (Range header) in static_file().
|
||||
+ The new ResourceManager interface helps locating files bundled with an
|
||||
application.
|
||||
+ Added a server adapter for waitress.
|
||||
+ New Bottle.merge() method to install all routes from one application
|
||||
into another.
|
||||
+ New BaseRequest.app property to get the application object that
|
||||
handles a request.
|
||||
+ Added FormsDict.decode() to get an all-unicode version (needed by WTForms).
|
||||
+ MultiDict and subclasses are now pickle-able.
|
||||
+ Response.status is a read-write property that can be assigned either a
|
||||
numeric status code or a status string with a reason phrase (200 OK). The
|
||||
return value is now a string to better match existing APIs (WebOb,
|
||||
werkzeug). To be absolutely clear, you can use the read-only properties
|
||||
BaseResponse.status_code and BaseResponse.status_line.
|
||||
+ SimpleTALTemplate is now deprecating. There seems to be no demand.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Aug 15 03:24:14 UTC 2012 - highwaystar.ru@gmail.com
|
||||
|
||||
- updated to 0.10.11
|
||||
- python3 package added
|
||||
- spec improved (files section)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Mar 12 20:46:22 UTC 2012 - saschpe@gmx.de
|
||||
|
||||
- update to version 0.10.9
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Sep 23 13:53:20 UTC 2011 - saschpe@suse.de
|
||||
|
||||
- Update to version 0.9.6
|
||||
- Removed file LICENSE, upstream now has LICENSE.txt
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 19 10:38:29 UTC 2010 - cfarrell@novell.com
|
||||
|
||||
- Added LICENSE and bottle-docs.pdf.
|
||||
- Removed dead symlink README
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 19 09:21:46 UTC 2010 - cfarrell@novell.com
|
||||
|
||||
- Initial build
|
||||
|
94
python-bottle.spec
Normal file
94
python-bottle.spec
Normal file
@ -0,0 +1,94 @@
|
||||
#
|
||||
# spec file for package python-bottle
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
%{?sle15_python_module_pythons}
|
||||
Name: python-bottle
|
||||
Version: 0.13.1
|
||||
Release: 0
|
||||
Summary: WSGI framework for small web applications
|
||||
License: MIT
|
||||
URL: https://bottlepy.org/
|
||||
Source: https://files.pythonhosted.org/packages/source/b/bottle/bottle-%{version}.tar.gz
|
||||
Source1: http://bottlepy.org/docs/0.12/bottle-docs.pdf
|
||||
BuildRequires: %{python_module pip}
|
||||
BuildRequires: %{python_module setuptools}
|
||||
BuildRequires: %{python_module wheel}
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: python-rpm-macros
|
||||
Requires(post): update-alternatives
|
||||
Requires(postun): update-alternatives
|
||||
BuildArch: noarch
|
||||
%python_subpackages
|
||||
|
||||
%description
|
||||
Bottle is a micro-framework for small web applications. It offers
|
||||
request dispatching (routes) with URL parameter support, templates, a
|
||||
built-in HTTP server, and adapters for many third party WSGI/HTTP
|
||||
servers and template engines. This is all in a single file and with
|
||||
no dependencies other than the Python Standard Library.
|
||||
|
||||
%if 0%{?suse_version} > 1500
|
||||
%package -n %{name}-doc
|
||||
Summary: Documentation for %{name}
|
||||
Provides: %{python_module bottle-doc = %{version}}
|
||||
|
||||
%description -n %{name}-doc
|
||||
Bottle is a micro-framework for small web applications. It offers
|
||||
request dispatching (routes) with URL parameter support, templates, a
|
||||
built-in HTTP server, and adapters for many third party WSGI/HTTP
|
||||
servers and template engines. This is all in a single file and with
|
||||
no dependencies other than the Python Standard Library.
|
||||
|
||||
This subpackage contains the PDF documentation for %{name}.
|
||||
%endif
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n bottle-%{version}
|
||||
cp %{SOURCE1} .
|
||||
|
||||
%build
|
||||
%pyproject_wheel
|
||||
|
||||
%install
|
||||
%pyproject_install
|
||||
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
||||
%python_clone -a %{buildroot}%{_bindir}/bottle.py
|
||||
|
||||
%check
|
||||
%pyunittest -v
|
||||
|
||||
%post
|
||||
%python_install_alternative bottle.py
|
||||
|
||||
%postun
|
||||
%python_uninstall_alternative bottle.py
|
||||
|
||||
%files %{python_files}
|
||||
%license LICENSE
|
||||
%doc README.rst
|
||||
%python_alternative %{_bindir}/bottle.py
|
||||
%{python_sitelib}/bottle.py*
|
||||
%pycache_only %{python_sitelib}/__pycache__
|
||||
%{python_sitelib}/bottle-%{version}.dist-info
|
||||
|
||||
%if 0%{?suse_version} > 1500
|
||||
%files -n %{name}-doc
|
||||
%endif
|
||||
%doc bottle-docs.pdf
|
||||
|
||||
%changelog
|
32
update-module-loader.patch
Normal file
32
update-module-loader.patch
Normal file
@ -0,0 +1,32 @@
|
||||
From ca6762c559c5e71e0dff71dc97eb4c6b3ed9bbcd Mon Sep 17 00:00:00 2001
|
||||
From: Marcel Hellkamp <marc@gsites.de>
|
||||
Date: Sun, 12 Jun 2022 15:15:35 +0200
|
||||
Subject: [PATCH] Fix #1378: Module loader should move from find_mdoule to
|
||||
find_spec.
|
||||
|
||||
---
|
||||
bottle.py | 9 +++++++--
|
||||
1 file changed, 7 insertions(+), 2 deletions(-)
|
||||
|
||||
Index: bottle-0.12.25/bottle.py
|
||||
===================================================================
|
||||
--- bottle-0.12.25.orig/bottle.py
|
||||
+++ bottle-0.12.25/bottle.py
|
||||
@@ -1803,10 +1803,15 @@ class _ImportRedirect(object):
|
||||
'__all__': [], '__loader__': self})
|
||||
sys.meta_path.append(self)
|
||||
|
||||
+ def find_spec(self, fullname, path, target=None):
|
||||
+ if '.' not in fullname: return
|
||||
+ if fullname.rsplit('.', 1)[0] != self.name: return
|
||||
+ from importlib.util import spec_from_loader
|
||||
+ return spec_from_loader(fullname, self)
|
||||
+
|
||||
def find_module(self, fullname, path=None):
|
||||
if '.' not in fullname: return
|
||||
- packname = fullname.rsplit('.', 1)[0]
|
||||
- if packname != self.name: return
|
||||
+ if fullname.rsplit('.', 1)[0] != self.name: return
|
||||
return self
|
||||
|
||||
def load_module(self, fullname):
|
Loading…
Reference in New Issue
Block a user