From b2d20e982627b8c5f21fe68c5531b40ee20f1cfc Mon Sep 17 00:00:00 2001 From: Aymeric Augustin Date: Mon, 24 Dec 2012 22:57:49 +0100 Subject: [PATCH] Removed legacy shortcut for importing GeoIP. --- django/contrib/gis/utils/__init__.py | 8 ----- django/contrib/gis/utils/geoip.py | 14 -------- docs/ref/contrib/gis/geoip.txt | 51 ++++++++++++---------------- 3 files changed, 21 insertions(+), 52 deletions(-) delete mode 100644 django/contrib/gis/utils/geoip.py diff --git a/django/contrib/gis/utils/__init__.py b/django/contrib/gis/utils/__init__.py index 5d340bd001..c6617d299f 100644 --- a/django/contrib/gis/utils/__init__.py +++ b/django/contrib/gis/utils/__init__.py @@ -14,12 +14,4 @@ if HAS_GDAL: except: pass -# GeoIP now lives in `django.contrib.gis.geoip`; this shortcut will be -# removed in Django 1.6. -from django.contrib.gis.utils import geoip -HAS_GEOIP = geoip.HAS_GEOIP -if HAS_GEOIP: - GeoIP = geoip.GeoIP - GeoIPException = geoip.GeoIPException - from django.contrib.gis.utils.wkt import precision_wkt diff --git a/django/contrib/gis/utils/geoip.py b/django/contrib/gis/utils/geoip.py deleted file mode 100644 index 781917e4c9..0000000000 --- a/django/contrib/gis/utils/geoip.py +++ /dev/null @@ -1,14 +0,0 @@ -import warnings - -from django.contrib.gis import geoip -HAS_GEOIP = geoip.HAS_GEOIP -if HAS_GEOIP: - BaseGeoIP = geoip.GeoIP - GeoIPException = geoip.GeoIPException - - class GeoIP(BaseGeoIP): - def __init__(self, *args, **kwargs): - warnings.warn('GeoIP class has been moved to `django.contrib.gis.geoip`, and ' - 'this shortcut will disappear in Django v1.6.', - DeprecationWarning, stacklevel=2) - super(GeoIP, self).__init__(*args, **kwargs) diff --git a/docs/ref/contrib/gis/geoip.txt b/docs/ref/contrib/gis/geoip.txt index e37c4c60b0..2444849a19 100644 --- a/docs/ref/contrib/gis/geoip.txt +++ b/docs/ref/contrib/gis/geoip.txt @@ -7,22 +7,13 @@ Geolocation with GeoIP .. module:: django.contrib.gis.geoip :synopsis: High-level Python interface for MaxMind's GeoIP C library. -.. versionchanged:: 1.4 - -.. note:: - - In Django 1.4, the :class:`GeoIP` object was moved out of - :mod:`django.contrib.gis.utils` and into its own module, - :mod:`django.contrib.gis.geoip`. A shortcut is still provided - in ``utils``, but will be removed in Django 1.6. - The :class:`GeoIP` object is a ctypes wrapper for the `MaxMind GeoIP C API`__. [#]_ This interface is a BSD-licensed alternative to the GPL-licensed `Python GeoIP`__ interface provided by MaxMind. In order to perform IP-based geolocation, the :class:`GeoIP` object requires -the GeoIP C libary and either the GeoIP `Country`__ or `City`__ -datasets in binary format (the CSV files will not work!). These datasets may be +the GeoIP C libary and either the GeoIP `Country`__ or `City`__ +datasets in binary format (the CSV files will not work!). These datasets may be `downloaded from MaxMind`__. Grab the ``GeoLiteCountry/GeoIP.dat.gz`` and ``GeoLiteCity.dat.gz`` files and unzip them in a directory corresponding to what you set :setting:`GEOIP_PATH` with in your settings. See the example and @@ -58,7 +49,7 @@ usage:: >>> g.lat_lon('salon.com') (37.789798736572266, -122.39420318603516) >>> g.lon_lat('uh.edu') - (-95.415199279785156, 29.77549934387207) + (-95.415199279785156, 29.77549934387207) >>> g.geos('24.124.1.80').wkt 'POINT (-95.2087020874023438 39.0392990112304688)' @@ -104,30 +95,30 @@ Defaults to ``'GeoLiteCity.dat'``. .. class:: GeoIP([path=None, cache=0, country=None, city=None]) -The ``GeoIP`` object does not require any parameters to use the default +The ``GeoIP`` object does not require any parameters to use the default settings. However, at the very least the :setting:`GEOIP_PATH` setting -should be set with the path of the location of your GeoIP data sets. The -following intialization keywords may be used to customize any of the -defaults. +should be set with the path of the location of your GeoIP data sets. The +following intialization keywords may be used to customize any of the +defaults. =================== ======================================================= Keyword Arguments Description =================== ======================================================= -``path`` Base directory to where GeoIP data is located or the - full path to where the city or country data files - (.dat) are located. Assumes that both the city and - country data sets are located in this directory; +``path`` Base directory to where GeoIP data is located or the + full path to where the city or country data files + (.dat) are located. Assumes that both the city and + country data sets are located in this directory; overrides the :setting:`GEOIP_PATH` settings attribute. ``cache`` The cache settings when opening up the GeoIP datasets, and may be an integer in (0, 1, 2, 4) corresponding to - the ``GEOIP_STANDARD``, ``GEOIP_MEMORY_CACHE``, - ``GEOIP_CHECK_CACHE``, and ``GEOIP_INDEX_CACHE`` - ``GeoIPOptions`` C API settings, respectively. + the ``GEOIP_STANDARD``, ``GEOIP_MEMORY_CACHE``, + ``GEOIP_CHECK_CACHE``, and ``GEOIP_INDEX_CACHE`` + ``GeoIPOptions`` C API settings, respectively. Defaults to 0 (``GEOIP_STANDARD``). - + ``country`` The name of the GeoIP country data file. Defaults - to ``GeoIP.dat``. Setting this keyword overrides the + to ``GeoIP.dat``. Setting this keyword overrides the :setting:`GEOIP_COUNTRY` settings attribute. ``city`` The name of the GeoIP city data file. Defaults to @@ -142,9 +133,9 @@ Querying -------- All the following querying routines may take either a string IP address -or a fully qualified domain name (FQDN). For example, both -``'205.186.163.125'`` and ``'djangoproject.com'`` would be valid query -parameters. +or a fully qualified domain name (FQDN). For example, both +``'205.186.163.125'`` and ``'djangoproject.com'`` would be valid query +parameters. .. method:: GeoIP.city(query) @@ -153,7 +144,7 @@ of the values in the dictionary may be undefined (``None``). .. method:: GeoIP.country(query) -Returns a dictionary with the country code and country for the given +Returns a dictionary with the country code and country for the given query. .. method:: GeoIP.country_code(query) @@ -202,7 +193,7 @@ and country), and the version of the GeoIP C library (if supported). GeoIP-Python API compatibility methods ---------------------------------------- -These methods exist to ease compatibility with any code using MaxMind's +These methods exist to ease compatibility with any code using MaxMind's existing Python API. .. classmethod:: GeoIP.open(path, cache)