in sparkey/__init__.py [0:0]
def get(self, key):
"""Get the value associated with the key
@param key: type must be bytes or string
@returns: bytes representing the value associated with the key, or None if the
key does not exist.
"""
key = _to_bytes(key, "key")
self._assert_open()
iterator = self._iter
log = self._log
_hash_get(self._hashreader._reader, key, len(key), iterator)
state = _logiter_state(iterator)
if state != IterState.ACTIVE:
return None
type_ = _logiter_type(iterator)
assert type_ == IterType.PUT
valuelen = _logiter_valuelen(iterator)
string_buffer = _create_string_buffer(valuelen)
clen = _c_ulonglong()
_logiter_fill_value(iterator, log, valuelen, string_buffer,
_byref(clen))
if clen.value != valuelen:
raise SparkeyException("Invalid valuelen, expected %s but got %s" %
(valuelen, clen.value))
value = string_buffer.raw
return value