{ "info": { "author": "Marcos Gabarda", "author_email": "hey@marcosgabarda.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: Utilities" ], "description": "=======================\nDjango Request Position\n=======================\n\nDjango app to add a \"position\" field to the request, using GeoIP or GPS data given in the request headers. Some\nreferences about this:\n\n* `A Uniform Resource Identifier for Geographic Locations ('geo' URI) `_.\n* `HTTP Geolocation draft-thomson-geopriv-http-geolocation-00 `_.\n\n\nQuick start\n-----------\n\n**1** Install using pip::\n\n pip install django-belt\n\n**2** Add \"request_position\" to your INSTALLED_APPS settings like this::\n\n INSTALLED_APPS += ('request_position',)\n\n\n**3** Add the middleware::\n\n MIDDLEWARE += (\n 'request_position.middleware.RequestPositionMiddleware',\n )\n\n\nSettings\n--------\n\n* ``REQUEST_POSITION_REMOTE_ADDR_ATTR`` (default: \"REMOTE_ADDR\")\n* ``REQUEST_POSITION_DEFAULT_IP`` (default: \"127.0.0.1\")\n* ``REQUEST_POSITION_DEFAULT_POSITION`` (default: None)\n* ``REQUEST_POSITION_DEFAULT_COUNTRY_CODE`` (default: None)\n* ``REQUEST_POSITION_COOKIE_NAME`` (default: \"_request_position\")\n* ``REQUEST_POSITION_GEO_HEADER`` (default: \"HTTP_GEOLOCATION\")\n* ``REQUEST_POSITION_OVERRIDE_LATITUDE_PARAM`` (default \"lat\")\n* ``REQUEST_POSITION_OVERRIDE_LONGITUDE_PARAM`` (default \"lon\")\n* ``REQUEST_POSITION_OVERRIDE_COUNTRY_CODE_PARAM`` (default \"cc\")\n* ``REQUEST_POSITION_USE_GIS_POINT`` (default False)\n\n\n\n\nHistory\n-------\n\n1.0a13 (2017-12-05)\n+++++++++++++++++\n\n* Fixed problem with IP from ``HTTP_X_FORWARDED_FOR``\n\n1.0a12 (2017-12-04)\n+++++++++++++++++\n\n* Fixed error wile providing a IP that does not exists.\n\n1.0a7 (2017-12-04)\n+++++++++++++++++\n\n* Added ``geoip2`` requirement.\n\n1.0a6 (2017-12-04)\n+++++++++++++++++\n\n* Support for Django 2.0.\n\n1.0a5 (2017-2-28)\n+++++++++++++++++\n\n* Fixed settings variables prefix.\n* Fixed problem with default REQUEST_POSITION_DEFAULT_COUNTRY_CODE value.\n* Added settings variables to README.\n\n1.0a4 (2017-2-28)\n+++++++++++++++++\n\n* Fixed problem with missing REMOTE_ADDR_ATTR setting variable.\n\n1.0a3 (2017-2-28)\n+++++++++++++++++\n\n* Fixed problem with missing header.\n\n\n1.0a2 (2017-2-28)\n+++++++++++++++++\n\n* Fixed Django 1.10 compatibility with new middleware.\n\n1.0a1 (2017-2-21)\n+++++++++++++++++\n\n* First release on PyPI.\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/marcosgabarda/django-request-position", "keywords": "", "license": "MIT License", "maintainer": "", "maintainer_email": "", "name": "django-request-position", "package_url": "https://pypi.org/project/django-request-position/", "platform": "", "project_url": "https://pypi.org/project/django-request-position/", "project_urls": { "Homepage": "https://github.com/marcosgabarda/django-request-position" }, "release_url": "https://pypi.org/project/django-request-position/1.0a13/", "requires_dist": [ "django (>=1.9)", "geoip2 (>=2.6)" ], "requires_python": "", "summary": "Django app to add a \"position\" field to the request, using GeoIP or GPS data given in the request headers", "version": "1.0a13" }, "last_serial": 3390157, "releases": { "1.0a1": [ { "comment_text": "", "digests": { "md5": "5e0799b8275dd6d93904e7ec10bda62e", "sha256": "5928813d8f6b9fd703723173616d14db33ce3cc825fbbf08f772f98f75479e80" }, "downloads": -1, "filename": "django_request_position-1.0a1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5e0799b8275dd6d93904e7ec10bda62e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6334, "upload_time": "2017-02-21T13:47:37", "url": "https://files.pythonhosted.org/packages/ad/ee/6235ac534557b71b16509053b7986791f57f8675cd95b593e1e0df2f882e/django_request_position-1.0a1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4e740709415659e4e7c5f8175e752395", "sha256": "85c355de283058daad6a3486dd5a35189b18556731c6a5f9ab1ae8ebaaa873a7" }, "downloads": -1, "filename": "django-request-position-1.0a1.tar.gz", "has_sig": false, "md5_digest": "4e740709415659e4e7c5f8175e752395", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4523, "upload_time": "2017-02-21T13:47:38", "url": "https://files.pythonhosted.org/packages/65/d9/8b656a300e320c2ce3be1784c7e44e41c42e393410e6aa86b96a76828b7a/django-request-position-1.0a1.tar.gz" } ], "1.0a10": [ { "comment_text": "", "digests": { "md5": "62bf83ee2f37f16e4408164e528f99f9", "sha256": "d71519dcd40a062f4b0d039406df65242acaaa6632e94fc6a9f691a4339e2953" }, "downloads": -1, "filename": "django_request_position-1.0a10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "62bf83ee2f37f16e4408164e528f99f9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7299, "upload_time": "2017-12-04T17:36:26", "url": "https://files.pythonhosted.org/packages/20/ea/45d6f9dd4c79c758450c465173ad4c1f7a43a52b2931353f2bf7c981d800/django_request_position-1.0a10-py2.py3-none-any.whl" } ], "1.0a11": [ { "comment_text": "", "digests": { "md5": "7e0bb85188dcc34eb23082e5739adb62", "sha256": "274dc8c158ac0453b66054d4543d1df943878bd98284d6d21061e53e7258a39c" }, "downloads": -1, "filename": "django_request_position-1.0a11-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7e0bb85188dcc34eb23082e5739adb62", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7326, "upload_time": "2017-12-04T20:42:44", "url": "https://files.pythonhosted.org/packages/9e/5d/51d4de3c8ee3019904ca870ef8bf19e5d13996fd8c0ae2700023cdcc7a7e/django_request_position-1.0a11-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a0cd1360b590b31acd4451f9cd97a878", "sha256": "7e18276f6fb7fd1e497f709e87d9086df2be4bb88145e80e3bcb1be7446352f9" }, "downloads": -1, "filename": "django-request-position-1.0a11.tar.gz", "has_sig": false, "md5_digest": "a0cd1360b590b31acd4451f9cd97a878", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5069, "upload_time": "2017-12-04T20:42:46", "url": "https://files.pythonhosted.org/packages/f0/2d/ab9e7e38535511df60f467586d07bc18822562e7511b267bd162d362a802/django-request-position-1.0a11.tar.gz" } ], "1.0a12": [ { "comment_text": "", "digests": { "md5": "245eebe94f702154787b2749dadd7ba4", "sha256": "327d8b1f1ef453884c40ee2997c4cb7d679b29df8ce5194d45172253939f3b98" }, "downloads": -1, "filename": "django_request_position-1.0a12-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "245eebe94f702154787b2749dadd7ba4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7323, "upload_time": "2017-12-04T20:55:52", "url": "https://files.pythonhosted.org/packages/e7/c4/2255ff8ce112b92854c49fbdc927b1758ac3dd11195c04cc9f8481d7ca7b/django_request_position-1.0a12-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2e1963e91a270cb48683358805d3eeb2", "sha256": "9d05afe0dbc506448f27697d12d03f13153cf4d98d0222885888822acf3c5085" }, "downloads": -1, "filename": "django-request-position-1.0a12.tar.gz", "has_sig": false, "md5_digest": "2e1963e91a270cb48683358805d3eeb2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5068, "upload_time": "2017-12-04T20:55:54", "url": "https://files.pythonhosted.org/packages/b8/e9/f87ff6b8e7bc41fa3d3d5dce49b5f65ccf4d2df63e32eaa46ab51ed44580/django-request-position-1.0a12.tar.gz" } ], "1.0a13": [ { "comment_text": "", "digests": { "md5": "43c76e8b183bccbf9b6a6cf73690ab71", "sha256": "01e6dde029f2651839b70c51469afc87f924013e98ca2a77a04e0fa77780a7fb" }, "downloads": -1, "filename": "django_request_position-1.0a13-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "43c76e8b183bccbf9b6a6cf73690ab71", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7385, "upload_time": "2017-12-05T10:34:18", "url": "https://files.pythonhosted.org/packages/ee/0b/82f293003dc73ecf38681fe971d6d4f66f2e6fb7eed72a1b7d03b2d078d3/django_request_position-1.0a13-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1079153e4b41866af17e4030eeed8ef8", "sha256": "2a965bd656630c85c429e7eac858cc83097d290411b015b0ef3305e8c39c7b46" }, "downloads": -1, "filename": "django-request-position-1.0a13.tar.gz", "has_sig": false, "md5_digest": "1079153e4b41866af17e4030eeed8ef8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5109, "upload_time": "2017-12-05T10:34:19", "url": "https://files.pythonhosted.org/packages/86/ff/c35917edddf164f0b6060807ba4b20a26f10a16e335d5602e3ada4d3698c/django-request-position-1.0a13.tar.gz" } ], "1.0a2": [ { "comment_text": "", "digests": { "md5": "6978eb38eff023ee3342f075ca99a4a0", "sha256": "d624d3de67565e7f157a8eb9d0e9a1e229526b95628b1752678bd864bf0a672c" }, "downloads": -1, "filename": "django_request_position-1.0a2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6978eb38eff023ee3342f075ca99a4a0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6423, "upload_time": "2017-02-28T13:10:59", "url": "https://files.pythonhosted.org/packages/e7/8a/2fd3f1f596810d7fbe9b975fec76c40b1fbbbf71fec677aa7b13affbfd44/django_request_position-1.0a2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "62e4d7f71ae323eb02147c6d2d918370", "sha256": "e2d30ae037231bc5991f1ed3250eccbc47c2d0c4adbbddba0cecfa10e5869fe8" }, "downloads": -1, "filename": "django-request-position-1.0a2.tar.gz", "has_sig": false, "md5_digest": "62e4d7f71ae323eb02147c6d2d918370", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4596, "upload_time": "2017-02-28T13:11:00", "url": "https://files.pythonhosted.org/packages/23/a7/155440841a59b3a59566e5f7d8e8bb1e2c90e0675429a7cba0668dae237d/django-request-position-1.0a2.tar.gz" } ], "1.0a3": [ { "comment_text": "", "digests": { "md5": "7743176d97b2e9c3637cb6db8419cebc", "sha256": "5fc41cc511a0ebad810f9f3d7f3396b82445f8d5e744d6e8e3afd749b3270c32" }, "downloads": -1, "filename": "django_request_position-1.0a3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7743176d97b2e9c3637cb6db8419cebc", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6466, "upload_time": "2017-02-28T13:14:46", "url": "https://files.pythonhosted.org/packages/63/16/8bdba170c29c46690dab3d75e56fa3a5d3c6c33701e152db89d16bf9c62f/django_request_position-1.0a3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0b83dfa6564cce130cb579ed3d8c889e", "sha256": "234e9eee68975d8a271dca91429dbdfcf946b4b5c847b363a37295547eee9455" }, "downloads": -1, "filename": "django-request-position-1.0a3.tar.gz", "has_sig": false, "md5_digest": "0b83dfa6564cce130cb579ed3d8c889e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4641, "upload_time": "2017-02-28T13:14:48", "url": "https://files.pythonhosted.org/packages/51/68/09e2999514612c55d97d06a71c56710529816ba5b7b5b24355720c724ca4/django-request-position-1.0a3.tar.gz" } ], "1.0a4": [ { "comment_text": "", "digests": { "md5": "b6fab169b7d71c8e6292ffee3abf46b4", "sha256": "d20814b733f853c7a55659b2a6ac691d7fdfbc6baa39a75e2545609c586bc2c1" }, "downloads": -1, "filename": "django_request_position-1.0a4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b6fab169b7d71c8e6292ffee3abf46b4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6540, "upload_time": "2017-02-28T13:24:30", "url": "https://files.pythonhosted.org/packages/f2/0a/ad2d9a06772f2ae9b8502280bfe996b17712eb64e16ecac3c2d1782cddf8/django_request_position-1.0a4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "572a08454cf16c46111d6eebf8e10f75", "sha256": "c8a1d43b8863a3cdca9b34997c8474e690730515a16d2e27f7886dc7647fd109" }, "downloads": -1, "filename": "django-request-position-1.0a4.tar.gz", "has_sig": false, "md5_digest": "572a08454cf16c46111d6eebf8e10f75", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4680, "upload_time": "2017-02-28T13:24:37", "url": "https://files.pythonhosted.org/packages/1d/6b/5761d1a77d801f8b8118a10e21a7b9d65f2f65e5fbaff77834639cccd667/django-request-position-1.0a4.tar.gz" } ], "1.0a5": [ { "comment_text": "", "digests": { "md5": "381d84d8fb3dd7e821fd84922351dc31", "sha256": "661f3ff26def8b97137ad9e9d316191a21c43817ea8e8d865b5319e2ce45db0a" }, "downloads": -1, "filename": "django_request_position-1.0a5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "381d84d8fb3dd7e821fd84922351dc31", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7002, "upload_time": "2017-02-28T13:39:30", "url": "https://files.pythonhosted.org/packages/b9/6d/abae4db98006b76b16a47d4aa8433ae099492641ff3173882a61c7237ebb/django_request_position-1.0a5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2dd9fa91c3c62a5bc7fd475c0ba6d953", "sha256": "e8913c62073ac2e16fc503a567b2970053b0a56d1f657e9c9e59c34c3278b50d" }, "downloads": -1, "filename": "django-request-position-1.0a5.tar.gz", "has_sig": false, "md5_digest": "2dd9fa91c3c62a5bc7fd475c0ba6d953", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4866, "upload_time": "2017-02-28T13:39:31", "url": "https://files.pythonhosted.org/packages/5d/9a/3a6954b81633d190e8051f5a2dc61900ac14393f5f2abe25249546e3c626/django-request-position-1.0a5.tar.gz" } ], "1.0a6": [ { "comment_text": "", "digests": { "md5": "fb121b8602a67af1ff51f76f7357cda2", "sha256": "a3cba4214eaa2badcf4146c7255d41f2cba10d695e1afac0f3db18c55a4f4043" }, "downloads": -1, "filename": "django_request_position-1.0a6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fb121b8602a67af1ff51f76f7357cda2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7092, "upload_time": "2017-12-04T13:49:40", "url": "https://files.pythonhosted.org/packages/f2/be/ee36c1e4e227b33b38755c49a8b72e5882903534babdae13356e431f7673/django_request_position-1.0a6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3046ea3b36601a5f4c568db317c3d447", "sha256": "53cb105cebaf158d7385e1d4678134a0ba65ccd4d22b38fc14636035aadfcbc0" }, "downloads": -1, "filename": "django-request-position-1.0a6.tar.gz", "has_sig": false, "md5_digest": "3046ea3b36601a5f4c568db317c3d447", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4889, "upload_time": "2017-12-04T13:49:42", "url": "https://files.pythonhosted.org/packages/0e/5b/9e366879a5a0e94110701c745a56eb96496bd2b2958091d6d77586c4e54b/django-request-position-1.0a6.tar.gz" } ], "1.0a8": [ { "comment_text": "", "digests": { "md5": "dcdf8127d8e542ce6b9305708a1d1691", "sha256": "87a1113e7b2041abced2c294bdb55fabf63cfe771bf8a46193f37d9afbce453d" }, "downloads": -1, "filename": "django_request_position-1.0a8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "dcdf8127d8e542ce6b9305708a1d1691", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7266, "upload_time": "2017-12-04T14:32:09", "url": "https://files.pythonhosted.org/packages/93/2d/556ce9fc760c27a2e96dfe24593ec8cd0c3fd3e60dce4a7653991c897077/django_request_position-1.0a8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ef0db86323686ffd6dadf34a584e3c45", "sha256": "ad8dbcc2fd1b23faa13db93f44a33277b3945d690168cc7f833d760fec01e1af" }, "downloads": -1, "filename": "django-request-position-1.0a8.tar.gz", "has_sig": false, "md5_digest": "ef0db86323686ffd6dadf34a584e3c45", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5019, "upload_time": "2017-12-04T14:32:11", "url": "https://files.pythonhosted.org/packages/63/27/fc20d3188d7aef3481678e6a35b0ebe28e9fbf366eb5b21e665a92593877/django-request-position-1.0a8.tar.gz" } ], "1.0a9": [ { "comment_text": "", "digests": { "md5": "f109b9b8ab82cced3e90aa83b7d399d5", "sha256": "f20dbc3aa88de03549af210f94db482e55cf02c3686985ed4140bed2b8a4a021" }, "downloads": -1, "filename": "django_request_position-1.0a9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f109b9b8ab82cced3e90aa83b7d399d5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7270, "upload_time": "2017-12-04T14:38:15", "url": "https://files.pythonhosted.org/packages/f9/5d/2f8fecbf31dba06a4478398e1e296da08c1387d499629b013290f7f47e95/django_request_position-1.0a9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7da934253848b703f70aa940ec5fc9b3", "sha256": "9b5150d12859cceab60c4a97c58fd9872c5ccf01ae27bece8cdf1524bf218320" }, "downloads": -1, "filename": "django-request-position-1.0a9.tar.gz", "has_sig": false, "md5_digest": "7da934253848b703f70aa940ec5fc9b3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5021, "upload_time": "2017-12-04T14:38:17", "url": "https://files.pythonhosted.org/packages/ee/a1/c558d3a570954f30370c34c09bfcc1f514729016370bd130013c28eb4d11/django-request-position-1.0a9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "43c76e8b183bccbf9b6a6cf73690ab71", "sha256": "01e6dde029f2651839b70c51469afc87f924013e98ca2a77a04e0fa77780a7fb" }, "downloads": -1, "filename": "django_request_position-1.0a13-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "43c76e8b183bccbf9b6a6cf73690ab71", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7385, "upload_time": "2017-12-05T10:34:18", "url": "https://files.pythonhosted.org/packages/ee/0b/82f293003dc73ecf38681fe971d6d4f66f2e6fb7eed72a1b7d03b2d078d3/django_request_position-1.0a13-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1079153e4b41866af17e4030eeed8ef8", "sha256": "2a965bd656630c85c429e7eac858cc83097d290411b015b0ef3305e8c39c7b46" }, "downloads": -1, "filename": "django-request-position-1.0a13.tar.gz", "has_sig": false, "md5_digest": "1079153e4b41866af17e4030eeed8ef8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5109, "upload_time": "2017-12-05T10:34:19", "url": "https://files.pythonhosted.org/packages/86/ff/c35917edddf164f0b6060807ba4b20a26f10a16e335d5602e3ada4d3698c/django-request-position-1.0a13.tar.gz" } ] }