Beispiel #1
0
  def encode_query_key(self, txid, namespace, ancestor_path):
    if not isinstance(ancestor_path, tuple):
      ancestor_path = Path.flatten(ancestor_path)

    section_prefix = self._txid_prefix(txid) + self.QUERIES
    encoded_ancestor = Text.encode(namespace) + Path.pack(ancestor_path[:2])
    return section_prefix + encoded_ancestor
Beispiel #2
0
  def encode_key(self, group_path):
    """ Encodes a key for a given entity group.

    Args:
      group_path: A tuple containing path elements.
    Returns:
      A byte string containing the relevant FDB key.
    """
    return b''.join([
      self.directory.rawPrefix, hash_tuple(group_path),
      Text.encode(group_path[0]) + Path.encode_id_or_name(group_path[1])])
Beispiel #3
0
 def _encode_keys(self, keys):
   return b''.join(
     [Text.encode(decode_str(key.name_space())) + Path.pack(key.path())
      for key in keys])