2
0
Эх сурвалжийг харах

Fixed #33442 -- Allowed GeoIP2 to use DB-IP Lite datasets.

Claude Paroz 2 жил өмнө
parent
commit
1e5bbbb2a8

+ 2 - 2
django/contrib/gis/geoip2/base.py

@@ -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

+ 9 - 3
docs/ref/contrib/gis/geoip2.txt

@@ -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
 =======
 

+ 3 - 0
docs/releases/4.2.txt

@@ -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`
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~