Esempio n. 1
0
def _items(mappingorseq):
    """Wrapper for efficient iteration over mappings represented by dicts
    or sequences::

        >>> for k, v in _items((i, i*i) for i in xrange(5)):
        ...    assert k*k == v

        >>> for k, v in _items(dict((i, i*i) for i in xrange(5))):
        ...    assert k*k == v

    """
    if hasattr(mappingorseq, 'items'):
        return iteritems(mappingorseq)
    return mappingorseq
Esempio n. 2
0
 def get_dict(self, *keys):
     key_mapping = {}
     have_encoded_keys = False
     for key in keys:
         encoded_key = self._normalize_key(key)
         if not isinstance(key, str):
             have_encoded_keys = True
         if _test_memcached_key(key):
             key_mapping[encoded_key] = key
     _keys = list(key_mapping)
     d = rv = self._client.get_multi(_keys)
     if have_encoded_keys or self.key_prefix:
         rv = {}
         for key, value in iteritems(d):
             rv[key_mapping[key]] = value
     if len(rv) < len(keys):
         for key in keys:
             if key not in rv:
                 rv[key] = None
     return rv