12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- from __res import find as __find, count, key_by_index, resfs_files as __resfs_files
- from __res import resfs_read, resfs_resolve, resfs_src # noqa
- import six
- def iterkeys(prefix="", strip_prefix=False):
- decode = lambda s: s # noqa: E731
- if isinstance(prefix, six.text_type):
- prefix = prefix.encode("utf-8")
- decode = lambda s: s.decode("utf-8") # noqa: E731
- for i in six.moves.range(count()):
- key = key_by_index(i)
- if key.startswith(prefix):
- if strip_prefix:
- key = key[len(prefix) :]
- yield decode(key)
- def itervalues(prefix=b""):
- for key in iterkeys(prefix=prefix):
- value = find(key)
- yield value
- def iteritems(prefix="", strip_prefix=False):
- for key in iterkeys(prefix=prefix):
- value = find(key)
- if strip_prefix:
- key = key[len(prefix) :]
- yield key, value
- def resfs_file_exists(path):
- return resfs_src(path, resfs_file=True) is not None
- def resfs_files(prefix=""):
- decode = lambda s: s # noqa: E731
- if isinstance(prefix, six.text_type):
- decode = lambda s: s.decode("utf-8") # noqa: E731
- return [decode(s) for s in __resfs_files(prefix=prefix)]
- def find(path):
- if isinstance(path, six.text_type):
- path = path.encode("utf-8")
- return __find(path)
|