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
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
def resource_files(): sys.stdout.buffer.write(b'\n'.join(sorted(__res.resfs_files()) + [b'']))
def resource_files(): sys.stdout.write('\n'.join(sorted(__res.resfs_files()) + ['']))