Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Unified Diff: pygeoip/util.py

Issue 11577044: Switch to pygeoip for log processing to allow running it via PyPy (Closed)
Patch Set: Created Aug. 29, 2013, 7:38 p.m.
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pygeoip/timezone.py ('k') | sitescripts/stats/bin/logprocessor.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pygeoip/util.py
===================================================================
new file mode 100644
--- /dev/null
+++ b/pygeoip/util.py
@@ -0,0 +1,36 @@
+# -*- coding: utf-8 -*-
+"""
+Utility functions. Part of the pygeoip package.
+
+@author: Jennifer Ennis <zaylea@gmail.com>
+
+@license: Copyright(C) 2004 MaxMind LLC
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Lesser General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/lgpl.txt>.
+"""
+
+import socket
+import binascii
+
+
+def ip2long(ip):
+ """
+ Wrapper function for IPv4 and IPv6 converters
+ @param ip: IPv4 or IPv6 address
+ @type ip: str
+ """
+ try:
+ return int(binascii.hexlify(socket.inet_aton(ip)), 16)
+ except socket.error:
+ return int(binascii.hexlify(socket.inet_pton(socket.AF_INET6, ip)), 16)
« no previous file with comments | « pygeoip/timezone.py ('k') | sitescripts/stats/bin/logprocessor.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld