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