Skip to content

Commit

Permalink
Merge 80d5909 into 51f6e90
Browse files Browse the repository at this point in the history
  • Loading branch information
reinhardt committed Jul 26, 2019
2 parents 51f6e90 + 80d5909 commit 95a6865
Show file tree
Hide file tree
Showing 4 changed files with 42 additions and 40 deletions.
20 changes: 10 additions & 10 deletions Products/MemcachedManager/MemcachedManager.py
Expand Up @@ -30,7 +30,7 @@
import memcache

from itertools import chain
from thread import get_ident
from six.moves._thread import get_ident
from Acquisition import aq_base
from Acquisition import aq_get
from OFS.Cache import Cache, CacheManager
Expand Down Expand Up @@ -88,50 +88,50 @@ def debuglog(self, msg):
def get(self, key):
try:
return self._client.get(key)
except MemcachedError, e:
except MemcachedError as e:
self.debuglog('memcached.get failed %s' % e)
return None

def set(self, key, value, time=0):
try:
return self._client.set(
key, value, time=time, min_compress_len=self.min_compress_len)
except MemcachedError, e:
except MemcachedError as e:
self.debuglog('memcached.set failed %s' % e)
return None

def delete(self, key):
try:
return self._client.delete(key)
except MemcachedError, e:
except MemcachedError as e:
self.debuglog('memcached.delete failed %s' % e)
return None

def incr(self, key):
try:
return self._client.incr(key)
except MemcachedError, e:
except MemcachedError as e:
self.debuglog('memcached.incr failed %s' % e)
return None

def flush_all(self):
try:
self._client.flush_all()
except MemcachedError, e:
except MemcachedError as e:
self.debuglog('memcached.flush_all failed %s' % e)
return None

def disconnect_all(self):
try:
self._client.disconnect_all()
except MemcachedError, e:
except MemcachedError as e:
self.debuglog('memcached.disconnect_all failed %s' % e)
return None

def get_stats(self):
try:
return self._client.get_stats()
except MemcachedError, e:
except MemcachedError as e:
self.debuglog('memcached.get_stats failed %s' % e)
return None

Expand Down Expand Up @@ -392,8 +392,8 @@ def manage_editProps(self, title, settings=None, REQUEST=None):
self.title = str(title)
request_vars = list(settings['request_vars'])
request_vars.sort()
servers = filter(None, list(settings['servers']))
mirrors = filter(None, list(settings.get('mirrors', [])))
servers = [s for s in list(settings['servers']) if s]
mirrors = [m for m in list(settings.get('mirrors', [])) if m]
debug = int(settings.get('debug', 0))
self._settings = {
'request_vars': tuple(request_vars),
Expand Down
51 changes: 26 additions & 25 deletions Products/MemcachedManager/tests/memcache.py
Expand Up @@ -49,12 +49,13 @@
More detailed documentation is available in the L{Client} class.
"""

from __future__ import print_function
import re
import sys
import time
import types
try:
import cPickle as pickle
import six.moves.cPickle as pickle
except ImportError:
import pickle

Expand Down Expand Up @@ -121,7 +122,7 @@ def _validate_key(self, key):
if not isinstance(key, str):
raise TypeError('argument 1 must be string, not %s' % type(key))
if invalid_key_pattern.search(key):
raise ValueError, 'invalid key: "%s"' % key
raise ValueError('invalid key: "%s"' % key)

def set_servers(self, servers):
"""
Expand All @@ -145,10 +146,10 @@ def get_stats(self):
'''
data = []
for server in self.servers:
data.append((server, {'curr_items': '%s' % len(self._data.keys()),
data.append((server, {'curr_items': '%s' % len(list(self._data.keys())),
'curr_connections': '1',
'version': 'testdummy',
'total_items': '%s' % len(self._data.keys()),
'total_items': '%s' % len(list(self._data.keys())),
'bytes_read': 1024,
'bytes_written': 256}))
return data
Expand Down Expand Up @@ -365,28 +366,28 @@ def _doctest():
return doctest.testmod(memcache, globs=globs)

if __name__ == '__main__':
print 'Testing docstrings...'
print('Testing docstrings...')
_doctest()
print 'Running tests:'
print
print('Running tests:')
print()
#servers = ["127.0.0.1:11211", "127.0.0.1:11212"]
servers = ['127.0.0.1:11211']
mc = Client(servers, debug=1)

def to_s(val):
if not isinstance(val, types.StringTypes):
if not isinstance(val, (str,)):
return '%s (%s)' % (val, type(val))
return '%s' % val

def test_setget(key, val):
print "Testing set/get {'%s': %s} ..." % (to_s(key), to_s(val)),
print("Testing set/get {'%s': %s} ..." % (to_s(key), to_s(val)), end=' ')
mc.set(key, val)
newval = mc.get(key)
if newval == val:
print 'OK'
print('OK')
return 1
else:
print 'FAIL'
print('FAIL')
return 0

class FooStruct:
Expand All @@ -403,31 +404,31 @@ def __eq__(self, other):

test_setget('a_string', 'some random string')
test_setget('an_integer', 42)
if test_setget('long', long(1<<30)):
print 'Testing delete ...',
if test_setget('long', int(1<<30)):
print('Testing delete ...', end=' ')
if mc.delete('long'):
print 'OK'
print('OK')
else:
print 'FAIL'
print 'Testing get_multi ...',
print mc.get_multi(['a_string', 'an_integer'])
print('FAIL')
print('Testing get_multi ...', end=' ')
print(mc.get_multi(['a_string', 'an_integer']))

print 'Testing get(unknown value) ...',
print to_s(mc.get('unknown_value'))
print('Testing get(unknown value) ...', end=' ')
print(to_s(mc.get('unknown_value')))

f = FooStruct()
test_setget('foostruct', f)

print 'Testing incr ...',
print('Testing incr ...', end=' ')
x = mc.incr('an_integer', 1)
if x == 43:
print 'OK'
print('OK')
else:
print 'FAIL'
print('FAIL')

print 'Testing decr ...',
print('Testing decr ...', end=' ')
x = mc.decr('an_integer', 1)
if x == 42:
print 'OK'
print('OK')
else:
print 'FAIL'
print('FAIL')
9 changes: 5 additions & 4 deletions Products/MemcachedManager/tests/testMemcacheStub.py
Expand Up @@ -7,6 +7,7 @@
Based on revision 283
"""

from __future__ import print_function
import os, signal, socket, subprocess

from Testing import ZopeTestCase
Expand Down Expand Up @@ -102,7 +103,7 @@ def _test_base(self, mcm, mc, ok):
"""

print 'testing', mc, '\n\tfrom', mcm
print('testing', mc, '\n\tfrom', mcm)

self._test_sgra(mc, 'blu', 'replace', 'will not be set', ok)

Expand Down Expand Up @@ -185,15 +186,15 @@ def _test_client(self, mcm, ok):
def test_memcache(self):
# quick check if memcached is running
ip, port = self.servers[0].split(':')
print 'ip', ip, 'port', port
print('ip', ip, 'port', port)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
memcached = None
try:
s.connect((ip, int(port)))
except socket.error, e:
except socket.error as e:
# not running, start one
memcached = subprocess.Popen('memcached -m 10', shell=True)
print 'memcached not running, starting one (pid %d)' % (memcached.pid,)
print('memcached not running, starting one (pid %d)' % (memcached.pid,))
# give it some time to start
import time
time.sleep(0.5)
Expand Down
2 changes: 1 addition & 1 deletion bootstrap.py
Expand Up @@ -74,7 +74,7 @@
import pkg_resources
from urllib.request import urlopen
except ImportError:
from urllib2 import urlopen
from six.moves.urllib.request import urlopen

ez = {}
exec(urlopen('https://bootstrap.pypa.io/ez_setup.py').read(), ez)
Expand Down

0 comments on commit 95a6865

Please sign in to comment.