Spaces:
Runtime error
Runtime error
| # Adopted from https://github.com/yt-dlp/yt-dlp/tree/master/devscripts | |
| import argparse | |
| import functools | |
| import subprocess | |
| def read_file(fname): | |
| with open(fname, encoding='utf-8') as f: | |
| return f.read() | |
| def write_file(fname, content, mode='w'): | |
| with open(fname, mode, encoding='utf-8') as f: | |
| return f.write(content) | |
| def get_filename_args(has_infile=False, default_outfile=None): | |
| parser = argparse.ArgumentParser() | |
| if has_infile: | |
| parser.add_argument('infile', help='Input file') | |
| kwargs = {'nargs': '?', 'default': default_outfile} if default_outfile else {} | |
| parser.add_argument('outfile', **kwargs, help='Output file') | |
| opts = parser.parse_args() | |
| if has_infile: | |
| return opts.infile, opts.outfile | |
| return opts.outfile | |
| def compose_functions(*functions): | |
| return lambda x: functools.reduce(lambda y, f: f(y), functions, x) | |
| def run_process(*args, **kwargs): | |
| kwargs.setdefault('text', True) | |
| kwargs.setdefault('check', True) | |
| kwargs.setdefault('capture_output', True) | |
| if kwargs['text']: | |
| kwargs.setdefault('encoding', 'utf-8') | |
| kwargs.setdefault('errors', 'replace') | |
| return subprocess.run(args, **kwargs) | |