GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — pythonVSCode/pythonFiles/install_debugpy.py at main · samin36/pythonVSCode Expand file tree/ Copy pathinstall_debugpy.pyMore file actions 63 lines (47 loc) · 1.96 KB / Copy pathinstall_debugpy.pyFile metadata and controls63 lines (47 loc) · 1.96 KB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 import io import json import os import urllib.request as url_lib import zipfile from packaging.version import parse as version_parser EXTENSION_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) DEBUGGER_DEST = os.path.join(EXTENSION_ROOT, "pythonFiles", "lib", "python") DEBUGGER_PACKAGE = "debugpy" DEBUGGER_PYTHON_ABI_VERSIONS = ("cp39",) DEBUGGER_VERSION = "1.5.1" # can also be "latest" def _contains(s, parts=()): return any(p for p in parts if p in s) def _get_package_data(): json_uri = "https://pypi.org/pypi/{0}/json".format(DEBUGGER_PACKAGE) # Response format: https://warehouse.readthedocs.io/api-reference/json/#project # Release metadata format: https://github.com/pypa/interoperability-peps/blob/master/pep-0426-core-metadata.rst with url_lib.urlopen(json_uri) as response: return json.loads(response.read()) def _get_debugger_wheel_urls(data, version): return list( r["url"] for r in data["releases"][version] if _contains(r["url"], DEBUGGER_PYTHON_ABI_VERSIONS) ) def _download_and_extract(root, url, version): root = os.getcwd() if root is None or root == "." else root print(url) with url_lib.urlopen(url) as response: data = response.read() with zipfile.ZipFile(io.BytesIO(data), "r") as wheel: for zip_info in wheel.infolist(): # Ignore dist info since we are merging multiple wheels if ".dist-info/" in zip_info.filename: continue print("\t" + zip_info.filename) wheel.extract(zip_info.filename, root) def main(root): data = _get_package_data() if DEBUGGER_VERSION == "latest": use_version = max(data["releases"].keys(), key=version_parser) else: use_version = DEBUGGER_VERSION for url in _get_debugger_wheel_urls(data, use_version): _download_and_extract(root, url, use_version) if __name__ == "__main__": main(DEBUGGER_DEST) |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |