code: def getkey(self, path, filename=None):
          
          scheme, keys = self.getkeys(path, filename=filename)
          try:
              key = next(keys)
          except StopIteration:
              raise FileNotFoundError("Could not find object for: '%s'" % path)
  
          # we expect to only have a single key returned
          nextKey = None
          try:
              nextKey = next(keys)
          except StopIteration:
              pass
          if nextKey:
              raise ValueError("Found multiple keys for: '%s'" % path)
          return scheme, key
docs: Get single matching key for a path