summaryrefslogtreecommitdiffstats
path: root/google-appengine/google/appengine/api/memcache/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'google-appengine/google/appengine/api/memcache/__init__.py')
-rwxr-xr-xgoogle-appengine/google/appengine/api/memcache/__init__.py33
1 files changed, 25 insertions, 8 deletions
diff --git a/google-appengine/google/appengine/api/memcache/__init__.py b/google-appengine/google/appengine/api/memcache/__init__.py
index 4ae08fa..6a9f92a 100755
--- a/google-appengine/google/appengine/api/memcache/__init__.py
+++ b/google-appengine/google/appengine/api/memcache/__init__.py
@@ -85,6 +85,23 @@ TYPE_BOOL = 5
CAPABILITY = capabilities.CapabilitySet('memcache')
+def _add_name_space(message, namespace=None):
+ """Populate the name_space field in a messagecol buffer.
+
+ Args:
+ message: A messagecol buffer supporting the set_name_space() operation.
+ namespace: The name of the namespace part. If None, use the
+ default namespace. The empty namespace (i.e. '') will clear
+ the name_space field.
+ """
+ if namespace is None:
+ namespace = namespace_manager.get_namespace()
+ if not namespace:
+ message.clear_name_space()
+ else:
+ message.set_name_space(namespace)
+
+
def _key_string(key, key_prefix='', server_to_user_dict=None):
"""Utility function to handle different ways of requesting keys.
@@ -405,7 +422,7 @@ class Client(object):
"""
request = MemcacheGetRequest()
request.add_key(_key_string(key))
- namespace_manager._add_name_space(request, namespace)
+ _add_name_space(request, namespace)
response = MemcacheGetResponse()
try:
self._make_sync_call('memcache', 'Get', request, response)
@@ -441,7 +458,7 @@ class Client(object):
the keys in the returned dictionary.
"""
request = MemcacheGetRequest()
- namespace_manager._add_name_space(request, namespace)
+ _add_name_space(request, namespace)
response = MemcacheGetResponse()
user_key = {}
for key in keys:
@@ -486,7 +503,7 @@ class Client(object):
raise ValueError('Delete timeout must be non-negative.')
request = MemcacheDeleteRequest()
- namespace_manager._add_name_space(request, namespace)
+ _add_name_space(request, namespace)
response = MemcacheDeleteResponse()
delete_item = request.add_item()
@@ -530,7 +547,7 @@ class Client(object):
raise ValueError('Delete timeout must not be negative.')
request = MemcacheDeleteRequest()
- namespace_manager._add_name_space(request, namespace)
+ _add_name_space(request, namespace)
response = MemcacheDeleteResponse()
for key in keys:
@@ -641,7 +658,7 @@ class Client(object):
item.set_flags(flags)
item.set_set_policy(policy)
item.set_expiration_time(int(math.ceil(time)))
- namespace_manager._add_name_space(request, namespace)
+ _add_name_space(request, namespace)
response = MemcacheSetResponse()
try:
self._make_sync_call('memcache', 'Set', request, response)
@@ -682,6 +699,7 @@ class Client(object):
raise ValueError('Expiration must not be negative.')
request = MemcacheSetRequest()
+ _add_name_space(request, namespace)
user_key = {}
server_keys = []
for key, value in mapping.iteritems():
@@ -695,7 +713,6 @@ class Client(object):
item.set_flags(flags)
item.set_set_policy(policy)
item.set_expiration_time(int(math.ceil(time)))
- namespace_manager._add_name_space(request, namespace)
response = MemcacheSetResponse()
try:
@@ -902,7 +919,7 @@ class Client(object):
pass
request = MemcacheIncrementRequest()
- namespace_manager._add_name_space(request, namespace)
+ _add_name_space(request, namespace)
response = MemcacheIncrementResponse()
request.set_key(_key_string(key))
request.set_delta(delta)
@@ -950,7 +967,7 @@ class Client(object):
request = MemcacheBatchIncrementRequest()
response = MemcacheBatchIncrementResponse()
- namespace_manager._add_name_space(request, namespace)
+ _add_name_space(request, namespace)
for key, delta in mapping.iteritems():
if not isinstance(delta, (int, long)):