Accepting request 906185 from Application:Geo
- Add patch to remove urllib3 and relax requests dependencies + 0001-Removing-unused-urllib3-dependency-loosening-request.patch - Update BuildRequires and Requires from requirements.txt and setup.py OBS-URL: https://build.opensuse.org/request/show/906185 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-geoip2?expand=0&rev=14
This commit is contained in:
commit
093682e403
135
0001-Removing-unused-urllib3-dependency-loosening-request.patch
Normal file
135
0001-Removing-unused-urllib3-dependency-loosening-request.patch
Normal file
@ -0,0 +1,135 @@
|
||||
From a3152e9e77850aa741976e7e492ab98b672be536 Mon Sep 17 00:00:00 2001
|
||||
From: "Dishy.Dev" <dishy@dev>
|
||||
Date: Sun, 8 Nov 2020 08:15:57 +0000
|
||||
Subject: [PATCH] Removing unused urllib3 dependency, loosening requests
|
||||
version requirement and making aiohttp and requests optional installs
|
||||
|
||||
---
|
||||
.github/workflows/lint.yml | 2 +-
|
||||
README.rst | 3 +++
|
||||
geoip2/webservice.py | 46 +++++++++++++++++++++++++++++---------
|
||||
requirements.txt | 3 ---
|
||||
setup.cfg | 2 ++
|
||||
setup.py | 5 +++++
|
||||
6 files changed, 46 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/README.rst b/README.rst
|
||||
index a17082e..8969781 100644
|
||||
--- a/README.rst
|
||||
+++ b/README.rst
|
||||
@@ -19,6 +19,9 @@ To install the ``geoip2`` module, type:
|
||||
.. code-block:: bash
|
||||
|
||||
$ pip install geoip2
|
||||
+ $ pip install geoip2[aiohttp]
|
||||
+ $ pip install geoip2[requests]
|
||||
+ $ pip install geoip2[all] # Install both requests and aiohttp support
|
||||
|
||||
If you are not able to use pip, you may also use easy_install from the
|
||||
source directory:
|
||||
diff --git a/geoip2/webservice.py b/geoip2/webservice.py
|
||||
index 4b1fc15..6ab0e84 100644
|
||||
--- a/geoip2/webservice.py
|
||||
+++ b/geoip2/webservice.py
|
||||
@@ -27,12 +27,21 @@
|
||||
|
||||
import ipaddress
|
||||
import json
|
||||
+import sys
|
||||
from typing import Any, Dict, cast, List, Optional, Type, Union
|
||||
|
||||
-import aiohttp
|
||||
-import aiohttp.http
|
||||
-import requests
|
||||
-import requests.utils
|
||||
+try:
|
||||
+ import aiohttp
|
||||
+ import aiohttp.http
|
||||
+except ImportError:
|
||||
+ pass
|
||||
+
|
||||
+try:
|
||||
+ import requests
|
||||
+ import requests.utils
|
||||
+except ImportError:
|
||||
+ pass
|
||||
+
|
||||
|
||||
import geoip2
|
||||
import geoip2.models
|
||||
@@ -48,13 +57,28 @@
|
||||
from geoip2.models import City, Country, Insights
|
||||
from geoip2.types import IPAddress
|
||||
|
||||
-_AIOHTTP_UA = (
|
||||
- f"GeoIP2-Python-Client/{geoip2.__version__} {aiohttp.http.SERVER_SOFTWARE}"
|
||||
-)
|
||||
-
|
||||
-_REQUEST_UA = (
|
||||
- f"GeoIP2-Python-Client/{geoip2.__version__} {requests.utils.default_user_agent()}"
|
||||
-)
|
||||
+# If neither requests or aiohttp is installed then inform user how to
|
||||
+# install them
|
||||
+if "aiohttp" not in sys.modules and "requests" not in sys.modules:
|
||||
+ raise ImportError(
|
||||
+ """To enable geoip2.webservice,
|
||||
+ install aiohttp or requests support.
|
||||
+ pip install geoip2[aiohttp]
|
||||
+ pip install geoip2[requests]
|
||||
+ pip install geoip2[all]"""
|
||||
+ )
|
||||
+
|
||||
+
|
||||
+if "aiohttp" in sys.modules:
|
||||
+ _AIOHTTP_UA = (
|
||||
+ f"GeoIP2-Python-Client/{geoip2.__version__} {aiohttp.http.SERVER_SOFTWARE}"
|
||||
+ )
|
||||
+
|
||||
+if "requests" in sys.modules:
|
||||
+ _REQUEST_UA = (
|
||||
+ f"GeoIP2-Python-Client/{geoip2.__version__}"
|
||||
+ f" {requests.utils.default_user_agent()}"
|
||||
+ )
|
||||
|
||||
|
||||
class BaseClient: # pylint: disable=missing-class-docstring, too-few-public-methods
|
||||
diff --git a/requirements.txt b/requirements.txt
|
||||
index af2c6ff..9c772e4 100644
|
||||
--- a/requirements.txt
|
||||
+++ b/requirements.txt
|
||||
@@ -1,4 +1 @@
|
||||
-aiohttp>=3.6.2,<4.0.0
|
||||
maxminddb>=2.0.0,<3.0.0
|
||||
-requests>=2.24.0,<3.0.0
|
||||
-urllib3>=1.25.2,<2.0.0
|
||||
diff --git a/setup.cfg b/setup.cfg
|
||||
index 9d48adc..c77568d 100644
|
||||
--- a/setup.cfg
|
||||
+++ b/setup.cfg
|
||||
@@ -22,8 +22,9 @@
|
||||
pytest
|
||||
mocket
|
||||
commands = pytest tests
|
||||
+usedevelop = true
|
||||
+extras = aiohttp, requests
|
||||
|
||||
[egg_info]
|
||||
tag_build =
|
||||
tag_date = 0
|
||||
-
|
||||
diff --git a/setup.py b/setup.py
|
||||
index 2194e8f..14b6d99 100644
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -26,6 +26,11 @@
|
||||
include_package_data=True,
|
||||
python_requires=">=3.6",
|
||||
install_requires=requirements,
|
||||
+ extras_require={
|
||||
+ "all": ["requests>=2.14.0,<3.0.0", "aiohttp>=3.6.2,<4.0.0"],
|
||||
+ "requests": "requests>=2.14.0,<3.0.0",
|
||||
+ "aiohttp": "aiohttp>=3.6.2,<4.0.0",
|
||||
+ },
|
||||
tests_require=["mocket>=3.8.9"],
|
||||
test_suite="tests",
|
||||
license=geoip2.__license__,
|
@ -1,3 +1,10 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Jul 13 09:58:29 UTC 2021 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
|
||||
|
||||
- Add patch to remove urllib3 and relax requests dependencies
|
||||
+ 0001-Removing-unused-urllib3-dependency-loosening-request.patch
|
||||
- Update BuildRequires and Requires from requirements.txt and setup.py
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri May 14 16:10:51 UTC 2021 - Sebastian Wagner <sebix+novell.com@sebix.at>
|
||||
|
||||
|
@ -17,7 +17,6 @@
|
||||
|
||||
|
||||
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
|
||||
%bcond_without test
|
||||
Name: python-geoip2
|
||||
Version: 4.2.0
|
||||
Release: 0
|
||||
@ -26,8 +25,9 @@ License: Apache-2.0
|
||||
Group: Development/Languages/Python
|
||||
URL: https://github.com/maxmind/GeoIP2-python
|
||||
Source: https://files.pythonhosted.org/packages/source/g/geoip2/geoip2-%{version}.tar.gz#/%{name}-%{version}.tar.gz
|
||||
# PATCH-FIX-OPENSUSE 0001-Removing-unused-urllib3-dependency-loosening-request.patch -- Removing unused urllib3 dependency loosening requests version based on https://github.com/maxmind/GeoIP2-python/pull/104.patch
|
||||
Patch0: 0001-Removing-unused-urllib3-dependency-loosening-request.patch
|
||||
BuildRequires: %{python_module setuptools}
|
||||
BuildRequires: %{python_module urllib3 >= 1.25.2}
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: python-rpm-macros
|
||||
# SECTION test requirements
|
||||
@ -35,12 +35,11 @@ BuildRequires: %{python_module aiohttp >= 3.6.2}
|
||||
BuildRequires: %{python_module maxminddb >= 2.0.0}
|
||||
BuildRequires: %{python_module mocket >= 3.8.9}
|
||||
BuildRequires: %{python_module python-magic >= 0.4.18}
|
||||
BuildRequires: %{python_module requests >= 2.24.0}
|
||||
BuildRequires: %{python_module requests >= 2.14.0}
|
||||
# /SECTION
|
||||
Requires: python-aiohttp >= 3.6.2
|
||||
Recommends: python-aiohttp >= 3.6.2
|
||||
Requires: python-maxminddb >= 2.0.0
|
||||
Requires: python-requests >= 2.24.0
|
||||
Requires: python-urllib3 >= 1.25.2
|
||||
Requires: python-requests >= 2.14.0
|
||||
BuildArch: noarch
|
||||
%ifpython2
|
||||
Recommends: python2-ipaddress
|
||||
@ -53,6 +52,7 @@ The API also works with MaxMind's free GeoLite2 databases.
|
||||
|
||||
%prep
|
||||
%setup -q -n geoip2-%{version}
|
||||
%patch0 -p1
|
||||
|
||||
%build
|
||||
%python_build
|
||||
|
Loading…
x
Reference in New Issue
Block a user