Ejemplo n.º 1
0
def _get_path_dict():
    path = os.path.dirname(__file__)
    base_path = os.path.join(path, 'fake')
    dct = {}
    for file_name in __res.resfs_files():
        if sys.version_info[0] == 3:
            file_name = str(file_name, 'ascii')
        if file_name.startswith(base_path) and file_name.endswith('.pym'):
            dct[file_name[len(base_path) + 1:-4]] = file_name
    return dct
Ejemplo n.º 2
0
    def list_templates(self) -> t.List[str]:
        results: t.List[str] = []

        if self._archive is None and hasattr(self, "_package"):
            prefix = os.path.join(self._template_root,
                                  self.package_path).encode() + b"/"
            for name in arcadia_res.resfs_files(prefix):
                results.append(name.removeprefix(prefix).decode())

        elif self._archive is None:
            # Package is a directory.
            offset = len(self._template_root)

            for dirpath, _, filenames in os.walk(self._template_root):
                dirpath = dirpath[offset:].lstrip(os.path.sep)
                results.extend(
                    os.path.join(dirpath, name).replace(os.path.sep, "/")
                    for name in filenames)
        else:
            if not hasattr(self._loader, "_files"):
                raise TypeError("This zip import does not have the required"
                                " metadata to list templates.")

            # Package is a zip file.
            prefix = (
                self._template_root[len(self._archive):].lstrip(os.path.sep) +
                os.path.sep)
            offset = len(prefix)

            for name in self._loader._files.keys():  # type: ignore
                # Find names under the templates directory that aren't directories.
                if name.startswith(prefix) and name[-1] != os.path.sep:
                    results.append(name[offset:].replace(os.path.sep, "/"))

        results.sort()
        return results
Ejemplo n.º 3
0
def resource_files():
    sys.stdout.buffer.write(b'\n'.join(sorted(__res.resfs_files()) + [b'']))
Ejemplo n.º 4
0
def resource_files():
    sys.stdout.write('\n'.join(sorted(__res.resfs_files()) + ['']))