Yanz Mini Shell
[_]
[-]
[X]
[
HomeShell 1
] [
HomeShell 2
] [
Upload
] [
Command Shell
] [
Scripting
] [
About
]
[ Directory ] =>
/
home
firstmatrixcoin
public_html
ocean-arc.firstmatrix.co.in
plugins
fastclick
Action
[*]
New File
[*]
New Folder
Sensitive File
[*]
/etc/passwd
[*]
/etc/shadow
[*]
/etc/resolv.conf
[
Delete
] [
Edit
] [
Rename
] [
Back
]
#!/usr/bin/env python3 import argparse import os import pathlib import zipfile from urllib.request import urlretrieve def fetch_zip(commit_hash, zip_dir, *, org='python', binary=False, verbose): repo = f'cpython-{"bin" if binary else "source"}-deps' url = f'https://github.com/{org}/{repo}/archive/{commit_hash}.zip' reporthook = None if verbose: reporthook = print zip_dir.mkdir(parents=True, exist_ok=True) filename, headers = urlretrieve( url, zip_dir / f'{commit_hash}.zip', reporthook=reporthook, ) return filename def extract_zip(externals_dir, zip_path): with zipfile.ZipFile(os.fspath(zip_path)) as zf: zf.extractall(os.fspath(externals_dir)) return externals_dir / zf.namelist()[0].split('/')[0] def parse_args(): p = argparse.ArgumentParser() p.add_argument('-v', '--verbose', action='store_true') p.add_argument('-b', '--binary', action='store_true', help='Is the dependency in the binary repo?') p.add_argument('-O', '--organization', help='Organization owning the deps repos', default='python') p.add_argument('-e', '--externals-dir', type=pathlib.Path, help='Directory in which to store dependencies', default=pathlib.Path(__file__).parent.parent / 'externals') p.add_argument('tag', help='tag of the dependency') return p.parse_args() def main(): args = parse_args() zip_path = fetch_zip( args.tag, args.externals_dir / 'zips', org=args.organization, binary=args.binary, verbose=args.verbose, ) final_name = args.externals_dir / args.tag extract_zip(args.externals_dir, zip_path).replace(final_name) if __name__ == '__main__': main()
Free Space : 11343003648 Byte