14
0

- Add python-memcached-ipv6-and-or.patch: Add IPv6 support and fix

hostData port return value

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-python-memcached?expand=0&rev=8
This commit is contained in:
Sascha Peilicke
2013-04-26 09:17:39 +00:00
committed by Git OBS Bridge
parent d807aa49b9
commit 6b026afdf9
3 changed files with 47 additions and 0 deletions

View File

@@ -0,0 +1,39 @@
diff -ruN a/memcache.py b/memcache.py
--- a/memcache.py 2011-11-28 02:17:32.000000000 +0100
+++ b/memcache.py 2013-04-26 11:18:47.765452711 +0200
@@ -1042,6 +1042,9 @@
# parse the connection string
m = re.match(r'^(?P<proto>unix):(?P<path>.*)$', host)
if not m:
+ m = re.match(r'^(?P<proto>inet6):'
+ r'\[(?P<host>[^\[\]]+)\](:(?P<port>[0-9]+))?$', host)
+ if not m:
m = re.match(r'^(?P<proto>inet):'
r'(?P<host>[^:]+)(:(?P<port>[0-9]+))?$', host)
if not m: m = re.match(r'^(?P<host>[^:]+)(:(?P<port>[0-9]+))?$', host)
@@ -1052,10 +1055,15 @@
if hostData.get('proto') == 'unix':
self.family = socket.AF_UNIX
self.address = hostData['path']
+ elif hostData.get('proto') == 'inet6':
+ self.family = socket.AF_INET6
+ self.ip = hostData['host']
+ self.port = int(hostData.get('port') or 11211)
+ self.address = ( self.ip, self.port )
else:
self.family = socket.AF_INET
self.ip = hostData['host']
- self.port = int(hostData.get('port', 11211))
+ self.port = int(hostData.get('port') or 11211)
self.address = ( self.ip, self.port )
self.deaduntil = 0
@@ -1158,6 +1166,8 @@
if self.family == socket.AF_INET:
return "inet:%s:%d%s" % (self.address[0], self.address[1], d)
+ elif self.family == socket.AF_INET6:
+ return "inet6:[%s]:%d%s" % (self.address[0], self.address[1], d)
else:
return "unix:%s%s" % (self.address, d)

View File

@@ -1,3 +1,9 @@
-------------------------------------------------------------------
Fri Apr 26 09:20:00 UTC 2013 - speilicke@suse.com
- Add python-memcached-ipv6-and-or.patch: Add IPv6 support and fix
hostData port return value
------------------------------------------------------------------- -------------------------------------------------------------------
Fri Apr 26 09:14:11 UTC 2013 - speilicke@suse.com Fri Apr 26 09:14:11 UTC 2013 - speilicke@suse.com

View File

@@ -24,6 +24,7 @@ Summary: Pure python memcached client
License: Python-2.0 License: Python-2.0
Group: Development/Languages/Python Group: Development/Languages/Python
Source: http://pypi.python.org/packages/source/p/python-memcached/python-memcached-%{version}.tar.gz Source: http://pypi.python.org/packages/source/p/python-memcached/python-memcached-%{version}.tar.gz
Patch0: python-memcached-ipv6-and-or.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: python-devel BuildRequires: python-devel
BuildRequires: python-distribute BuildRequires: python-distribute
@@ -46,6 +47,7 @@ for more information.
%prep %prep
%setup -q -n python-memcached-%{version} %setup -q -n python-memcached-%{version}
%patch0 -p1
%build %build
python setup.py build python setup.py build