def listdirfiles(): """ Returns a list of directory, file tuples known to the system. If the file is in an archive, the directory is None. """ rv = [ ] seen = set() for apk in apks: for f in apk.list(): # Strip off the "x-" in front of each filename, which is there # to ensure that aapt actually includes every file. f = "/".join(i[2:] for i in f.split("/")) if f not in seen: rv.append((None, f)) for i in renpy.config.searchpath: i = os.path.join(renpy.config.basedir, i) for j in walkdir(i): if j not in seen: rv.append((i, j)) seen.add(j) for _prefix, index in archives: for j in index.iterkeys(): if j not in seen: rv.append((None, j)) seen.add(j) return rv
def scandirfiles(): """ Scans directories, archives, and apks and fills out game_files and common_files. """ seen = set() def add(dn, fn): if fn in seen: return if fn.startswith("cache/"): return if fn.startswith("saves/"): return files.append((dn, fn)) seen.add(fn) loadable_cache[fn.lower()] = True for apk in apks: if apk not in game_apks: files = common_files # @UnusedVariable else: files = game_files # @UnusedVariable for f in apk.list(): # Strip off the "x-" in front of each filename, which is there # to ensure that aapt actually includes every file. f = "/".join(i[2:] for i in f.split("/")) add(None, f) for i in renpy.config.searchpath: if (renpy.config.commondir) and (i == renpy.config.commondir): files = common_files # @UnusedVariable else: files = game_files # @UnusedVariable i = os.path.join(renpy.config.basedir, i) for j in walkdir(i): add(i, j) files = game_files for _prefix, index in archives: for j in index.iterkeys(): add(None, j)
def listdirfiles(common=True): """ Returns a list of directory, file tuples known to the system. If the file is in an archive, the directory is None. """ rv = [] seen = set() if common: list_apks = apks else: list_apks = game_apks for apk in list_apks: for f in apk.list(): # Strip off the "x-" in front of each filename, which is there # to ensure that aapt actually includes every file. f = "/".join(i[2:] for i in f.split("/")) if f not in seen: rv.append((None, f)) seen.add(f) for i in renpy.config.searchpath: if (not common) and (renpy.config.commondir) and ( i == renpy.config.commondir): continue i = os.path.join(renpy.config.basedir, i) for j in walkdir(i): if j not in seen: rv.append((i, j)) seen.add(j) for _prefix, index in archives: for j in index.iterkeys(): if j not in seen: rv.append((None, j)) seen.add(j) return rv
def scandirfiles_from_apk(add, seen): """ Scans apks and fills out game_files and common_files. """ for apk in apks: if apk not in game_apks: files = common_files # @UnusedVariable else: files = game_files # @UnusedVariable for f in apk.list(): # Strip off the "x-" in front of each filename, which is there # to ensure that aapt actually includes every file. f = "/".join(i[2:] for i in f.split("/")) add(None, f, files, seen)
def scandirfiles(): """ Scans directories, archives, and apks and fills out game_files and common_files. """ seen = set() def add(dn, fn): if fn in seen: return if fn.startswith("cache/"): return if fn.startswith("saves/"): return files.append((dn, fn)) seen.add(fn) loadable_cache[fn.lower()] = True for apk in apks: if apk not in game_apks: files = common_files # @UnusedVariable else: files = game_files # @UnusedVariable for f in apk.list(): # Strip off the "x-" in front of each filename, which is there # to ensure that aapt actually includes every file. f = "/".join(i[2:] for i in f.split("/")) add(None, f) # HTML5 remote files if renpy.emscripten or os.environ.get('RENPY_SIMULATE_DOWNLOAD', False): index_filename = os.path.join(renpy.config.gamedir, 'renpyweb_remote_files.txt') if os.path.exists(index_filename): files = game_files with open(index_filename, 'rb') as remote_index: while True: f = remote_index.readline() metadata = remote_index.readline() if f == '' or metadata == '': # end of file break f = f.rstrip("\r\n") metadata = metadata.rstrip("\r\n") (entry_type, entry_size) = metadata.split(' ') if entry_type == 'image': entry_size = [int(i) for i in entry_size.split(',')] add('/game', f) remote_files[f] = {'type': entry_type, 'size': entry_size} for i in renpy.config.searchpath: if (renpy.config.commondir) and (i == renpy.config.commondir): files = common_files # @UnusedVariable else: files = game_files # @UnusedVariable i = os.path.join(renpy.config.basedir, i) for j in walkdir(i): add(i, j) files = game_files for _prefix, index in archives: for j in index: add(None, j)