Fixed #33442 -- Allowed GeoIP2 to use DB-IP Lite datasets.
This commit is contained in:
parent
6654289f5b
commit
1e5bbbb2a8
|
@ -103,11 +103,11 @@ class GeoIP2:
|
|||
reader = geoip2.database.Reader(str(path), mode=cache)
|
||||
db_type = reader.metadata().database_type
|
||||
|
||||
if db_type.endswith("City"):
|
||||
if "City" in db_type:
|
||||
# GeoLite City database detected.
|
||||
self._city = reader
|
||||
self._city_file = path
|
||||
elif db_type.endswith("Country"):
|
||||
elif "Country" in db_type:
|
||||
# GeoIP Country database detected.
|
||||
self._country = reader
|
||||
self._country_file = path
|
||||
|
|
|
@ -10,9 +10,10 @@ library`__. [#]_
|
|||
|
||||
In order to perform IP-based geolocation, the :class:`GeoIP2` object requires
|
||||
the `geoip2 Python library`__ and the GeoIP ``Country`` and/or ``City``
|
||||
`datasets in binary format`__ (the CSV files will not work!). Grab the
|
||||
``GeoLite2-Country.mmdb.gz`` and ``GeoLite2-City.mmdb.gz`` files and unzip them
|
||||
in a directory corresponding to the :setting:`GEOIP_PATH` setting.
|
||||
datasets in binary format (the CSV files will not work!), downloaded from e.g.
|
||||
`MaxMind`__ or `DB-IP`__ websites. Grab the ``GeoLite2-Country.mmdb.gz`` and
|
||||
``GeoLite2-City.mmdb.gz`` files and unzip them in a directory corresponding to
|
||||
the :setting:`GEOIP_PATH` setting.
|
||||
|
||||
Additionally, it is recommended to install the `libmaxminddb C library`__, so
|
||||
that ``geoip2`` can leverage the C library's faster speed.
|
||||
|
@ -20,8 +21,13 @@ that ``geoip2`` can leverage the C library's faster speed.
|
|||
__ https://geoip2.readthedocs.io/
|
||||
__ https://pypi.org/project/geoip2/
|
||||
__ https://dev.maxmind.com/geoip/geolite2-free-geolocation-data
|
||||
__ https://db-ip.com/db/lite.php
|
||||
__ https://github.com/maxmind/libmaxminddb/
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
Support for ``.mmdb`` files downloaded from DB-IP was added.
|
||||
|
||||
Example
|
||||
=======
|
||||
|
||||
|
|
|
@ -60,6 +60,9 @@ Minor features
|
|||
* The :class:`~django.contrib.gis.gdal.GDALRaster` class now supports
|
||||
:class:`pathlib.Path`.
|
||||
|
||||
* The :class:`~django.contrib.gis.geoip2.GeoIP2` class now supports ``.mmdb``
|
||||
files downloaded from DB-IP.
|
||||
|
||||
:mod:`django.contrib.messages`
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
|
Loading…
Reference in New Issue