Sync from SUSE:SLFO:Main python-geoip2 revision a6e95a27c6dcc3ab4dab5113580a5046
This commit is contained in:
commit
5b45df4c2d
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
|
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(-)
|
||||
|
||||
Index: geoip2-4.6.0/README.rst
|
||||
===================================================================
|
||||
--- geoip2-4.6.0.orig/README.rst
|
||||
+++ geoip2-4.6.0/README.rst
|
||||
@@ -17,6 +17,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:
|
||||
Index: geoip2-4.6.0/geoip2/webservice.py
|
||||
===================================================================
|
||||
--- geoip2-4.6.0.orig/geoip2/webservice.py
|
||||
+++ geoip2-4.6.0/geoip2/webservice.py
|
||||
@@ -27,12 +27,21 @@ Requests to the web service are always m
|
||||
|
||||
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.errors import (
|
||||
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
|
||||
Index: geoip2-4.6.0/requirements.txt
|
||||
===================================================================
|
||||
--- geoip2-4.6.0.orig/requirements.txt
|
||||
+++ geoip2-4.6.0/requirements.txt
|
||||
@@ -1,4 +1 @@
|
||||
-aiohttp>=3.6.2,<4.0.0
|
||||
maxminddb>=2.2.0,<3.0.0
|
||||
-requests>=2.24.0,<3.0.0
|
||||
-urllib3>=1.25.2,<2.0.0
|
||||
Index: geoip2-4.6.0/setup.cfg
|
||||
===================================================================
|
||||
--- geoip2-4.6.0.orig/setup.cfg
|
||||
+++ geoip2-4.6.0/setup.cfg
|
||||
@@ -26,8 +26,9 @@ deps =
|
||||
pytest
|
||||
mocket
|
||||
commands = pytest tests
|
||||
+usedevelop = true
|
||||
+extras = aiohttp, requests
|
||||
|
||||
[egg_info]
|
||||
tag_build =
|
||||
tag_date = 0
|
||||
-
|
||||
Index: geoip2-4.6.0/setup.py
|
||||
===================================================================
|
||||
--- geoip2-4.6.0.orig/setup.py
|
||||
+++ geoip2-4.6.0/setup.py
|
||||
@@ -26,6 +26,11 @@ setup(
|
||||
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__,
|
BIN
python-geoip2-4.6.0.tar.gz
(Stored with Git LFS)
Normal file
BIN
python-geoip2-4.6.0.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
201
python-geoip2.changes
Normal file
201
python-geoip2.changes
Normal file
@ -0,0 +1,201 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Feb 15 19:57:56 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- fix tests on python 3.8 as well with newer python-mocket by skipping
|
||||
the tests/test_webservice which need porting to new python-mocket
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jan 23 16:42:49 UTC 2023 - Daniel Garcia <daniel.garcia@suse.com>
|
||||
|
||||
- Disable broken tests for python 3.11. python-mocket currently does not work
|
||||
with python 3.11, so we should disable tests that uses it until it's
|
||||
supported.
|
||||
|
||||
See these issues:
|
||||
gh#maxmind/GeoIP2-python@3b0dbb1eb990
|
||||
gh#mindflayer/python-mocket#181
|
||||
gh#benoitc/http-parser#95
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jul 4 07:11:02 UTC 2022 - Paolo Stivanin <info@paolostivanin.com>
|
||||
|
||||
- Update to version 4.6.0:
|
||||
- The AddressNotFoundError class now has an ip_address attribute
|
||||
with the lookup address and network property for the empty network
|
||||
in the database containing the IP address. These are only available
|
||||
when using a database, not the web service.
|
||||
- Rebase 0001-Removing-unused-urllib3-dependency-loosening-request.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Nov 18 19:55:34 UTC 2021 - Sebastian Wagner <sebix+novell.com@sebix.at>
|
||||
|
||||
- update to version 4.5.0:
|
||||
- Support for mobile country code (MCC) and mobile network codes (MNC) was
|
||||
added for the GeoIP2 ISP and Enterprise databases as well as the GeoIP2
|
||||
City and Insights web services. ``mobile_country_code`` and
|
||||
``mobile_network_code`` attributes were added to ``geoip2.model.ISP``
|
||||
for the GeoIP2 ISP database and ``geoip2.record.Traits`` for the
|
||||
Enterprise database and the GeoIP2 City and Insights web services.
|
||||
We expect this data to be available by late January, 2022.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Sep 24 19:10:31 UTC 2021 - Sebastian Wagner <sebix+novell.com@sebix.at>
|
||||
|
||||
- update to version 4.4.0:
|
||||
- The public API on ``geoip2.database`` is now explicitly defined by
|
||||
setting ``__all__``.
|
||||
- The return type of the ``metadata()`` method on ``Reader`` is now
|
||||
``maxminddb.reader.Metadata`` rather than a union type.
|
||||
- update to version 4.3.0:
|
||||
- Previously, the ``py.typed`` file was not being added to the source
|
||||
distribution. It is now explicitly specified in the manifest.
|
||||
- The type hints for the database file in the ``Reader`` constructor have
|
||||
been expanded to match those specified by ``maxmindb.open_database``. In
|
||||
particular, ``os.PathLike`` and ``IO`` have been added.
|
||||
- Corrected the type hint for the ``metadata()`` method on ``Reader``. It
|
||||
will return a ``maxminddb.extension.Metadata`` if the C extension is being
|
||||
used.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
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>
|
||||
|
||||
- update to version 4.2.0:
|
||||
- You may now set a proxy to use when making web service requests by passing
|
||||
the ``proxy`` parameter to the ``AsyncClient`` or ``Client`` constructor.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Dec 10 01:27:35 UTC 2020 - Benjamin Greiner <code@bnavigator.de>
|
||||
|
||||
- replace deprecated setup.py test call by pyunittest macro so that
|
||||
pip does not try to download stuff
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Nov 4 15:56:32 UTC 2020 - Paolo Stivanin <info@paolostivanin.com>
|
||||
|
||||
- update to version 4.1.0:
|
||||
* Added the is_residential_proxy attribute to geoip2.model.AnonymousIP
|
||||
and geoip2.record.Traits.
|
||||
* HTTPError now provides the decoded response content in the
|
||||
decoded_content attribute.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jul 28 18:55:20 UTC 2020 - Sebastian Wagner <sebix+novell.com@sebix.at>
|
||||
|
||||
- update to version 4.0.2:
|
||||
- Added ``py.typed`` file per PEP 561. Reported by Árni Már Jónsson.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 23 20:21:35 UTC 2020 - Sebastian Wagner <sebix+novell.com@sebix.at>
|
||||
|
||||
- update to version 4.0.1:
|
||||
- Re-release to fix bad reStructuredText in ``README.md``. No substantive
|
||||
changes.
|
||||
- update to version 4.0.0:
|
||||
- IMPORTANT: Python 2.7 and 3.5 support has been dropped. Python 3.6 or greater
|
||||
is required.
|
||||
- Asyncio support has been added for web service requests. To make async
|
||||
requests, use ``geoip.webservice.AsyncClient``.
|
||||
- ``geoip.webservice.Client`` now provides a ``close()`` method and associated
|
||||
context managers to be used in ``with`` statements.
|
||||
- Type hints have been added.
|
||||
- The attributes ``postal_code`` and ``postal_confidence`` have been removed
|
||||
from ``geoip2.record.Location``. These would previously always be ``None``.
|
||||
- ``user_id`` is no longer supported as a named argument for the constructor
|
||||
on ``geoip2.webservice.Client``. Use ``account_id`` or a positional
|
||||
parameter instead.
|
||||
- For both ``Client`` and ``AsyncClient`` requests, the default timeout is
|
||||
now 60 seconds.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 16 17:45:00 UTC 2020 - Marcus Rueckert <mrueckert@suse.de>
|
||||
|
||||
- match buildrequires to requirements.txt
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Mar 4 07:46:22 UTC 2020 - Paolo Stivanin <info@paolostivanin.com>
|
||||
|
||||
- Update to 3.0.0
|
||||
* BREAKING CHANGE: The geoip2.record.* classes have been refactored to
|
||||
improve performance. This refactoring may break classes that inherit from
|
||||
them. The public API should otherwise be compatible.
|
||||
* The network attribute was added to geoip2.record.Traits,
|
||||
geoip2.model.AnonymousIP, geoip2.model.ASN,
|
||||
geoip2.model.ConnectionType, geoip2.model.Domain,
|
||||
and geoip2.model.ISP. This is an ipaddress.IPv4Network or an
|
||||
ipaddress.IPv6Network. This is the largest network where all of the
|
||||
fields besides ip_address have the same value. GitHub #79.
|
||||
* Python 3.3 and 3.4 are no longer supported.
|
||||
* Updated documentation of anonymizer attributes - is_anonymous_vpn and
|
||||
is_hosting_provider - to be more descriptive.
|
||||
* Added support for the user_count trait for the GeoIP2 Precision webservice.
|
||||
* Added the static_ip_score attribute to geoip2.record.Traits for
|
||||
* GeoIP2 Precision Insights. This is a float which indicates how static or dynamic
|
||||
an IP address is.
|
||||
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Mar 11 07:07:04 UTC 2019 - John Vandenberg <jayvdb@gmail.com>
|
||||
|
||||
- Fix minimum build dependency of maxminddb
|
||||
- Fix fdupes
|
||||
- Use more useful GitHub repo as URL
|
||||
- Add HISTORY.rst to %doc
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Dec 4 12:48:25 UTC 2018 - Matej Cepl <mcepl@suse.com>
|
||||
|
||||
- Remove superfluous devel dependency for noarch package
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun May 27 08:28:33 UTC 2018 - sebix+novell.com@sebix.at
|
||||
|
||||
- update to version 2.9.0:
|
||||
* You may now pass in the database via a file descriptor rather than a file
|
||||
name when creating a new ``geoip2.database.Reader`` object using ``MODE_FD``.
|
||||
This will read the database from the file descriptor into memory. Pull
|
||||
request by nkinkade. GitHub #53.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed May 2 12:02:32 UTC 2018 - tchvatal@suse.com
|
||||
|
||||
- Use license macro for license
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 12 19:32:15 UTC 2018 - sebix+novell.com@sebix.at
|
||||
|
||||
- update to version 2.8.0:
|
||||
* Renamed user ID to account ID in the code and added support for the new
|
||||
``ACCOUNT_ID_REQUIRED`` AND ``ACCOUNT_ID_UNKNOWN`` error codes.
|
||||
- update to version 2.7.0:
|
||||
* The ``is_in_european_union`` attribute was added to
|
||||
``geoip2.record.Country`` and ``geoip2.record.RepresentedCountry``. This
|
||||
attribute is ``True`` if the country is a member state of the European
|
||||
Union.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Mar 3 18:36:30 UTC 2018 - arun@gmx.de
|
||||
|
||||
- specfile:
|
||||
* update copyright year
|
||||
* don't use python_module for Requires
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Oct 27 21:10:06 UTC 2017 - sebix+novell.com@sebix.at
|
||||
|
||||
- update to version 2.6.0:
|
||||
* The following new anonymizer attributes were added to ``geoip2.record.Traits``
|
||||
for use with GeoIP2 Precision Insights: ``is_anonymous``,
|
||||
``is_anonymous_vpn``, ``is_hosting_provider``, ``is_public_proxy``, and
|
||||
``is_tor_exit_node``.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu May 25 16:30:03 UTC 2017 - sebix+novell.com@sebix.at
|
||||
|
||||
- initial package
|
85
python-geoip2.spec
Normal file
85
python-geoip2.spec
Normal file
@ -0,0 +1,85 @@
|
||||
#
|
||||
# spec file for package python-geoip2
|
||||
#
|
||||
# Copyright (c) 2023 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/
|
||||
#
|
||||
|
||||
|
||||
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
|
||||
Name: python-geoip2
|
||||
Version: 4.6.0
|
||||
Release: 0
|
||||
Summary: MaxMind GeoIP2 Python API
|
||||
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: fdupes
|
||||
BuildRequires: python-rpm-macros
|
||||
# SECTION test requirements
|
||||
BuildRequires: %{python_module aiohttp >= 3.6.2}
|
||||
BuildRequires: %{python_module maxminddb >= 2.2.0}
|
||||
# mocket currently does not work with 3.11. See these issues:
|
||||
# gh#maxmind/GeoIP2-python@3b0dbb1eb990
|
||||
# gh#mindflayer/python-mocket#181
|
||||
# gh#benoitc/http-parser#95
|
||||
BuildRequires: %{python_module mocket >= 3.8.9 if %python-base < 3.11}
|
||||
BuildRequires: %{python_module python-magic >= 0.4.18}
|
||||
BuildRequires: %{python_module requests >= 2.14.0}
|
||||
# /SECTION
|
||||
Recommends: python-aiohttp >= 3.6.2
|
||||
Requires: python-maxminddb >= 2.0.0
|
||||
Requires: python-requests >= 2.14.0
|
||||
BuildArch: noarch
|
||||
%ifpython2
|
||||
Recommends: python2-ipaddress
|
||||
%endif
|
||||
%python_subpackages
|
||||
|
||||
%description
|
||||
This package provides an API for the GeoIP2 web services and databases.
|
||||
The API also works with MaxMind's free GeoLite2 databases.
|
||||
|
||||
%prep
|
||||
%setup -q -n geoip2-%{version}
|
||||
%patch0 -p1
|
||||
|
||||
%build
|
||||
%python_build
|
||||
|
||||
%install
|
||||
%python_install
|
||||
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
||||
|
||||
%check
|
||||
python38_tests="tests/models_test.py tests/database_test.py"
|
||||
python39_tests=$python38_tests
|
||||
python310_tests=$python38_tests
|
||||
# mocket currently does not work with 3.11. See these issues:
|
||||
# gh#maxmind/GeoIP2-python@3b0dbb1eb990
|
||||
# gh#mindflayer/python-mocket#181
|
||||
# gh#benoitc/http-parser#95
|
||||
python311_tests="tests/models_test.py tests/database_test.py"
|
||||
%pyunittest -v ${$python_tests}
|
||||
|
||||
%files %{python_files}
|
||||
%license LICENSE
|
||||
%doc README.rst HISTORY.rst
|
||||
%{python_sitelib}/geoip2
|
||||
%{python_sitelib}/geoip2-%{version}*-info
|
||||
|
||||
%changelog
|
Loading…
Reference in New Issue
Block a user