Accepting request 1199619 from devel:languages:python

OBS-URL: https://build.opensuse.org/request/show/1199619
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-bottle?expand=0&rev=28
This commit is contained in:
Ana Guerrero 2024-09-25 19:51:46 +00:00 committed by Git OBS Bridge
commit 1b358fefd2
5 changed files with 61 additions and 40 deletions

BIN
bottle-0.12.25.tar.gz (Stored with Git LFS)

Binary file not shown.

3
bottle-0.13.1.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a48852dc7a051353d3e4de3dd5590cd25de370bcfd94a72237561e314ceb0c88
size 836422

View File

@ -1,3 +1,58 @@
-------------------------------------------------------------------
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>

View File

@ -1,7 +1,7 @@
#
# spec file for package python-bottle
#
# Copyright (c) 2023 SUSE LLC
# 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
@ -18,22 +18,20 @@
%{?sle15_python_module_pythons}
Name: python-bottle
Version: 0.12.25
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
# PATCH-FIX-UPSTREAM gh#bottlepy/bottle#ca6762c559c5e71e0dff71dc97eb4c6b3ed9bbcd
Patch0: update-module-loader.patch
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
Requires(postun): update-alternatives
BuildArch: noarch
%python_subpackages

View File

@ -1,32 +0,0 @@
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):