def _items_from_str(self, items_str):
    '''Each line is of the form: type.scheme<tab>path<tab>store_path'''
    for line in items_str.splitlines():
      (type_and_scheme, path, store_path) = line.split("\t")
      bits = type_and_scheme.split(".")
      # For backward compatibility, we use "file" instead of "file.raw".
      if bits[0] != ItemType.FILE:
        raise NotImplementedError("manifest entry type '%' not supported (old version of Zinc client?)" % type_and_scheme)
      if len(bits) == 1:
        (type, scheme) = (bits[0], Scheme.RAW)
      else:
        (type, scheme) = (bits[0], bits[1])
      self.items.append(Item(path, store_path, scheme, add_scheme_suffix=False))
dataset/ETHPy150Open bloomreach/zinc/zinc.py/Manifest._items_from_str/original