├── test.py ├── totally_innocuous_folder └── no_seriously_nothing_to_see_here │ ├── bin │ ├── python │ ├── python3 │ ├── isort │ ├── pip │ ├── pip3 │ ├── pip3.7 │ ├── epylint │ ├── pylint │ ├── symilar │ ├── pyreverse │ ├── easy_install │ ├── easy_install-3.7 │ └── activate.csh │ ├── lib │ └── python3.7 │ │ └── site-packages │ │ ├── astroid │ │ ├── interpreter │ │ │ ├── __init__.py │ │ │ └── _import │ │ │ │ ├── __init__.py │ │ │ │ └── util.py │ │ ├── brain │ │ │ ├── brain_uuid.py │ │ │ ├── brain_numpy_core_fromnumeric.py │ │ │ ├── brain_dateutil.py │ │ │ ├── brain_threading.py │ │ │ ├── brain_crypt.py │ │ │ ├── brain_mechanize.py │ │ │ ├── brain_argparse.py │ │ │ ├── brain_re.py │ │ │ ├── brain_numpy_core_function_base.py │ │ │ ├── brain_numpy_core_numeric.py │ │ │ ├── brain_io.py │ │ │ ├── brain_dataclasses.py │ │ │ └── brain_numpy_utils.py │ │ └── _ast.py │ │ ├── pip │ │ ├── _internal │ │ │ ├── utils │ │ │ │ ├── __init__.py │ │ │ │ ├── setuptools_build.py │ │ │ │ ├── filesystem.py │ │ │ │ ├── models.py │ │ │ │ ├── typing.py │ │ │ │ └── encoding.py │ │ │ ├── operations │ │ │ │ └── __init__.py │ │ │ ├── models │ │ │ │ ├── __init__.py │ │ │ │ ├── index.py │ │ │ │ └── candidate.py │ │ │ ├── cli │ │ │ │ ├── __init__.py │ │ │ │ └── status_codes.py │ │ │ └── commands │ │ │ │ ├── help.py │ │ │ │ ├── check.py │ │ │ │ └── hash.py │ │ ├── __init__.py │ │ ├── _vendor │ │ │ ├── chardet │ │ │ │ ├── cli │ │ │ │ │ └── __init__.py │ │ │ │ ├── version.py │ │ │ │ ├── compat.py │ │ │ │ ├── __init__.py │ │ │ │ ├── euctwprober.py │ │ │ │ ├── euckrprober.py │ │ │ │ ├── gb2312prober.py │ │ │ │ ├── big5prober.py │ │ │ │ ├── enums.py │ │ │ │ └── cp949prober.py │ │ │ ├── html5lib │ │ │ │ ├── filters │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── base.py │ │ │ │ │ ├── alphabeticalattributes.py │ │ │ │ │ └── whitespace.py │ │ │ │ ├── _trie │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── _base.py │ │ │ │ │ └── datrie.py │ │ │ │ ├── treeadapters │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── genshi.py │ │ │ │ │ └── sax.py │ │ │ │ ├── __init__.py │ │ │ │ └── treewalkers │ │ │ │ │ └── dom.py │ │ │ ├── urllib3 │ │ │ │ ├── contrib │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── _securetransport │ │ │ │ │ │ └── __init__.py │ │ │ │ │ └── _appengine_environ.py │ │ │ │ ├── packages │ │ │ │ │ ├── backports │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ └── makefile.py │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── ssl_match_hostname │ │ │ │ │ │ └── __init__.py │ │ │ │ └── util │ │ │ │ │ ├── queue.py │ │ │ │ │ └── __init__.py │ │ │ ├── msgpack │ │ │ │ ├── _version.py │ │ │ │ ├── exceptions.py │ │ │ │ └── __init__.py │ │ │ ├── idna │ │ │ │ ├── package_data.py │ │ │ │ ├── __init__.py │ │ │ │ ├── compat.py │ │ │ │ └── intranges.py │ │ │ ├── certifi │ │ │ │ ├── __main__.py │ │ │ │ ├── __init__.py │ │ │ │ └── core.py │ │ │ ├── pep517 │ │ │ │ ├── __init__.py │ │ │ │ └── compat.py │ │ │ ├── cachecontrol │ │ │ │ ├── caches │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── redis_cache.py │ │ │ │ ├── __init__.py │ │ │ │ ├── wrapper.py │ │ │ │ ├── compat.py │ │ │ │ ├── cache.py │ │ │ │ └── _cmd.py │ │ │ ├── pytoml │ │ │ │ ├── __init__.py │ │ │ │ ├── core.py │ │ │ │ ├── test.py │ │ │ │ └── utils.py │ │ │ ├── distlib │ │ │ │ ├── t32.exe │ │ │ │ ├── t64.exe │ │ │ │ ├── w32.exe │ │ │ │ ├── w64.exe │ │ │ │ ├── _backport │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── misc.py │ │ │ │ └── __init__.py │ │ │ ├── colorama │ │ │ │ └── __init__.py │ │ │ ├── requests │ │ │ │ ├── __version__.py │ │ │ │ ├── certs.py │ │ │ │ ├── packages.py │ │ │ │ ├── hooks.py │ │ │ │ └── _internal_utils.py │ │ │ ├── pkg_resources │ │ │ │ └── py31compat.py │ │ │ ├── packaging │ │ │ │ ├── __init__.py │ │ │ │ ├── __about__.py │ │ │ │ ├── _compat.py │ │ │ │ ├── _structures.py │ │ │ │ └── utils.py │ │ │ ├── webencodings │ │ │ │ └── mklabels.py │ │ │ └── progress │ │ │ │ ├── spinner.py │ │ │ │ └── counter.py │ │ └── __main__.py │ │ ├── pylint │ │ ├── extensions │ │ │ ├── __init__.py │ │ │ ├── check_docs.py │ │ │ └── broad_try_clause.py │ │ ├── __main__.py │ │ ├── pyreverse │ │ │ └── __init__.py │ │ ├── reporters │ │ │ ├── collecting_reporter.py │ │ │ ├── __init__.py │ │ │ └── json_reporter.py │ │ ├── exceptions.py │ │ ├── __init__.py │ │ ├── constants.py │ │ └── message │ │ │ └── message.py │ │ ├── setuptools │ │ ├── _vendor │ │ │ ├── __init__.py │ │ │ └── packaging │ │ │ │ ├── utils.py │ │ │ │ ├── __init__.py │ │ │ │ ├── __about__.py │ │ │ │ ├── _compat.py │ │ │ │ └── _structures.py │ │ ├── script.tmpl │ │ ├── cli.exe │ │ ├── gui.exe │ │ ├── cli-32.exe │ │ ├── cli-64.exe │ │ ├── gui-32.exe │ │ ├── gui-64.exe │ │ ├── version.py │ │ ├── script (dev).tmpl │ │ ├── _deprecation_warning.py │ │ ├── command │ │ │ ├── register.py │ │ │ ├── __init__.py │ │ │ ├── launcher manifest.xml │ │ │ ├── bdist_wininst.py │ │ │ ├── saveopts.py │ │ │ ├── dist_info.py │ │ │ └── bdist_rpm.py │ │ ├── py27compat.py │ │ ├── windows_support.py │ │ ├── launch.py │ │ ├── py31compat.py │ │ ├── dep_util.py │ │ ├── py33compat.py │ │ ├── unicode_utils.py │ │ └── extension.py │ │ ├── pkg_resources │ │ ├── _vendor │ │ │ ├── __init__.py │ │ │ └── packaging │ │ │ │ ├── utils.py │ │ │ │ ├── __init__.py │ │ │ │ ├── __about__.py │ │ │ │ ├── _compat.py │ │ │ │ └── _structures.py │ │ └── py31compat.py │ │ ├── astroid-2.3.1.dist-info │ │ ├── INSTALLER │ │ ├── top_level.txt │ │ └── WHEEL │ │ ├── isort-4.3.21.dist-info │ │ ├── INSTALLER │ │ ├── top_level.txt │ │ ├── WHEEL │ │ ├── entry_points.txt │ │ ├── LICENSE │ │ └── RECORD │ │ ├── mccabe-0.6.1.dist-info │ │ ├── INSTALLER │ │ ├── top_level.txt │ │ ├── entry_points.txt │ │ ├── WHEEL │ │ ├── RECORD │ │ └── metadata.json │ │ ├── pip-19.0.3.dist-info │ │ ├── INSTALLER │ │ ├── top_level.txt │ │ ├── entry_points.txt │ │ ├── WHEEL │ │ └── LICENSE.txt │ │ ├── pylint-2.4.2.dist-info │ │ ├── INSTALLER │ │ ├── top_level.txt │ │ ├── WHEEL │ │ └── entry_points.txt │ │ ├── setuptools-40.8.0.dist-info │ │ ├── zip-safe │ │ ├── INSTALLER │ │ ├── top_level.txt │ │ ├── WHEEL │ │ ├── dependency_links.txt │ │ └── LICENSE │ │ ├── six-1.12.0.dist-info │ │ ├── INSTALLER │ │ ├── top_level.txt │ │ ├── WHEEL │ │ ├── RECORD │ │ └── LICENSE │ │ ├── wrapt-1.11.2.dist-info │ │ ├── INSTALLER │ │ ├── top_level.txt │ │ ├── WHEEL │ │ ├── RECORD │ │ └── LICENSE │ │ ├── typed_ast-1.4.0.dist-info │ │ ├── INSTALLER │ │ ├── top_level.txt │ │ ├── WHEEL │ │ ├── METADATA │ │ └── RECORD │ │ ├── typed_ast │ │ ├── __init__.py │ │ ├── _ast27.cpython-37m-darwin.so │ │ └── _ast3.cpython-37m-darwin.so │ │ ├── lazy_object_proxy-1.4.2.dist-info │ │ ├── INSTALLER │ │ ├── top_level.txt │ │ ├── WHEEL │ │ ├── AUTHORS.rst │ │ ├── LICENSE │ │ └── RECORD │ │ ├── easy_install.py │ │ ├── lazy_object_proxy │ │ ├── _version.py │ │ ├── cext.cpython-37m-darwin.so │ │ ├── compat.py │ │ ├── utils.py │ │ └── __init__.py │ │ ├── wrapt │ │ ├── _wrappers.cpython-37m-darwin.so │ │ └── __init__.py │ │ └── isort │ │ ├── __main__.py │ │ ├── pylama_isort.py │ │ ├── __init__.py │ │ ├── utils.py │ │ └── natural.py │ └── pyvenv.cfg ├── .vscode └── settings.json └── README.md /test.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | print("Test!") 3 | 4 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/bin/python: -------------------------------------------------------------------------------- 1 | python3 -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/bin/python3: -------------------------------------------------------------------------------- 1 | /usr/local/bin/python3 -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/astroid/interpreter/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_internal/utils/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pylint/extensions/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/setuptools/_vendor/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_internal/operations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pkg_resources/_vendor/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/astroid-2.3.1.dist-info/INSTALLER: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/astroid/interpreter/_import/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/isort-4.3.21.dist-info/INSTALLER: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/mccabe-0.6.1.dist-info/INSTALLER: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip-19.0.3.dist-info/INSTALLER: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip-19.0.3.dist-info/top_level.txt: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/__init__.py: -------------------------------------------------------------------------------- 1 | __version__ = "19.0.3" 2 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/chardet/cli/__init__.py: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/html5lib/filters/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/urllib3/contrib/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pylint-2.4.2.dist-info/INSTALLER: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/setuptools-40.8.0.dist-info/zip-safe: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/six-1.12.0.dist-info/INSTALLER: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/six-1.12.0.dist-info/top_level.txt: -------------------------------------------------------------------------------- 1 | six 2 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/wrapt-1.11.2.dist-info/INSTALLER: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "python.pythonPath": "totally_innocuous_folder/no_seriously_nothing_to_see_here/bin/python", 3 | } -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/isort-4.3.21.dist-info/top_level.txt: -------------------------------------------------------------------------------- 1 | isort 2 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/mccabe-0.6.1.dist-info/top_level.txt: -------------------------------------------------------------------------------- 1 | mccabe 2 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pylint-2.4.2.dist-info/top_level.txt: -------------------------------------------------------------------------------- 1 | pylint 2 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/setuptools-40.8.0.dist-info/INSTALLER: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/typed_ast-1.4.0.dist-info/INSTALLER: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/typed_ast/__init__.py: -------------------------------------------------------------------------------- 1 | __version__ = "1.4.0" 2 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/wrapt-1.11.2.dist-info/top_level.txt: -------------------------------------------------------------------------------- 1 | wrapt 2 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/astroid-2.3.1.dist-info/top_level.txt: -------------------------------------------------------------------------------- 1 | astroid 2 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/lazy_object_proxy-1.4.2.dist-info/INSTALLER: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/msgpack/_version.py: -------------------------------------------------------------------------------- 1 | version = (0, 5, 6) 2 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/idna/package_data.py: -------------------------------------------------------------------------------- 1 | __version__ = '2.8' 2 | 3 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/lazy_object_proxy-1.4.2.dist-info/top_level.txt: -------------------------------------------------------------------------------- 1 | lazy_object_proxy 2 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/pyvenv.cfg: -------------------------------------------------------------------------------- 1 | home = /usr/local/bin 2 | include-system-site-packages = false 3 | version = 3.7.4 4 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/typed_ast-1.4.0.dist-info/top_level.txt: -------------------------------------------------------------------------------- 1 | _ast27 2 | _ast3 3 | typed_ast 4 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/certifi/__main__.py: -------------------------------------------------------------------------------- 1 | from pip._vendor.certifi import where 2 | print(where()) 3 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/setuptools-40.8.0.dist-info/top_level.txt: -------------------------------------------------------------------------------- 1 | easy_install 2 | pkg_resources 3 | setuptools 4 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/certifi/__init__.py: -------------------------------------------------------------------------------- 1 | from .core import where 2 | 3 | __version__ = "2018.11.29" 4 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/idna/__init__.py: -------------------------------------------------------------------------------- 1 | from .package_data import __version__ 2 | from .core import * 3 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/mccabe-0.6.1.dist-info/entry_points.txt: -------------------------------------------------------------------------------- 1 | [flake8.extension] 2 | C90 = mccabe:McCabeChecker 3 | 4 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_internal/models/__init__.py: -------------------------------------------------------------------------------- 1 | """A package that contains models that represent entities. 2 | """ 3 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/pep517/__init__.py: -------------------------------------------------------------------------------- 1 | """Wrappers to build Python packages using PEP 517 hooks 2 | """ 3 | 4 | __version__ = '0.5.0' 5 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/cachecontrol/caches/__init__.py: -------------------------------------------------------------------------------- 1 | from .file_cache import FileCache # noqa 2 | from .redis_cache import RedisCache # noqa 3 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/astroid-2.3.1.dist-info/WHEEL: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.33.6) 3 | Root-Is-Purelib: true 4 | Tag: py3-none-any 5 | 6 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pylint-2.4.2.dist-info/WHEEL: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.33.6) 3 | Root-Is-Purelib: true 4 | Tag: py3-none-any 5 | 6 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip-19.0.3.dist-info/entry_points.txt: -------------------------------------------------------------------------------- 1 | [console_scripts] 2 | pip = pip._internal:main 3 | pip3 = pip._internal:main 4 | pip3.7 = pip._internal:main 5 | 6 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/easy_install.py: -------------------------------------------------------------------------------- 1 | """Run the EasyInstall command""" 2 | 3 | if __name__ == '__main__': 4 | from setuptools.command.easy_install import main 5 | main() 6 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/isort-4.3.21.dist-info/WHEEL: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.33.4) 3 | Root-Is-Purelib: true 4 | Tag: py2-none-any 5 | Tag: py3-none-any 6 | 7 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/lazy_object_proxy/_version.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | # file generated by setuptools_scm 3 | # don't change, don't track in version control 4 | version = '1.4.2' 5 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/mccabe-0.6.1.dist-info/WHEEL: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.29.0) 3 | Root-Is-Purelib: true 4 | Tag: py2-none-any 5 | Tag: py3-none-any 6 | 7 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip-19.0.3.dist-info/WHEEL: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.33.1) 3 | Root-Is-Purelib: true 4 | Tag: py2-none-any 5 | Tag: py3-none-any 6 | 7 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/six-1.12.0.dist-info/WHEEL: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.32.3) 3 | Root-Is-Purelib: true 4 | Tag: py2-none-any 5 | Tag: py3-none-any 6 | 7 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/typed_ast-1.4.0.dist-info/WHEEL: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.31.1) 3 | Root-Is-Purelib: false 4 | Tag: cp37-cp37m-macosx_10_9_x86_64 5 | 6 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/wrapt-1.11.2.dist-info/WHEEL: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.33.4) 3 | Root-Is-Purelib: false 4 | Tag: cp37-cp37m-macosx_10_14_x86_64 5 | 6 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/setuptools-40.8.0.dist-info/WHEEL: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.32.3) 3 | Root-Is-Purelib: true 4 | Tag: py2-none-any 5 | Tag: py3-none-any 6 | 7 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/lazy_object_proxy-1.4.2.dist-info/WHEEL: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.33.4) 3 | Root-Is-Purelib: false 4 | Tag: cp37-cp37m-macosx_10_13_x86_64 5 | 6 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/pytoml/__init__.py: -------------------------------------------------------------------------------- 1 | from .core import TomlError 2 | from .parser import load, loads 3 | from .test import translate_to_test 4 | from .writer import dump, dumps -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/urllib3/packages/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import 2 | 3 | from . import ssl_match_hostname 4 | 5 | __all__ = ('ssl_match_hostname', ) 6 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/setuptools/script.tmpl: -------------------------------------------------------------------------------- 1 | # EASY-INSTALL-SCRIPT: %(spec)r,%(script_name)r 2 | __requires__ = %(spec)r 3 | __import__('pkg_resources').run_script(%(spec)r, %(script_name)r) 4 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_internal/cli/__init__.py: -------------------------------------------------------------------------------- 1 | """Subpackage containing all of pip's command line interface related code 2 | """ 3 | 4 | # This file intentionally does not import submodules 5 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/setuptools/cli.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doyensec/VSCode_PoC_Oct2019/HEAD/totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/setuptools/cli.exe -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/setuptools/gui.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doyensec/VSCode_PoC_Oct2019/HEAD/totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/setuptools/gui.exe -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/setuptools/cli-32.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doyensec/VSCode_PoC_Oct2019/HEAD/totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/setuptools/cli-32.exe -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/setuptools/cli-64.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doyensec/VSCode_PoC_Oct2019/HEAD/totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/setuptools/cli-64.exe -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/setuptools/gui-32.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doyensec/VSCode_PoC_Oct2019/HEAD/totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/setuptools/gui-32.exe -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/setuptools/gui-64.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doyensec/VSCode_PoC_Oct2019/HEAD/totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/setuptools/gui-64.exe -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/setuptools/version.py: -------------------------------------------------------------------------------- 1 | import pkg_resources 2 | 3 | try: 4 | __version__ = pkg_resources.get_distribution('setuptools').version 5 | except Exception: 6 | __version__ = 'unknown' 7 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pylint-2.4.2.dist-info/entry_points.txt: -------------------------------------------------------------------------------- 1 | [console_scripts] 2 | epylint = pylint:run_epylint 3 | pylint = pylint:run_pylint 4 | pyreverse = pylint:run_pyreverse 5 | symilar = pylint:run_symilar 6 | 7 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/distlib/t32.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doyensec/VSCode_PoC_Oct2019/HEAD/totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/distlib/t32.exe -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/distlib/t64.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doyensec/VSCode_PoC_Oct2019/HEAD/totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/distlib/t64.exe -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/distlib/w32.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doyensec/VSCode_PoC_Oct2019/HEAD/totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/distlib/w32.exe -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/distlib/w64.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doyensec/VSCode_PoC_Oct2019/HEAD/totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/distlib/w64.exe -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_internal/cli/status_codes.py: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import 2 | 3 | SUCCESS = 0 4 | ERROR = 1 5 | UNKNOWN_ERROR = 2 6 | VIRTUALENV_NOT_FOUND = 3 7 | PREVIOUS_BUILD_DIR_ERROR = 4 8 | NO_MATCHES_FOUND = 23 9 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/typed_ast/_ast27.cpython-37m-darwin.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doyensec/VSCode_PoC_Oct2019/HEAD/totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/typed_ast/_ast27.cpython-37m-darwin.so -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/typed_ast/_ast3.cpython-37m-darwin.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doyensec/VSCode_PoC_Oct2019/HEAD/totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/typed_ast/_ast3.cpython-37m-darwin.so -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/wrapt/_wrappers.cpython-37m-darwin.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doyensec/VSCode_PoC_Oct2019/HEAD/totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/wrapt/_wrappers.cpython-37m-darwin.so -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/isort-4.3.21.dist-info/entry_points.txt: -------------------------------------------------------------------------------- 1 | [console_scripts] 2 | isort = isort.main:main 3 | 4 | [distutils.commands] 5 | isort = isort.main:ISortCommand 6 | 7 | [pylama.linter] 8 | isort = isort.pylama_isort:Linter 9 | 10 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/lazy_object_proxy/cext.cpython-37m-darwin.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doyensec/VSCode_PoC_Oct2019/HEAD/totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/lazy_object_proxy/cext.cpython-37m-darwin.so -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pylint/__main__.py: -------------------------------------------------------------------------------- 1 | # Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html 2 | # For details: https://github.com/PyCQA/pylint/blob/master/COPYING 3 | 4 | #!/usr/bin/env python 5 | import pylint 6 | 7 | pylint.run_pylint() 8 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pylint/pyreverse/__init__.py: -------------------------------------------------------------------------------- 1 | # Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html 2 | # For details: https://github.com/PyCQA/pylint/blob/master/COPYING 3 | 4 | """ 5 | pyreverse.extensions 6 | """ 7 | 8 | __revision__ = "$Id $" 9 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/bin/isort: -------------------------------------------------------------------------------- 1 | #!/Users/fcremo/tmp/test/myvenv/bin/python3 2 | # -*- coding: utf-8 -*- 3 | import re 4 | import sys 5 | 6 | from isort.main import main 7 | 8 | if __name__ == '__main__': 9 | sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) 10 | sys.exit(main()) 11 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/bin/pip: -------------------------------------------------------------------------------- 1 | #!/Users/fcremo/tmp/test/myvenv/bin/python3 2 | # -*- coding: utf-8 -*- 3 | import re 4 | import sys 5 | 6 | from pip._internal import main 7 | 8 | if __name__ == '__main__': 9 | sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) 10 | sys.exit(main()) 11 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/bin/pip3: -------------------------------------------------------------------------------- 1 | #!/Users/fcremo/tmp/test/myvenv/bin/python3 2 | # -*- coding: utf-8 -*- 3 | import re 4 | import sys 5 | 6 | from pip._internal import main 7 | 8 | if __name__ == '__main__': 9 | sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) 10 | sys.exit(main()) 11 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/isort/__main__.py: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import 2 | 3 | from isort.pie_slice import apply_changes_to_python_environment 4 | 5 | apply_changes_to_python_environment() 6 | 7 | from isort.main import main # noqa: E402 isort:skip 8 | 9 | main() 10 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/lazy_object_proxy/compat.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | PY2 = sys.version_info[0] == 2 4 | PY3 = sys.version_info[0] == 3 5 | 6 | 7 | def with_metaclass(meta, *bases): 8 | """Create a base class with a metaclass.""" 9 | return meta("NewBase", bases, {}) 10 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/setuptools/script (dev).tmpl: -------------------------------------------------------------------------------- 1 | # EASY-INSTALL-DEV-SCRIPT: %(spec)r,%(script_name)r 2 | __requires__ = %(spec)r 3 | __import__('pkg_resources').require(%(spec)r) 4 | __file__ = %(dev_path)r 5 | with open(__file__) as f: 6 | exec(compile(f.read(), __file__, 'exec')) 7 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/bin/pip3.7: -------------------------------------------------------------------------------- 1 | #!/Users/fcremo/tmp/test/myvenv/bin/python3 2 | # -*- coding: utf-8 -*- 3 | import re 4 | import sys 5 | 6 | from pip._internal import main 7 | 8 | if __name__ == '__main__': 9 | sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) 10 | sys.exit(main()) 11 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/bin/epylint: -------------------------------------------------------------------------------- 1 | #!/Users/fcremo/tmp/test/myvenv/bin/python3 2 | # -*- coding: utf-8 -*- 3 | import re 4 | import sys 5 | 6 | from pylint import run_epylint 7 | 8 | if __name__ == '__main__': 9 | sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) 10 | sys.exit(run_epylint()) 11 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/bin/pylint: -------------------------------------------------------------------------------- 1 | #!/Users/fcremo/tmp/test/myvenv/bin/python3 2 | # -*- coding: utf-8 -*- 3 | import re 4 | import sys 5 | 6 | from pylint import run_pylint 7 | 8 | if __name__ == '__main__': 9 | sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) 10 | sys.exit(run_pylint()) 11 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/bin/symilar: -------------------------------------------------------------------------------- 1 | #!/Users/fcremo/tmp/test/myvenv/bin/python3 2 | # -*- coding: utf-8 -*- 3 | import re 4 | import sys 5 | 6 | from pylint import run_symilar 7 | 8 | if __name__ == '__main__': 9 | sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) 10 | sys.exit(run_symilar()) 11 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/setuptools/_deprecation_warning.py: -------------------------------------------------------------------------------- 1 | class SetuptoolsDeprecationWarning(Warning): 2 | """ 3 | Base class for warning deprecations in ``setuptools`` 4 | 5 | This class is not derived from ``DeprecationWarning``, and as such is 6 | visible by default. 7 | """ 8 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/bin/pyreverse: -------------------------------------------------------------------------------- 1 | #!/Users/fcremo/tmp/test/myvenv/bin/python3 2 | # -*- coding: utf-8 -*- 3 | import re 4 | import sys 5 | 6 | from pylint import run_pyreverse 7 | 8 | if __name__ == '__main__': 9 | sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) 10 | sys.exit(run_pyreverse()) 11 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/bin/easy_install: -------------------------------------------------------------------------------- 1 | #!/Users/fcremo/tmp/test/myvenv/bin/python3 2 | # -*- coding: utf-8 -*- 3 | import re 4 | import sys 5 | 6 | from setuptools.command.easy_install import main 7 | 8 | if __name__ == '__main__': 9 | sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) 10 | sys.exit(main()) 11 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/colorama/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright Jonathan Hartley 2013. BSD 3-Clause license, see LICENSE file. 2 | from .initialise import init, deinit, reinit, colorama_text 3 | from .ansi import Fore, Back, Style, Cursor 4 | from .ansitowin32 import AnsiToWin32 5 | 6 | __version__ = '0.4.1' 7 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/setuptools-40.8.0.dist-info/dependency_links.txt: -------------------------------------------------------------------------------- 1 | https://files.pythonhosted.org/packages/source/c/certifi/certifi-2016.9.26.tar.gz#md5=baa81e951a29958563689d868ef1064d 2 | https://files.pythonhosted.org/packages/source/w/wincertstore/wincertstore-0.2.zip#md5=ae728f2f007185648d0c7a8679b361e2 3 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/bin/easy_install-3.7: -------------------------------------------------------------------------------- 1 | #!/Users/fcremo/tmp/test/myvenv/bin/python3 2 | # -*- coding: utf-8 -*- 3 | import re 4 | import sys 5 | 6 | from setuptools.command.easy_install import main 7 | 8 | if __name__ == '__main__': 9 | sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) 10 | sys.exit(main()) 11 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/chardet/version.py: -------------------------------------------------------------------------------- 1 | """ 2 | This module exists only to simplify retrieving the version number of chardet 3 | from within setup.py and from chardet subpackages. 4 | 5 | :author: Dan Blanchard (dan.blanchard@gmail.com) 6 | """ 7 | 8 | __version__ = "3.0.4" 9 | VERSION = __version__.split('.') 10 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/idna/compat.py: -------------------------------------------------------------------------------- 1 | from .core import * 2 | from .codec import * 3 | 4 | def ToASCII(label): 5 | return encode(label) 6 | 7 | def ToUnicode(label): 8 | return decode(label) 9 | 10 | def nameprep(s): 11 | raise NotImplementedError("IDNA 2008 does not utilise nameprep protocol") 12 | 13 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/astroid/interpreter/_import/util.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2016, 2018 Claudiu Popa 2 | 3 | try: 4 | import pkg_resources 5 | except ImportError: 6 | pkg_resources = None 7 | 8 | 9 | def is_namespace(modname): 10 | return pkg_resources is not None and modname in pkg_resources._namespace_packages 11 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/distlib/_backport/__init__.py: -------------------------------------------------------------------------------- 1 | """Modules copied from Python 3 standard libraries, for internal use only. 2 | 3 | Individual classes and functions are found in d2._backport.misc. Intended 4 | usage is to always import things missing from 3.1 from that module: the 5 | built-in/stdlib objects will be used if found. 6 | """ 7 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_internal/utils/setuptools_build.py: -------------------------------------------------------------------------------- 1 | # Shim to wrap setup.py invocation with setuptools 2 | SETUPTOOLS_SHIM = ( 3 | "import setuptools, tokenize;__file__=%r;" 4 | "f=getattr(tokenize, 'open', open)(__file__);" 5 | "code=f.read().replace('\\r\\n', '\\n');" 6 | "f.close();" 7 | "exec(compile(code, __file__, 'exec'))" 8 | ) 9 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/lazy_object_proxy-1.4.2.dist-info/AUTHORS.rst: -------------------------------------------------------------------------------- 1 | 2 | Authors 3 | ======= 4 | 5 | * Ionel Cristian Mărieș - https://blog.ionelmc.ro 6 | * Alvin Chow - https://github.com/alvinchow86 7 | * Astrum Kuo - https://github.com/xowenx 8 | * Erik M. Bray - http://iguananaut.net 9 | * Ran Benita - https://github.com/bluetech 10 | * "hugovk" - https://github.com/hugovk 11 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/lazy_object_proxy/utils.py: -------------------------------------------------------------------------------- 1 | def identity(obj): 2 | return obj 3 | 4 | 5 | class cached_property(object): 6 | def __init__(self, func): 7 | self.func = func 8 | 9 | def __get__(self, obj, cls): 10 | if obj is None: 11 | return self 12 | value = obj.__dict__[self.func.__name__] = self.func(obj) 13 | return value 14 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/html5lib/filters/base.py: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import, division, unicode_literals 2 | 3 | 4 | class Filter(object): 5 | def __init__(self, source): 6 | self.source = source 7 | 8 | def __iter__(self): 9 | return iter(self.source) 10 | 11 | def __getattr__(self, name): 12 | return getattr(self.source, name) 13 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/cachecontrol/__init__.py: -------------------------------------------------------------------------------- 1 | """CacheControl import Interface. 2 | 3 | Make it easy to import from cachecontrol without long namespaces. 4 | """ 5 | __author__ = "Eric Larson" 6 | __email__ = "eric@ionrock.org" 7 | __version__ = "0.12.5" 8 | 9 | from .wrapper import CacheControl 10 | from .adapter import CacheControlAdapter 11 | from .controller import CacheController 12 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/html5lib/_trie/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import, division, unicode_literals 2 | 3 | from .py import Trie as PyTrie 4 | 5 | Trie = PyTrie 6 | 7 | # pylint:disable=wrong-import-position 8 | try: 9 | from .datrie import Trie as DATrie 10 | except ImportError: 11 | pass 12 | else: 13 | Trie = DATrie 14 | # pylint:enable=wrong-import-position 15 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/certifi/core.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | """ 5 | certifi.py 6 | ~~~~~~~~~~ 7 | 8 | This module returns the installation location of cacert.pem. 9 | """ 10 | import os 11 | 12 | 13 | def where(): 14 | f = os.path.dirname(__file__) 15 | 16 | return os.path.join(f, 'cacert.pem') 17 | 18 | 19 | if __name__ == '__main__': 20 | print(where()) 21 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pkg_resources/_vendor/packaging/utils.py: -------------------------------------------------------------------------------- 1 | # This file is dual licensed under the terms of the Apache License, Version 2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository 3 | # for complete details. 4 | from __future__ import absolute_import, division, print_function 5 | 6 | import re 7 | 8 | 9 | _canonicalize_regex = re.compile(r"[-_.]+") 10 | 11 | 12 | def canonicalize_name(name): 13 | # This is taken from PEP 503. 14 | return _canonicalize_regex.sub("-", name).lower() 15 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/setuptools/_vendor/packaging/utils.py: -------------------------------------------------------------------------------- 1 | # This file is dual licensed under the terms of the Apache License, Version 2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository 3 | # for complete details. 4 | from __future__ import absolute_import, division, print_function 5 | 6 | import re 7 | 8 | 9 | _canonicalize_regex = re.compile(r"[-_.]+") 10 | 11 | 12 | def canonicalize_name(name): 13 | # This is taken from PEP 503. 14 | return _canonicalize_regex.sub("-", name).lower() 15 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/requests/__version__.py: -------------------------------------------------------------------------------- 1 | # .-. .-. .-. . . .-. .-. .-. .-. 2 | # |( |- |.| | | |- `-. | `-. 3 | # ' ' `-' `-`.`-' `-' `-' ' `-' 4 | 5 | __title__ = 'requests' 6 | __description__ = 'Python HTTP for Humans.' 7 | __url__ = 'http://python-requests.org' 8 | __version__ = '2.21.0' 9 | __build__ = 0x022100 10 | __author__ = 'Kenneth Reitz' 11 | __author_email__ = 'me@kennethreitz.org' 12 | __license__ = 'Apache 2.0' 13 | __copyright__ = 'Copyright 2018 Kenneth Reitz' 14 | __cake__ = u'\u2728 \U0001f370 \u2728' 15 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/lazy_object_proxy/__init__.py: -------------------------------------------------------------------------------- 1 | try: 2 | import copy_reg as copyreg 3 | except ImportError: 4 | import copyreg 5 | 6 | from .utils import identity 7 | 8 | copyreg.constructor(identity) 9 | 10 | try: 11 | from .cext import Proxy 12 | from .cext import identity 13 | except ImportError: 14 | from .slots import Proxy 15 | else: 16 | copyreg.constructor(identity) 17 | 18 | try: 19 | from ._version import version as __version__ 20 | except ImportError: 21 | __version__ = '1.4.2' 22 | 23 | __all__ = "Proxy", 24 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/requests/certs.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | """ 5 | requests.certs 6 | ~~~~~~~~~~~~~~ 7 | 8 | This module returns the preferred default CA certificate bundle. There is 9 | only one — the one from the certifi package. 10 | 11 | If you are packaging Requests, e.g., for a Linux distribution or a managed 12 | environment, you can change the definition of where() to return a separately 13 | packaged CA bundle. 14 | """ 15 | from pip._vendor.certifi import where 16 | 17 | if __name__ == '__main__': 18 | print(where()) 19 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/pytoml/core.py: -------------------------------------------------------------------------------- 1 | class TomlError(RuntimeError): 2 | def __init__(self, message, line, col, filename): 3 | RuntimeError.__init__(self, message, line, col, filename) 4 | self.message = message 5 | self.line = line 6 | self.col = col 7 | self.filename = filename 8 | 9 | def __str__(self): 10 | return '{}({}, {}): {}'.format(self.filename, self.line, self.col, self.message) 11 | 12 | def __repr__(self): 13 | return 'TomlError({!r}, {!r}, {!r}, {!r})'.format(self.message, self.line, self.col, self.filename) 14 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/six-1.12.0.dist-info/RECORD: -------------------------------------------------------------------------------- 1 | __pycache__/six.cpython-37.pyc,, 2 | six-1.12.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 3 | six-1.12.0.dist-info/LICENSE,sha256=5zL1TaWPPpzwxI6LUSlIk2_Pc2G9WK-mOpo8OSv3lK0,1066 4 | six-1.12.0.dist-info/METADATA,sha256=CRdYkKPKCFJr7-qA8PDpBklGXfXJ3xu4mu5tkLBDL04,1940 5 | six-1.12.0.dist-info/RECORD,, 6 | six-1.12.0.dist-info/WHEEL,sha256=_wJFdOYk7i3xxT8ElOkUJvOdOvfNGbR9g-bf6UQT6sU,110 7 | six-1.12.0.dist-info/top_level.txt,sha256=_iVH_iYEtEXnD8nYGQYpYFUvkUW9sEO1GYbkeKSAais,4 8 | six.py,sha256=h9jch2pS86y4R36pKRS3LOYUCVFNIJMRwjZ4fJDtJ44,32452 9 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pkg_resources/_vendor/packaging/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is dual licensed under the terms of the Apache License, Version 2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository 3 | # for complete details. 4 | from __future__ import absolute_import, division, print_function 5 | 6 | from .__about__ import ( 7 | __author__, __copyright__, __email__, __license__, __summary__, __title__, 8 | __uri__, __version__ 9 | ) 10 | 11 | __all__ = [ 12 | "__title__", "__summary__", "__uri__", "__version__", "__author__", 13 | "__email__", "__license__", "__copyright__", 14 | ] 15 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/setuptools/_vendor/packaging/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is dual licensed under the terms of the Apache License, Version 2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository 3 | # for complete details. 4 | from __future__ import absolute_import, division, print_function 5 | 6 | from .__about__ import ( 7 | __author__, __copyright__, __email__, __license__, __summary__, __title__, 8 | __uri__, __version__ 9 | ) 10 | 11 | __all__ = [ 12 | "__title__", "__summary__", "__uri__", "__version__", "__author__", 13 | "__email__", "__license__", "__copyright__", 14 | ] 15 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/urllib3/util/queue.py: -------------------------------------------------------------------------------- 1 | import collections 2 | from ..packages import six 3 | from ..packages.six.moves import queue 4 | 5 | if six.PY2: 6 | # Queue is imported for side effects on MS Windows. See issue #229. 7 | import Queue as _unused_module_Queue # noqa: F401 8 | 9 | 10 | class LifoQueue(queue.Queue): 11 | def _init(self, _): 12 | self.queue = collections.deque() 13 | 14 | def _qsize(self, len=len): 15 | return len(self.queue) 16 | 17 | def _put(self, item): 18 | self.queue.append(item) 19 | 20 | def _get(self): 21 | return self.queue.pop() 22 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pylint/reporters/collecting_reporter.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | # Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html 4 | # For details: https://github.com/PyCQA/pylint/blob/master/COPYING 5 | 6 | from pylint.reporters.base_reporter import BaseReporter 7 | 8 | 9 | class CollectingReporter(BaseReporter): 10 | """collects messages""" 11 | 12 | name = "collector" 13 | 14 | def __init__(self): 15 | BaseReporter.__init__(self) 16 | self.messages = [] 17 | 18 | def handle_message(self, msg): 19 | self.messages.append(msg) 20 | 21 | _display = None 22 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/setuptools/command/register.py: -------------------------------------------------------------------------------- 1 | from distutils import log 2 | import distutils.command.register as orig 3 | 4 | 5 | class register(orig.register): 6 | __doc__ = orig.register.__doc__ 7 | 8 | def run(self): 9 | try: 10 | # Make sure that we are using valid current name/version info 11 | self.run_command('egg_info') 12 | orig.register.run(self) 13 | finally: 14 | self.announce( 15 | "WARNING: Registering is deprecated, use twine to " 16 | "upload instead (https://pypi.org/p/twine/)", 17 | log.WARN 18 | ) 19 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/astroid/brain/brain_uuid.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2017 Claudiu Popa 2 | 3 | # Licensed under the LGPL: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html 4 | # For details: https://github.com/PyCQA/astroid/blob/master/COPYING.LESSER 5 | 6 | """Astroid hooks for the UUID module.""" 7 | 8 | 9 | from astroid import MANAGER 10 | from astroid import nodes 11 | 12 | 13 | def _patch_uuid_class(node): 14 | # The .int member is patched using __dict__ 15 | node.locals["int"] = [nodes.Const(0, parent=node)] 16 | 17 | 18 | MANAGER.register_transform( 19 | nodes.ClassDef, _patch_uuid_class, lambda node: node.qname() == "uuid.UUID" 20 | ) 21 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pkg_resources/py31compat.py: -------------------------------------------------------------------------------- 1 | import os 2 | import errno 3 | import sys 4 | 5 | from .extern import six 6 | 7 | 8 | def _makedirs_31(path, exist_ok=False): 9 | try: 10 | os.makedirs(path) 11 | except OSError as exc: 12 | if not exist_ok or exc.errno != errno.EEXIST: 13 | raise 14 | 15 | 16 | # rely on compatibility behavior until mode considerations 17 | # and exists_ok considerations are disentangled. 18 | # See https://github.com/pypa/setuptools/pull/1083#issuecomment-315168663 19 | needs_makedirs = ( 20 | six.PY2 or 21 | (3, 4) <= sys.version_info < (3, 4, 1) 22 | ) 23 | makedirs = _makedirs_31 if needs_makedirs else os.makedirs 24 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/setuptools/py27compat.py: -------------------------------------------------------------------------------- 1 | """ 2 | Compatibility Support for Python 2.7 and earlier 3 | """ 4 | 5 | import platform 6 | 7 | from setuptools.extern import six 8 | 9 | 10 | def get_all_headers(message, key): 11 | """ 12 | Given an HTTPMessage, return all headers matching a given key. 13 | """ 14 | return message.get_all(key) 15 | 16 | 17 | if six.PY2: 18 | def get_all_headers(message, key): 19 | return message.getheaders(key) 20 | 21 | 22 | linux_py2_ascii = ( 23 | platform.system() == 'Linux' and 24 | six.PY2 25 | ) 26 | 27 | rmtree_safe = str if linux_py2_ascii else lambda x: x 28 | """Workaround for http://bugs.python.org/issue24672""" 29 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/pkg_resources/py31compat.py: -------------------------------------------------------------------------------- 1 | import os 2 | import errno 3 | import sys 4 | 5 | from pip._vendor import six 6 | 7 | 8 | def _makedirs_31(path, exist_ok=False): 9 | try: 10 | os.makedirs(path) 11 | except OSError as exc: 12 | if not exist_ok or exc.errno != errno.EEXIST: 13 | raise 14 | 15 | 16 | # rely on compatibility behavior until mode considerations 17 | # and exists_ok considerations are disentangled. 18 | # See https://github.com/pypa/setuptools/pull/1083#issuecomment-315168663 19 | needs_makedirs = ( 20 | six.PY2 or 21 | (3, 4) <= sys.version_info < (3, 4, 1) 22 | ) 23 | makedirs = _makedirs_31 if needs_makedirs else os.makedirs 24 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/setuptools/command/__init__.py: -------------------------------------------------------------------------------- 1 | __all__ = [ 2 | 'alias', 'bdist_egg', 'bdist_rpm', 'build_ext', 'build_py', 'develop', 3 | 'easy_install', 'egg_info', 'install', 'install_lib', 'rotate', 'saveopts', 4 | 'sdist', 'setopt', 'test', 'install_egg_info', 'install_scripts', 5 | 'register', 'bdist_wininst', 'upload_docs', 'upload', 'build_clib', 6 | 'dist_info', 7 | ] 8 | 9 | from distutils.command.bdist import bdist 10 | import sys 11 | 12 | from setuptools.command import install_scripts 13 | 14 | if 'egg' not in bdist.format_commands: 15 | bdist.format_command['egg'] = ('bdist_egg', "Python .egg file") 16 | bdist.format_commands.append('egg') 17 | 18 | del bdist, sys 19 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/packaging/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is dual licensed under the terms of the Apache License, Version 2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository 3 | # for complete details. 4 | from __future__ import absolute_import, division, print_function 5 | 6 | from .__about__ import ( 7 | __author__, 8 | __copyright__, 9 | __email__, 10 | __license__, 11 | __summary__, 12 | __title__, 13 | __uri__, 14 | __version__, 15 | ) 16 | 17 | __all__ = [ 18 | "__title__", 19 | "__summary__", 20 | "__uri__", 21 | "__version__", 22 | "__author__", 23 | "__email__", 24 | "__license__", 25 | "__copyright__", 26 | ] 27 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/distlib/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # 3 | # Copyright (C) 2012-2017 Vinay Sajip. 4 | # Licensed to the Python Software Foundation under a contributor agreement. 5 | # See LICENSE.txt and CONTRIBUTORS.txt. 6 | # 7 | import logging 8 | 9 | __version__ = '0.2.8' 10 | 11 | class DistlibException(Exception): 12 | pass 13 | 14 | try: 15 | from logging import NullHandler 16 | except ImportError: # pragma: no cover 17 | class NullHandler(logging.Handler): 18 | def handle(self, record): pass 19 | def emit(self, record): pass 20 | def createLock(self): self.lock = None 21 | 22 | logger = logging.getLogger(__name__) 23 | logger.addHandler(NullHandler()) 24 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/__main__.py: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import 2 | 3 | import os 4 | import sys 5 | 6 | # If we are running from a wheel, add the wheel to sys.path 7 | # This allows the usage python pip-*.whl/pip install pip-*.whl 8 | if __package__ == '': 9 | # __file__ is pip-*.whl/pip/__main__.py 10 | # first dirname call strips of '/__main__.py', second strips off '/pip' 11 | # Resulting path is the name of the wheel itself 12 | # Add that to sys.path so we can import pip 13 | path = os.path.dirname(os.path.dirname(__file__)) 14 | sys.path.insert(0, path) 15 | 16 | from pip._internal import main as _main # isort:skip # noqa 17 | 18 | if __name__ == '__main__': 19 | sys.exit(_main()) 20 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/setuptools/command/launcher manifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/wrapt/__init__.py: -------------------------------------------------------------------------------- 1 | __version_info__ = ('1', '11', '2') 2 | __version__ = '.'.join(__version_info__) 3 | 4 | from .wrappers import (ObjectProxy, CallableObjectProxy, FunctionWrapper, 5 | BoundFunctionWrapper, WeakFunctionProxy, PartialCallableObjectProxy, 6 | resolve_path, apply_patch, wrap_object, wrap_object_attribute, 7 | function_wrapper, wrap_function_wrapper, patch_function_wrapper, 8 | transient_function_wrapper) 9 | 10 | from .decorators import (adapter_factory, AdapterFactory, decorator, 11 | synchronized) 12 | 13 | from .importer import (register_post_import_hook, when_imported, 14 | notify_module_loaded, discover_post_import_hooks) 15 | 16 | from inspect import getcallargs 17 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/pep517/compat.py: -------------------------------------------------------------------------------- 1 | """Handle reading and writing JSON in UTF-8, on Python 3 and 2.""" 2 | import json 3 | import sys 4 | 5 | if sys.version_info[0] >= 3: 6 | # Python 3 7 | def write_json(obj, path, **kwargs): 8 | with open(path, 'w', encoding='utf-8') as f: 9 | json.dump(obj, f, **kwargs) 10 | 11 | def read_json(path): 12 | with open(path, 'r', encoding='utf-8') as f: 13 | return json.load(f) 14 | 15 | else: 16 | # Python 2 17 | def write_json(obj, path, **kwargs): 18 | with open(path, 'wb') as f: 19 | json.dump(obj, f, encoding='utf-8', **kwargs) 20 | 21 | def read_json(path): 22 | with open(path, 'rb') as f: 23 | return json.load(f) 24 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/setuptools/command/bdist_wininst.py: -------------------------------------------------------------------------------- 1 | import distutils.command.bdist_wininst as orig 2 | 3 | 4 | class bdist_wininst(orig.bdist_wininst): 5 | def reinitialize_command(self, command, reinit_subcommands=0): 6 | """ 7 | Supplement reinitialize_command to work around 8 | http://bugs.python.org/issue20819 9 | """ 10 | cmd = self.distribution.reinitialize_command( 11 | command, reinit_subcommands) 12 | if command in ('install', 'install_lib'): 13 | cmd.install_lib = None 14 | return cmd 15 | 16 | def run(self): 17 | self._is_running = True 18 | try: 19 | orig.bdist_wininst.run(self) 20 | finally: 21 | self._is_running = False 22 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/astroid/brain/brain_numpy_core_fromnumeric.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2018-2019 hippo91 2 | 3 | # Licensed under the LGPL: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html 4 | # For details: https://github.com/PyCQA/astroid/blob/master/COPYING.LESSER 5 | 6 | 7 | """Astroid hooks for numpy.core.fromnumeric module.""" 8 | 9 | import astroid 10 | 11 | 12 | def numpy_core_fromnumeric_transform(): 13 | return astroid.parse( 14 | """ 15 | def sum(a, axis=None, dtype=None, out=None, keepdims=None, initial=None): 16 | return numpy.ndarray([0, 0]) 17 | """ 18 | ) 19 | 20 | 21 | astroid.register_module_extender( 22 | astroid.MANAGER, "numpy.core.fromnumeric", numpy_core_fromnumeric_transform 23 | ) 24 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/setuptools/command/saveopts.py: -------------------------------------------------------------------------------- 1 | from setuptools.command.setopt import edit_config, option_base 2 | 3 | 4 | class saveopts(option_base): 5 | """Save command-line options to a file""" 6 | 7 | description = "save supplied options to setup.cfg or other config file" 8 | 9 | def run(self): 10 | dist = self.distribution 11 | settings = {} 12 | 13 | for cmd in dist.command_options: 14 | 15 | if cmd == 'saveopts': 16 | continue # don't save our own options! 17 | 18 | for opt, (src, val) in dist.get_option_dict(cmd).items(): 19 | if src == "command line": 20 | settings.setdefault(cmd, {})[opt] = val 21 | 22 | edit_config(self.filename, settings, self.dry_run) 23 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/requests/packages.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | # This code exists for backwards compatibility reasons. 4 | # I don't like it either. Just look the other way. :) 5 | 6 | for package in ('urllib3', 'idna', 'chardet'): 7 | vendored_package = "pip._vendor." + package 8 | locals()[package] = __import__(vendored_package) 9 | # This traversal is apparently necessary such that the identities are 10 | # preserved (requests.packages.urllib3.* is urllib3.*) 11 | for mod in list(sys.modules): 12 | if mod == vendored_package or mod.startswith(vendored_package + '.'): 13 | unprefixed_mod = mod[len("pip._vendor."):] 14 | sys.modules['pip._vendor.requests.packages.' + unprefixed_mod] = sys.modules[mod] 15 | 16 | # Kinda cool, though, right? 17 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/__init__.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | try: 4 | # Our match_hostname function is the same as 3.5's, so we only want to 5 | # import the match_hostname function if it's at least that good. 6 | if sys.version_info < (3, 5): 7 | raise ImportError("Fallback to vendored code") 8 | 9 | from ssl import CertificateError, match_hostname 10 | except ImportError: 11 | try: 12 | # Backport of the function from a pypi module 13 | from backports.ssl_match_hostname import CertificateError, match_hostname 14 | except ImportError: 15 | # Our vendored copy 16 | from ._implementation import CertificateError, match_hostname 17 | 18 | # Not needed, but documenting what we provide. 19 | __all__ = ('CertificateError', 'match_hostname') 20 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/cachecontrol/wrapper.py: -------------------------------------------------------------------------------- 1 | from .adapter import CacheControlAdapter 2 | from .cache import DictCache 3 | 4 | 5 | def CacheControl( 6 | sess, 7 | cache=None, 8 | cache_etags=True, 9 | serializer=None, 10 | heuristic=None, 11 | controller_class=None, 12 | adapter_class=None, 13 | cacheable_methods=None, 14 | ): 15 | 16 | cache = cache or DictCache() 17 | adapter_class = adapter_class or CacheControlAdapter 18 | adapter = adapter_class( 19 | cache, 20 | cache_etags=cache_etags, 21 | serializer=serializer, 22 | heuristic=heuristic, 23 | controller_class=controller_class, 24 | cacheable_methods=cacheable_methods, 25 | ) 26 | sess.mount("http://", adapter) 27 | sess.mount("https://", adapter) 28 | 29 | return sess 30 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/mccabe-0.6.1.dist-info/RECORD: -------------------------------------------------------------------------------- 1 | __pycache__/mccabe.cpython-37.pyc,, 2 | mccabe-0.6.1.dist-info/DESCRIPTION.rst,sha256=lGHJ-Y3IviuP3DRqLL_TXPUr3wJ2GZ8XJkAV6ve3O58,3302 3 | mccabe-0.6.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 4 | mccabe-0.6.1.dist-info/METADATA,sha256=jawnTfTVrlzBSmeI-cTXSRIwIlijODtZdj-padBqIv0,4324 5 | mccabe-0.6.1.dist-info/RECORD,, 6 | mccabe-0.6.1.dist-info/WHEEL,sha256=o2k-Qa-RMNIJmUdIc7KU6VWR_ErNRbWNlxDIpl7lm34,110 7 | mccabe-0.6.1.dist-info/entry_points.txt,sha256=N2NH182GXTUyTm8r8XMgadb9C-CRa5dUr1k8OC91uGE,47 8 | mccabe-0.6.1.dist-info/metadata.json,sha256=e508OR4t6_G7h7eO2C6NHlHQqVpPZZH1_DlAPrVECYM,1218 9 | mccabe-0.6.1.dist-info/top_level.txt,sha256=21cXuqZE-lpcfAqqANvX9EjI1ED1p8zcViv064u3RKA,7 10 | mccabe.py,sha256=XPMywdQshG_5nSjckb-OzNqnCQuXQvy3FTClspKwGQA,10693 11 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/setuptools/_vendor/packaging/__about__.py: -------------------------------------------------------------------------------- 1 | # This file is dual licensed under the terms of the Apache License, Version 2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository 3 | # for complete details. 4 | from __future__ import absolute_import, division, print_function 5 | 6 | __all__ = [ 7 | "__title__", "__summary__", "__uri__", "__version__", "__author__", 8 | "__email__", "__license__", "__copyright__", 9 | ] 10 | 11 | __title__ = "packaging" 12 | __summary__ = "Core utilities for Python packages" 13 | __uri__ = "https://github.com/pypa/packaging" 14 | 15 | __version__ = "16.8" 16 | 17 | __author__ = "Donald Stufft and individual contributors" 18 | __email__ = "donald@stufft.io" 19 | 20 | __license__ = "BSD or Apache License, Version 2.0" 21 | __copyright__ = "Copyright 2014-2016 %s" % __author__ 22 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pkg_resources/_vendor/packaging/__about__.py: -------------------------------------------------------------------------------- 1 | # This file is dual licensed under the terms of the Apache License, Version 2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository 3 | # for complete details. 4 | from __future__ import absolute_import, division, print_function 5 | 6 | __all__ = [ 7 | "__title__", "__summary__", "__uri__", "__version__", "__author__", 8 | "__email__", "__license__", "__copyright__", 9 | ] 10 | 11 | __title__ = "packaging" 12 | __summary__ = "Core utilities for Python packages" 13 | __uri__ = "https://github.com/pypa/packaging" 14 | 15 | __version__ = "16.8" 16 | 17 | __author__ = "Donald Stufft and individual contributors" 18 | __email__ = "donald@stufft.io" 19 | 20 | __license__ = "BSD or Apache License, Version 2.0" 21 | __copyright__ = "Copyright 2014-2016 %s" % __author__ 22 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/cachecontrol/compat.py: -------------------------------------------------------------------------------- 1 | try: 2 | from urllib.parse import urljoin 3 | except ImportError: 4 | from urlparse import urljoin 5 | 6 | 7 | try: 8 | import cPickle as pickle 9 | except ImportError: 10 | import pickle 11 | 12 | 13 | # Handle the case where the requests module has been patched to not have 14 | # urllib3 bundled as part of its source. 15 | try: 16 | from pip._vendor.requests.packages.urllib3.response import HTTPResponse 17 | except ImportError: 18 | from pip._vendor.urllib3.response import HTTPResponse 19 | 20 | try: 21 | from pip._vendor.requests.packages.urllib3.util import is_fp_closed 22 | except ImportError: 23 | from pip._vendor.urllib3.util import is_fp_closed 24 | 25 | # Replicate some six behaviour 26 | try: 27 | text_type = unicode 28 | except NameError: 29 | text_type = str 30 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/html5lib/treeadapters/__init__.py: -------------------------------------------------------------------------------- 1 | """Tree adapters let you convert from one tree structure to another 2 | 3 | Example: 4 | 5 | .. code-block:: python 6 | 7 | from pip._vendor import html5lib 8 | from pip._vendor.html5lib.treeadapters import genshi 9 | 10 | doc = 'Hi!' 11 | treebuilder = html5lib.getTreeBuilder('etree') 12 | parser = html5lib.HTMLParser(tree=treebuilder) 13 | tree = parser.parse(doc) 14 | TreeWalker = html5lib.getTreeWalker('etree') 15 | 16 | genshi_tree = genshi.to_genshi(TreeWalker(tree)) 17 | 18 | """ 19 | from __future__ import absolute_import, division, unicode_literals 20 | 21 | from . import sax 22 | 23 | __all__ = ["sax"] 24 | 25 | try: 26 | from . import genshi # noqa 27 | except ImportError: 28 | pass 29 | else: 30 | __all__.append("genshi") 31 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/setuptools/windows_support.py: -------------------------------------------------------------------------------- 1 | import platform 2 | import ctypes 3 | 4 | 5 | def windows_only(func): 6 | if platform.system() != 'Windows': 7 | return lambda *args, **kwargs: None 8 | return func 9 | 10 | 11 | @windows_only 12 | def hide_file(path): 13 | """ 14 | Set the hidden attribute on a file or directory. 15 | 16 | From http://stackoverflow.com/questions/19622133/ 17 | 18 | `path` must be text. 19 | """ 20 | __import__('ctypes.wintypes') 21 | SetFileAttributes = ctypes.windll.kernel32.SetFileAttributesW 22 | SetFileAttributes.argtypes = ctypes.wintypes.LPWSTR, ctypes.wintypes.DWORD 23 | SetFileAttributes.restype = ctypes.wintypes.BOOL 24 | 25 | FILE_ATTRIBUTE_HIDDEN = 0x02 26 | 27 | ret = SetFileAttributes(path, FILE_ATTRIBUTE_HIDDEN) 28 | if not ret: 29 | raise ctypes.WinError() 30 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/packaging/__about__.py: -------------------------------------------------------------------------------- 1 | # This file is dual licensed under the terms of the Apache License, Version 2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository 3 | # for complete details. 4 | from __future__ import absolute_import, division, print_function 5 | 6 | __all__ = [ 7 | "__title__", 8 | "__summary__", 9 | "__uri__", 10 | "__version__", 11 | "__author__", 12 | "__email__", 13 | "__license__", 14 | "__copyright__", 15 | ] 16 | 17 | __title__ = "packaging" 18 | __summary__ = "Core utilities for Python packages" 19 | __uri__ = "https://github.com/pypa/packaging" 20 | 21 | __version__ = "19.0" 22 | 23 | __author__ = "Donald Stufft and individual contributors" 24 | __email__ = "donald@stufft.io" 25 | 26 | __license__ = "BSD or Apache License, Version 2.0" 27 | __copyright__ = "Copyright 2014-2019 %s" % __author__ 28 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/urllib3/contrib/_appengine_environ.py: -------------------------------------------------------------------------------- 1 | """ 2 | This module provides means to detect the App Engine environment. 3 | """ 4 | 5 | import os 6 | 7 | 8 | def is_appengine(): 9 | return (is_local_appengine() or 10 | is_prod_appengine() or 11 | is_prod_appengine_mvms()) 12 | 13 | 14 | def is_appengine_sandbox(): 15 | return is_appengine() and not is_prod_appengine_mvms() 16 | 17 | 18 | def is_local_appengine(): 19 | return ('APPENGINE_RUNTIME' in os.environ and 20 | 'Development/' in os.environ['SERVER_SOFTWARE']) 21 | 22 | 23 | def is_prod_appengine(): 24 | return ('APPENGINE_RUNTIME' in os.environ and 25 | 'Google App Engine/' in os.environ['SERVER_SOFTWARE'] and 26 | not is_prod_appengine_mvms()) 27 | 28 | 29 | def is_prod_appengine_mvms(): 30 | return os.environ.get('GAE_VM', False) == 'true' 31 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pylint/extensions/check_docs.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2014-2015 Bruno Daniel 2 | # Copyright (c) 2015-2016 Claudiu Popa 3 | # Copyright (c) 2016 Ashley Whetter 4 | 5 | # Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html 6 | # For details: https://github.com/PyCQA/pylint/blob/master/COPYING 7 | 8 | import warnings 9 | 10 | from pylint.extensions import docparams 11 | 12 | 13 | def register(linter): 14 | """Required method to auto register this checker. 15 | 16 | :param linter: Main interface object for Pylint plugins 17 | :type linter: Pylint object 18 | """ 19 | warnings.warn( 20 | "This plugin is deprecated, use pylint.extensions.docparams instead.", 21 | DeprecationWarning, 22 | ) 23 | linter.register_checker(docparams.DocstringParameterChecker(linter)) 24 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # VSCode Python Extension Code Execution 2 | 3 | This repository contains the Proof-of-Concept of a code execution vulnerability discovered in the [Visual Studio Code](https://code.visualstudio.com/) Python extension. 4 | 5 | >TL;DR: VScode may use code from a virtualenv found in the project folders without asking the user, for things such as formatting, autocompletion, etc. This insecure design leads to arbitrary code execution by simply cloning and opening a malicious Python repository. 6 | 7 | You can read more about this vulnerability on our blog: [https://blog.doyensec.com/2020/03/16/vscode_codeexec.html](https://blog.doyensec.com/2020/03/16/vscode_codeexec.html). 8 | 9 | ## HowTo 10 | 11 | - Clone the 'malicious' repository with `git clone https://github.com/doyensec/VSCode_PoC_Oct2019.git` 12 | - Add the cloned repo to a VSCode workspace on macOS. Note that the vulnerability affects all platforms, but the PoC is executing *Calculator.app* 13 | - Open `test.py` in VScode 14 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/isort/pylama_isort.py: -------------------------------------------------------------------------------- 1 | import os 2 | import sys 3 | 4 | from pylama.lint import Linter as BaseLinter 5 | 6 | from .isort import SortImports 7 | 8 | 9 | class Linter(BaseLinter): 10 | 11 | def allow(self, path): 12 | """Determine if this path should be linted.""" 13 | return path.endswith('.py') 14 | 15 | def run(self, path, **meta): 16 | """Lint the file. Return an array of error dicts if appropriate.""" 17 | with open(os.devnull, 'w') as devnull: 18 | # Suppress isort messages 19 | sys.stdout = devnull 20 | 21 | if SortImports(path, check=True).incorrectly_sorted: 22 | return [{ 23 | 'lnum': 0, 24 | 'col': 0, 25 | 'text': 'Incorrectly sorted imports.', 26 | 'type': 'ISORT' 27 | }] 28 | else: 29 | return [] 30 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/requests/hooks.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | """ 4 | requests.hooks 5 | ~~~~~~~~~~~~~~ 6 | 7 | This module provides the capabilities for the Requests hooks system. 8 | 9 | Available hooks: 10 | 11 | ``response``: 12 | The response generated from a Request. 13 | """ 14 | HOOKS = ['response'] 15 | 16 | 17 | def default_hooks(): 18 | return {event: [] for event in HOOKS} 19 | 20 | # TODO: response is the only one 21 | 22 | 23 | def dispatch_hook(key, hooks, hook_data, **kwargs): 24 | """Dispatches a hook dictionary on a given piece of data.""" 25 | hooks = hooks or {} 26 | hooks = hooks.get(key) 27 | if hooks: 28 | if hasattr(hooks, '__call__'): 29 | hooks = [hooks] 30 | for hook in hooks: 31 | _hook_data = hook(hook_data, **kwargs) 32 | if _hook_data is not None: 33 | hook_data = _hook_data 34 | return hook_data 35 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/astroid/brain/brain_dateutil.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2015-2016 Claudiu Popa 2 | # Copyright (c) 2015 raylu 3 | # Copyright (c) 2016 Ceridwen 4 | 5 | # Licensed under the LGPL: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html 6 | # For details: https://github.com/PyCQA/astroid/blob/master/COPYING.LESSER 7 | 8 | """Astroid hooks for dateutil""" 9 | 10 | import textwrap 11 | 12 | from astroid import MANAGER, register_module_extender 13 | from astroid.builder import AstroidBuilder 14 | 15 | 16 | def dateutil_transform(): 17 | return AstroidBuilder(MANAGER).string_build( 18 | textwrap.dedent( 19 | """ 20 | import datetime 21 | def parse(timestr, parserinfo=None, **kwargs): 22 | return datetime.datetime() 23 | """ 24 | ) 25 | ) 26 | 27 | 28 | register_module_extender(MANAGER, "dateutil.parser", dateutil_transform) 29 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/setuptools/launch.py: -------------------------------------------------------------------------------- 1 | """ 2 | Launch the Python script on the command line after 3 | setuptools is bootstrapped via import. 4 | """ 5 | 6 | # Note that setuptools gets imported implicitly by the 7 | # invocation of this script using python -m setuptools.launch 8 | 9 | import tokenize 10 | import sys 11 | 12 | 13 | def run(): 14 | """ 15 | Run the script in sys.argv[1] as if it had 16 | been invoked naturally. 17 | """ 18 | __builtins__ 19 | script_name = sys.argv[1] 20 | namespace = dict( 21 | __file__=script_name, 22 | __name__='__main__', 23 | __doc__=None, 24 | ) 25 | sys.argv[:] = sys.argv[1:] 26 | 27 | open_ = getattr(tokenize, 'open', open) 28 | script = open_(script_name).read() 29 | norm_script = script.replace('\\r\\n', '\\n') 30 | code = compile(norm_script, script_name, 'exec') 31 | exec(code, namespace) 32 | 33 | 34 | if __name__ == '__main__': 35 | run() 36 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/astroid/brain/brain_threading.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2016 Claudiu Popa 3 | # Copyright (c) 2017 Łukasz Rogalski 4 | 5 | # Licensed under the LGPL: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html 6 | # For details: https://github.com/PyCQA/astroid/blob/master/COPYING.LESSER 7 | import astroid 8 | 9 | 10 | def _thread_transform(): 11 | return astroid.parse( 12 | """ 13 | class lock(object): 14 | def acquire(self, blocking=True, timeout=-1): 15 | pass 16 | def release(self): 17 | pass 18 | def __enter__(self): 19 | return True 20 | def __exit__(self, *args): 21 | pass 22 | def locked(self): 23 | return False 24 | 25 | def Lock(): 26 | return lock() 27 | """ 28 | ) 29 | 30 | 31 | astroid.register_module_extender(astroid.MANAGER, "threading", _thread_transform) 32 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/setuptools/py31compat.py: -------------------------------------------------------------------------------- 1 | __all__ = [] 2 | 3 | __metaclass__ = type 4 | 5 | 6 | try: 7 | # Python >=3.2 8 | from tempfile import TemporaryDirectory 9 | except ImportError: 10 | import shutil 11 | import tempfile 12 | 13 | class TemporaryDirectory: 14 | """ 15 | Very simple temporary directory context manager. 16 | Will try to delete afterward, but will also ignore OS and similar 17 | errors on deletion. 18 | """ 19 | 20 | def __init__(self): 21 | self.name = None # Handle mkdtemp raising an exception 22 | self.name = tempfile.mkdtemp() 23 | 24 | def __enter__(self): 25 | return self.name 26 | 27 | def __exit__(self, exctype, excvalue, exctrace): 28 | try: 29 | shutil.rmtree(self.name, True) 30 | except OSError: # removal errors are not the only possible 31 | pass 32 | self.name = None 33 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/astroid/brain/brain_crypt.py: -------------------------------------------------------------------------------- 1 | # Licensed under the LGPL: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html 2 | # For details: https://github.com/PyCQA/astroid/blob/master/COPYING.LESSER 3 | import sys 4 | import astroid 5 | 6 | PY37 = sys.version_info >= (3, 7) 7 | 8 | if PY37: 9 | # Since Python 3.7 Hashing Methods are added 10 | # dynamically to globals() 11 | 12 | def _re_transform(): 13 | return astroid.parse( 14 | """ 15 | from collections import namedtuple 16 | _Method = namedtuple('_Method', 'name ident salt_chars total_size') 17 | 18 | METHOD_SHA512 = _Method('SHA512', '6', 16, 106) 19 | METHOD_SHA256 = _Method('SHA256', '5', 16, 63) 20 | METHOD_BLOWFISH = _Method('BLOWFISH', 2, 'b', 22) 21 | METHOD_MD5 = _Method('MD5', '1', 8, 34) 22 | METHOD_CRYPT = _Method('CRYPT', None, 2, 13) 23 | """ 24 | ) 25 | 26 | astroid.register_module_extender(astroid.MANAGER, "crypt", _re_transform) 27 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/cachecontrol/cache.py: -------------------------------------------------------------------------------- 1 | """ 2 | The cache object API for implementing caches. The default is a thread 3 | safe in-memory dictionary. 4 | """ 5 | from threading import Lock 6 | 7 | 8 | class BaseCache(object): 9 | 10 | def get(self, key): 11 | raise NotImplementedError() 12 | 13 | def set(self, key, value): 14 | raise NotImplementedError() 15 | 16 | def delete(self, key): 17 | raise NotImplementedError() 18 | 19 | def close(self): 20 | pass 21 | 22 | 23 | class DictCache(BaseCache): 24 | 25 | def __init__(self, init_dict=None): 26 | self.lock = Lock() 27 | self.data = init_dict or {} 28 | 29 | def get(self, key): 30 | return self.data.get(key, None) 31 | 32 | def set(self, key, value): 33 | with self.lock: 34 | self.data.update({key: value}) 35 | 36 | def delete(self, key): 37 | with self.lock: 38 | if key in self.data: 39 | self.data.pop(key) 40 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/setuptools/_vendor/packaging/_compat.py: -------------------------------------------------------------------------------- 1 | # This file is dual licensed under the terms of the Apache License, Version 2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository 3 | # for complete details. 4 | from __future__ import absolute_import, division, print_function 5 | 6 | import sys 7 | 8 | 9 | PY2 = sys.version_info[0] == 2 10 | PY3 = sys.version_info[0] == 3 11 | 12 | # flake8: noqa 13 | 14 | if PY3: 15 | string_types = str, 16 | else: 17 | string_types = basestring, 18 | 19 | 20 | def with_metaclass(meta, *bases): 21 | """ 22 | Create a base class with a metaclass. 23 | """ 24 | # This requires a bit of explanation: the basic idea is to make a dummy 25 | # metaclass for one level of class instantiation that replaces itself with 26 | # the actual metaclass. 27 | class metaclass(meta): 28 | def __new__(cls, name, this_bases, d): 29 | return meta(name, bases, d) 30 | return type.__new__(metaclass, 'temporary_class', (), {}) 31 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/packaging/_compat.py: -------------------------------------------------------------------------------- 1 | # This file is dual licensed under the terms of the Apache License, Version 2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository 3 | # for complete details. 4 | from __future__ import absolute_import, division, print_function 5 | 6 | import sys 7 | 8 | 9 | PY2 = sys.version_info[0] == 2 10 | PY3 = sys.version_info[0] == 3 11 | 12 | # flake8: noqa 13 | 14 | if PY3: 15 | string_types = (str,) 16 | else: 17 | string_types = (basestring,) 18 | 19 | 20 | def with_metaclass(meta, *bases): 21 | """ 22 | Create a base class with a metaclass. 23 | """ 24 | # This requires a bit of explanation: the basic idea is to make a dummy 25 | # metaclass for one level of class instantiation that replaces itself with 26 | # the actual metaclass. 27 | class metaclass(meta): 28 | def __new__(cls, name, this_bases, d): 29 | return meta(name, bases, d) 30 | 31 | return type.__new__(metaclass, "temporary_class", (), {}) 32 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pkg_resources/_vendor/packaging/_compat.py: -------------------------------------------------------------------------------- 1 | # This file is dual licensed under the terms of the Apache License, Version 2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository 3 | # for complete details. 4 | from __future__ import absolute_import, division, print_function 5 | 6 | import sys 7 | 8 | 9 | PY2 = sys.version_info[0] == 2 10 | PY3 = sys.version_info[0] == 3 11 | 12 | # flake8: noqa 13 | 14 | if PY3: 15 | string_types = str, 16 | else: 17 | string_types = basestring, 18 | 19 | 20 | def with_metaclass(meta, *bases): 21 | """ 22 | Create a base class with a metaclass. 23 | """ 24 | # This requires a bit of explanation: the basic idea is to make a dummy 25 | # metaclass for one level of class instantiation that replaces itself with 26 | # the actual metaclass. 27 | class metaclass(meta): 28 | def __new__(cls, name, this_bases, d): 29 | return meta(name, bases, d) 30 | return type.__new__(metaclass, 'temporary_class', (), {}) 31 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/astroid/brain/brain_mechanize.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2012-2013 LOGILAB S.A. (Paris, FRANCE) 2 | # Copyright (c) 2014 Google, Inc. 3 | # Copyright (c) 2015-2016 Claudiu Popa 4 | # Copyright (c) 2016 Ceridwen 5 | 6 | # Licensed under the LGPL: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html 7 | # For details: https://github.com/PyCQA/astroid/blob/master/COPYING.LESSER 8 | 9 | from astroid import MANAGER, register_module_extender 10 | from astroid.builder import AstroidBuilder 11 | 12 | 13 | def mechanize_transform(): 14 | return AstroidBuilder(MANAGER).string_build( 15 | """ 16 | 17 | class Browser(object): 18 | def open(self, url, data=None, timeout=None): 19 | return None 20 | def open_novisit(self, url, data=None, timeout=None): 21 | return None 22 | def open_local_file(self, filename): 23 | return None 24 | 25 | """ 26 | ) 27 | 28 | 29 | register_module_extender(MANAGER, "mechanize", mechanize_transform) 30 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py: -------------------------------------------------------------------------------- 1 | from __future__ import division 2 | 3 | from datetime import datetime 4 | from pip._vendor.cachecontrol.cache import BaseCache 5 | 6 | 7 | class RedisCache(BaseCache): 8 | 9 | def __init__(self, conn): 10 | self.conn = conn 11 | 12 | def get(self, key): 13 | return self.conn.get(key) 14 | 15 | def set(self, key, value, expires=None): 16 | if not expires: 17 | self.conn.set(key, value) 18 | else: 19 | expires = expires - datetime.utcnow() 20 | self.conn.setex(key, int(expires.total_seconds()), value) 21 | 22 | def delete(self, key): 23 | self.conn.delete(key) 24 | 25 | def clear(self): 26 | """Helper for clearing all the keys in a database. Use with 27 | caution!""" 28 | for key in self.conn.keys(): 29 | self.conn.delete(key) 30 | 31 | def close(self): 32 | """Redis uses connection pooling, no need to close the connection.""" 33 | pass 34 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/setuptools/dep_util.py: -------------------------------------------------------------------------------- 1 | from distutils.dep_util import newer_group 2 | 3 | # yes, this is was almost entirely copy-pasted from 4 | # 'newer_pairwise()', this is just another convenience 5 | # function. 6 | def newer_pairwise_group(sources_groups, targets): 7 | """Walk both arguments in parallel, testing if each source group is newer 8 | than its corresponding target. Returns a pair of lists (sources_groups, 9 | targets) where sources is newer than target, according to the semantics 10 | of 'newer_group()'. 11 | """ 12 | if len(sources_groups) != len(targets): 13 | raise ValueError("'sources_group' and 'targets' must be the same length") 14 | 15 | # build a pair of lists (sources_groups, targets) where source is newer 16 | n_sources = [] 17 | n_targets = [] 18 | for i in range(len(sources_groups)): 19 | if newer_group(sources_groups[i], targets[i]): 20 | n_sources.append(sources_groups[i]) 21 | n_targets.append(targets[i]) 22 | 23 | return n_sources, n_targets 24 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/html5lib/filters/alphabeticalattributes.py: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import, division, unicode_literals 2 | 3 | from . import base 4 | 5 | from collections import OrderedDict 6 | 7 | 8 | def _attr_key(attr): 9 | """Return an appropriate key for an attribute for sorting 10 | 11 | Attributes have a namespace that can be either ``None`` or a string. We 12 | can't compare the two because they're different types, so we convert 13 | ``None`` to an empty string first. 14 | 15 | """ 16 | return (attr[0][0] or ''), attr[0][1] 17 | 18 | 19 | class Filter(base.Filter): 20 | """Alphabetizes attributes for elements""" 21 | def __iter__(self): 22 | for token in base.Filter.__iter__(self): 23 | if token["type"] in ("StartTag", "EmptyTag"): 24 | attrs = OrderedDict() 25 | for name, value in sorted(token["data"].items(), 26 | key=_attr_key): 27 | attrs[name] = value 28 | token["data"] = attrs 29 | yield token 30 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/html5lib/_trie/_base.py: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import, division, unicode_literals 2 | 3 | from collections import Mapping 4 | 5 | 6 | class Trie(Mapping): 7 | """Abstract base class for tries""" 8 | 9 | def keys(self, prefix=None): 10 | # pylint:disable=arguments-differ 11 | keys = super(Trie, self).keys() 12 | 13 | if prefix is None: 14 | return set(keys) 15 | 16 | return {x for x in keys if x.startswith(prefix)} 17 | 18 | def has_keys_with_prefix(self, prefix): 19 | for key in self.keys(): 20 | if key.startswith(prefix): 21 | return True 22 | 23 | return False 24 | 25 | def longest_prefix(self, prefix): 26 | if prefix in self: 27 | return prefix 28 | 29 | for i in range(1, len(prefix) + 1): 30 | if prefix[:-i] in self: 31 | return prefix[:-i] 32 | 33 | raise KeyError(prefix) 34 | 35 | def longest_prefix_item(self, prefix): 36 | lprefix = self.longest_prefix(prefix) 37 | return (lprefix, self[lprefix]) 38 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/wrapt-1.11.2.dist-info/RECORD: -------------------------------------------------------------------------------- 1 | wrapt-1.11.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 2 | wrapt-1.11.2.dist-info/LICENSE,sha256=43wT-E-zyaVBYbD8919NMC-4bOQs1hBhR72nnkGX2fI,1304 3 | wrapt-1.11.2.dist-info/METADATA,sha256=DoFatyZUuBKp843rYlOA2jgKMD-f-AdAKiGz-A0_ybE,6439 4 | wrapt-1.11.2.dist-info/RECORD,, 5 | wrapt-1.11.2.dist-info/WHEEL,sha256=gO7GQv01HwNKoKc7wkbmsV3rCVPq8uox2-g6TCUsAJc,111 6 | wrapt-1.11.2.dist-info/top_level.txt,sha256=Jf7kcuXtwjUJMwOL0QzALDg2WiSiXiH9ThKMjN64DW0,6 7 | wrapt/__init__.py,sha256=GVpz3fyP5P1xYR3XP-6IfKr028cRpvF2xaH2_-T8UFo,658 8 | wrapt/__pycache__/__init__.cpython-37.pyc,, 9 | wrapt/__pycache__/decorators.cpython-37.pyc,, 10 | wrapt/__pycache__/importer.cpython-37.pyc,, 11 | wrapt/__pycache__/wrappers.cpython-37.pyc,, 12 | wrapt/_wrappers.cpython-37m-darwin.so,sha256=zXEpqzkmfyohA7Cp3AmGoVNt56_tX6kR0TvFPeewKas,53260 13 | wrapt/decorators.py,sha256=-koirGiUf96TWw383xlUiSWqRhkY2vdSqfA_qbwRFss,20291 14 | wrapt/importer.py,sha256=tHTtFS-nI6zNePjh2ySsyQ9kg_f2x4Ep7-wSj3m4I-w,7926 15 | wrapt/wrappers.py,sha256=oloLVeI0J-n_c_dBH-gO0M7UqRb76rJGBQFWpv7uzqo,33657 16 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/setuptools/command/dist_info.py: -------------------------------------------------------------------------------- 1 | """ 2 | Create a dist_info directory 3 | As defined in the wheel specification 4 | """ 5 | 6 | import os 7 | 8 | from distutils.core import Command 9 | from distutils import log 10 | 11 | 12 | class dist_info(Command): 13 | 14 | description = 'create a .dist-info directory' 15 | 16 | user_options = [ 17 | ('egg-base=', 'e', "directory containing .egg-info directories" 18 | " (default: top of the source tree)"), 19 | ] 20 | 21 | def initialize_options(self): 22 | self.egg_base = None 23 | 24 | def finalize_options(self): 25 | pass 26 | 27 | def run(self): 28 | egg_info = self.get_finalized_command('egg_info') 29 | egg_info.egg_base = self.egg_base 30 | egg_info.finalize_options() 31 | egg_info.run() 32 | dist_info_dir = egg_info.egg_info[:-len('.egg-info')] + '.dist-info' 33 | log.info("creating '{}'".format(os.path.abspath(dist_info_dir))) 34 | 35 | bdist_wheel = self.get_finalized_command('bdist_wheel') 36 | bdist_wheel.egg2dist(egg_info.egg_info, dist_info_dir) 37 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_internal/utils/filesystem.py: -------------------------------------------------------------------------------- 1 | import os 2 | import os.path 3 | 4 | from pip._internal.utils.compat import get_path_uid 5 | 6 | 7 | def check_path_owner(path): 8 | # type: (str) -> bool 9 | # If we don't have a way to check the effective uid of this process, then 10 | # we'll just assume that we own the directory. 11 | if not hasattr(os, "geteuid"): 12 | return True 13 | 14 | previous = None 15 | while path != previous: 16 | if os.path.lexists(path): 17 | # Check if path is writable by current user. 18 | if os.geteuid() == 0: 19 | # Special handling for root user in order to handle properly 20 | # cases where users use sudo without -H flag. 21 | try: 22 | path_uid = get_path_uid(path) 23 | except OSError: 24 | return False 25 | return path_uid == 0 26 | else: 27 | return os.access(path, os.W_OK) 28 | else: 29 | previous, path = path, os.path.dirname(path) 30 | return False # assume we don't own the path 31 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/six-1.12.0.dist-info/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010-2018 Benjamin Peterson 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of 4 | this software and associated documentation files (the "Software"), to deal in 5 | the Software without restriction, including without limitation the rights to 6 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 7 | the Software, and to permit persons to whom the Software is furnished to do so, 8 | subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 15 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 16 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 17 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 18 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 19 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/pytoml/test.py: -------------------------------------------------------------------------------- 1 | import datetime 2 | from .utils import format_rfc3339 3 | 4 | try: 5 | _string_types = (str, unicode) 6 | _int_types = (int, long) 7 | except NameError: 8 | _string_types = str 9 | _int_types = int 10 | 11 | def translate_to_test(v): 12 | if isinstance(v, dict): 13 | return { k: translate_to_test(v) for k, v in v.items() } 14 | if isinstance(v, list): 15 | a = [translate_to_test(x) for x in v] 16 | if v and isinstance(v[0], dict): 17 | return a 18 | else: 19 | return {'type': 'array', 'value': a} 20 | if isinstance(v, datetime.datetime): 21 | return {'type': 'datetime', 'value': format_rfc3339(v)} 22 | if isinstance(v, bool): 23 | return {'type': 'bool', 'value': 'true' if v else 'false'} 24 | if isinstance(v, _int_types): 25 | return {'type': 'integer', 'value': str(v)} 26 | if isinstance(v, float): 27 | return {'type': 'float', 'value': '{:.17}'.format(v)} 28 | if isinstance(v, _string_types): 29 | return {'type': 'string', 'value': v} 30 | raise RuntimeError('unexpected value: {!r}'.format(v)) 31 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pylint/exceptions.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2016-2017 Claudiu Popa 3 | # Copyright (c) 2016 Glenn Matthews 4 | # Copyright (c) 2017 Łukasz Rogalski 5 | # Copyright (c) 2018 Ville Skyttä 6 | # Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html 7 | # For details: https://github.com/PyCQA/pylint/blob/master/COPYING 8 | 9 | """Exception classes raised by various operations within pylint.""" 10 | 11 | 12 | class InvalidMessageError(Exception): 13 | """raised when a message creation, registration or addition is rejected""" 14 | 15 | 16 | class UnknownMessageError(Exception): 17 | """raised when an unregistered message id is encountered""" 18 | 19 | 20 | class EmptyReportError(Exception): 21 | """raised when a report is empty and so should not be displayed""" 22 | 23 | 24 | class InvalidReporterError(Exception): 25 | """raised when selected reporter is invalid (e.g. not found)""" 26 | 27 | 28 | class InvalidArgsError(ValueError): 29 | """raised when passed arguments are invalid, e.g., have the wrong length""" 30 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/setuptools-40.8.0.dist-info/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (C) 2016 Jason R Coombs 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of 4 | this software and associated documentation files (the "Software"), to deal in 5 | the Software without restriction, including without limitation the rights to 6 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies 7 | of the Software, and to permit persons to whom the Software is furnished to do 8 | so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | SOFTWARE. 20 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/distlib/_backport/misc.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # 3 | # Copyright (C) 2012 The Python Software Foundation. 4 | # See LICENSE.txt and CONTRIBUTORS.txt. 5 | # 6 | """Backports for individual classes and functions.""" 7 | 8 | import os 9 | import sys 10 | 11 | __all__ = ['cache_from_source', 'callable', 'fsencode'] 12 | 13 | 14 | try: 15 | from imp import cache_from_source 16 | except ImportError: 17 | def cache_from_source(py_file, debug=__debug__): 18 | ext = debug and 'c' or 'o' 19 | return py_file + ext 20 | 21 | 22 | try: 23 | callable = callable 24 | except NameError: 25 | from collections import Callable 26 | 27 | def callable(obj): 28 | return isinstance(obj, Callable) 29 | 30 | 31 | try: 32 | fsencode = os.fsencode 33 | except AttributeError: 34 | def fsencode(filename): 35 | if isinstance(filename, bytes): 36 | return filename 37 | elif isinstance(filename, str): 38 | return filename.encode(sys.getfilesystemencoding()) 39 | else: 40 | raise TypeError("expect bytes or str, not %s" % 41 | type(filename).__name__) 42 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/astroid/brain/brain_argparse.py: -------------------------------------------------------------------------------- 1 | from astroid import MANAGER, arguments, nodes, inference_tip, UseInferenceDefault 2 | 3 | 4 | def infer_namespace(node, context=None): 5 | callsite = arguments.CallSite.from_call(node) 6 | if not callsite.keyword_arguments: 7 | # Cannot make sense of it. 8 | raise UseInferenceDefault() 9 | 10 | class_node = nodes.ClassDef("Namespace", "docstring") 11 | class_node.parent = node.parent 12 | for attr in set(callsite.keyword_arguments): 13 | fake_node = nodes.EmptyNode() 14 | fake_node.parent = class_node 15 | fake_node.attrname = attr 16 | class_node.instance_attrs[attr] = [fake_node] 17 | return iter((class_node.instantiate_class(),)) 18 | 19 | 20 | def _looks_like_namespace(node): 21 | func = node.func 22 | if isinstance(func, nodes.Attribute): 23 | return ( 24 | func.attrname == "Namespace" 25 | and isinstance(func.expr, nodes.Name) 26 | and func.expr.name == "argparse" 27 | ) 28 | return False 29 | 30 | 31 | MANAGER.register_transform( 32 | nodes.Call, inference_tip(infer_namespace), _looks_like_namespace 33 | ) 34 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/isort-4.3.21.dist-info/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2013 Timothy Edmund Crosley 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip-19.0.3.dist-info/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2008-2019 The pip developers (see AUTHORS.txt file) 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pylint/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2008, 2012 LOGILAB S.A. (Paris, FRANCE) 2 | # Copyright (c) 2014, 2016-2017 Claudiu Popa 3 | # Copyright (c) 2014 Arun Persaud 4 | # Copyright (c) 2015 Ionel Cristian Maries 5 | # Copyright (c) 2018 Nick Drozd 6 | 7 | # Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html 8 | # For details: https://github.com/PyCQA/pylint/blob/master/COPYING 9 | 10 | import sys 11 | 12 | from .__pkginfo__ import version as __version__ 13 | 14 | 15 | def run_pylint(): 16 | """run pylint""" 17 | from pylint.lint import Run 18 | 19 | try: 20 | Run(sys.argv[1:]) 21 | except KeyboardInterrupt: 22 | sys.exit(1) 23 | 24 | 25 | def run_epylint(): 26 | """run pylint""" 27 | from pylint.epylint import Run 28 | 29 | Run() 30 | 31 | 32 | def run_pyreverse(): 33 | """run pyreverse""" 34 | from pylint.pyreverse.main import Run 35 | 36 | Run(sys.argv[1:]) 37 | 38 | 39 | def run_symilar(): 40 | """run symilar""" 41 | from pylint.checkers.similar import Run 42 | 43 | Run(sys.argv[1:]) 44 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_internal/models/index.py: -------------------------------------------------------------------------------- 1 | from pip._vendor.six.moves.urllib import parse as urllib_parse 2 | 3 | 4 | class PackageIndex(object): 5 | """Represents a Package Index and provides easier access to endpoints 6 | """ 7 | 8 | def __init__(self, url, file_storage_domain): 9 | # type: (str, str) -> None 10 | super(PackageIndex, self).__init__() 11 | self.url = url 12 | self.netloc = urllib_parse.urlsplit(url).netloc 13 | self.simple_url = self._url_for_path('simple') 14 | self.pypi_url = self._url_for_path('pypi') 15 | 16 | # This is part of a temporary hack used to block installs of PyPI 17 | # packages which depend on external urls only necessary until PyPI can 18 | # block such packages themselves 19 | self.file_storage_domain = file_storage_domain 20 | 21 | def _url_for_path(self, path): 22 | # type: (str) -> str 23 | return urllib_parse.urljoin(self.url, path) 24 | 25 | 26 | PyPI = PackageIndex( 27 | 'https://pypi.org/', file_storage_domain='files.pythonhosted.org' 28 | ) 29 | TestPyPI = PackageIndex( 30 | 'https://test.pypi.org/', file_storage_domain='test-files.pythonhosted.org' 31 | ) 32 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/mccabe-0.6.1.dist-info/metadata.json: -------------------------------------------------------------------------------- 1 | {"classifiers": ["Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Software Development :: Quality Assurance"], "extensions": {"python.details": {"contacts": [{"email": "graffatcolmingov@gmail.com", "name": "Ian Cordasco", "role": "author"}], "document_names": {"description": "DESCRIPTION.rst"}, "project_urls": {"Home": "https://github.com/pycqa/mccabe"}}, "python.exports": {"flake8.extension": {"C90": "mccabe:McCabeChecker"}}}, "generator": "bdist_wheel (0.29.0)", "keywords": ["flake8", "mccabe"], "license": "Expat license", "metadata_version": "2.0", "name": "mccabe", "summary": "McCabe checker, plugin for flake8", "test_requires": [{"requires": ["pytest"]}], "version": "0.6.1"} -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_internal/utils/models.py: -------------------------------------------------------------------------------- 1 | """Utilities for defining models 2 | """ 3 | 4 | import operator 5 | 6 | 7 | class KeyBasedCompareMixin(object): 8 | """Provides comparision capabilities that is based on a key 9 | """ 10 | 11 | def __init__(self, key, defining_class): 12 | self._compare_key = key 13 | self._defining_class = defining_class 14 | 15 | def __hash__(self): 16 | return hash(self._compare_key) 17 | 18 | def __lt__(self, other): 19 | return self._compare(other, operator.__lt__) 20 | 21 | def __le__(self, other): 22 | return self._compare(other, operator.__le__) 23 | 24 | def __gt__(self, other): 25 | return self._compare(other, operator.__gt__) 26 | 27 | def __ge__(self, other): 28 | return self._compare(other, operator.__ge__) 29 | 30 | def __eq__(self, other): 31 | return self._compare(other, operator.__eq__) 32 | 33 | def __ne__(self, other): 34 | return self._compare(other, operator.__ne__) 35 | 36 | def _compare(self, other, method): 37 | if not isinstance(other, self._defining_class): 38 | return NotImplemented 39 | 40 | return method(self._compare_key, other._compare_key) 41 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_internal/models/candidate.py: -------------------------------------------------------------------------------- 1 | from pip._vendor.packaging.version import parse as parse_version 2 | 3 | from pip._internal.utils.models import KeyBasedCompareMixin 4 | from pip._internal.utils.typing import MYPY_CHECK_RUNNING 5 | 6 | if MYPY_CHECK_RUNNING: 7 | from pip._vendor.packaging.version import _BaseVersion # noqa: F401 8 | from pip._internal.models.link import Link # noqa: F401 9 | from typing import Any, Union # noqa: F401 10 | 11 | 12 | class InstallationCandidate(KeyBasedCompareMixin): 13 | """Represents a potential "candidate" for installation. 14 | """ 15 | 16 | def __init__(self, project, version, location): 17 | # type: (Any, str, Link) -> None 18 | self.project = project 19 | self.version = parse_version(version) # type: _BaseVersion 20 | self.location = location 21 | 22 | super(InstallationCandidate, self).__init__( 23 | key=(self.project, self.version, self.location), 24 | defining_class=InstallationCandidate 25 | ) 26 | 27 | def __repr__(self): 28 | # type: () -> str 29 | return "".format( 30 | self.project, self.version, self.location, 31 | ) 32 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/msgpack/exceptions.py: -------------------------------------------------------------------------------- 1 | class UnpackException(Exception): 2 | """Deprecated. Use Exception instead to catch all exception during unpacking.""" 3 | 4 | 5 | class BufferFull(UnpackException): 6 | pass 7 | 8 | 9 | class OutOfData(UnpackException): 10 | pass 11 | 12 | 13 | class UnpackValueError(UnpackException, ValueError): 14 | """Deprecated. Use ValueError instead.""" 15 | 16 | 17 | class ExtraData(UnpackValueError): 18 | def __init__(self, unpacked, extra): 19 | self.unpacked = unpacked 20 | self.extra = extra 21 | 22 | def __str__(self): 23 | return "unpack(b) received extra data." 24 | 25 | 26 | class PackException(Exception): 27 | """Deprecated. Use Exception instead to catch all exception during packing.""" 28 | 29 | 30 | class PackValueError(PackException, ValueError): 31 | """PackValueError is raised when type of input data is supported but it's value is unsupported. 32 | 33 | Deprecated. Use ValueError instead. 34 | """ 35 | 36 | 37 | class PackOverflowError(PackValueError, OverflowError): 38 | """PackOverflowError is raised when integer value is out of range of msgpack support [-2**31, 2**32). 39 | 40 | Deprecated. Use ValueError instead. 41 | """ 42 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_internal/commands/help.py: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import 2 | 3 | from pip._internal.cli.base_command import Command 4 | from pip._internal.cli.status_codes import SUCCESS 5 | from pip._internal.exceptions import CommandError 6 | 7 | 8 | class HelpCommand(Command): 9 | """Show help for commands""" 10 | name = 'help' 11 | usage = """ 12 | %prog """ 13 | summary = 'Show help for commands.' 14 | ignore_require_venv = True 15 | 16 | def run(self, options, args): 17 | from pip._internal.commands import commands_dict, get_similar_commands 18 | 19 | try: 20 | # 'pip help' with no args is handled by pip.__init__.parseopt() 21 | cmd_name = args[0] # the command we need help for 22 | except IndexError: 23 | return SUCCESS 24 | 25 | if cmd_name not in commands_dict: 26 | guess = get_similar_commands(cmd_name) 27 | 28 | msg = ['unknown command "%s"' % cmd_name] 29 | if guess: 30 | msg.append('maybe you meant "%s"' % guess) 31 | 32 | raise CommandError(' - '.join(msg)) 33 | 34 | command = commands_dict[cmd_name]() 35 | command.parser.print_help() 36 | 37 | return SUCCESS 38 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_internal/utils/typing.py: -------------------------------------------------------------------------------- 1 | """For neatly implementing static typing in pip. 2 | 3 | `mypy` - the static type analysis tool we use - uses the `typing` module, which 4 | provides core functionality fundamental to mypy's functioning. 5 | 6 | Generally, `typing` would be imported at runtime and used in that fashion - 7 | it acts as a no-op at runtime and does not have any run-time overhead by 8 | design. 9 | 10 | As it turns out, `typing` is not vendorable - it uses separate sources for 11 | Python 2/Python 3. Thus, this codebase can not expect it to be present. 12 | To work around this, mypy allows the typing import to be behind a False-y 13 | optional to prevent it from running at runtime and type-comments can be used 14 | to remove the need for the types to be accessible directly during runtime. 15 | 16 | This module provides the False-y guard in a nicely named fashion so that a 17 | curious maintainer can reach here to read this. 18 | 19 | In pip, all static-typing related imports should be guarded as follows: 20 | 21 | from pip._internal.utils.typing import MYPY_CHECK_RUNNING 22 | 23 | if MYPY_CHECK_RUNNING: 24 | from typing import ... # noqa: F401 25 | 26 | Ref: https://github.com/python/mypy/issues/3216 27 | """ 28 | 29 | MYPY_CHECK_RUNNING = False 30 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/astroid/brain/brain_re.py: -------------------------------------------------------------------------------- 1 | # Licensed under the LGPL: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html 2 | # For details: https://github.com/PyCQA/astroid/blob/master/COPYING.LESSER 3 | import sys 4 | import astroid 5 | 6 | PY36 = sys.version_info >= (3, 6) 7 | 8 | if PY36: 9 | # Since Python 3.6 there is the RegexFlag enum 10 | # where every entry will be exposed via updating globals() 11 | 12 | def _re_transform(): 13 | return astroid.parse( 14 | """ 15 | import sre_compile 16 | ASCII = sre_compile.SRE_FLAG_ASCII 17 | IGNORECASE = sre_compile.SRE_FLAG_IGNORECASE 18 | LOCALE = sre_compile.SRE_FLAG_LOCALE 19 | UNICODE = sre_compile.SRE_FLAG_UNICODE 20 | MULTILINE = sre_compile.SRE_FLAG_MULTILINE 21 | DOTALL = sre_compile.SRE_FLAG_DOTALL 22 | VERBOSE = sre_compile.SRE_FLAG_VERBOSE 23 | A = ASCII 24 | I = IGNORECASE 25 | L = LOCALE 26 | U = UNICODE 27 | M = MULTILINE 28 | S = DOTALL 29 | X = VERBOSE 30 | TEMPLATE = sre_compile.SRE_FLAG_TEMPLATE 31 | T = TEMPLATE 32 | DEBUG = sre_compile.SRE_FLAG_DEBUG 33 | """ 34 | ) 35 | 36 | astroid.register_module_extender(astroid.MANAGER, "re", _re_transform) 37 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/chardet/compat.py: -------------------------------------------------------------------------------- 1 | ######################## BEGIN LICENSE BLOCK ######################## 2 | # Contributor(s): 3 | # Dan Blanchard 4 | # Ian Cordasco 5 | # 6 | # This library is free software; you can redistribute it and/or 7 | # modify it under the terms of the GNU Lesser General Public 8 | # License as published by the Free Software Foundation; either 9 | # version 2.1 of the License, or (at your option) any later version. 10 | # 11 | # This library is distributed in the hope that it will be useful, 12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | # Lesser General Public License for more details. 15 | # 16 | # You should have received a copy of the GNU Lesser General Public 17 | # License along with this library; if not, write to the Free Software 18 | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 19 | # 02110-1301 USA 20 | ######################### END LICENSE BLOCK ######################### 21 | 22 | import sys 23 | 24 | 25 | if sys.version_info < (3, 0): 26 | PY2 = True 27 | PY3 = False 28 | base_str = (str, unicode) 29 | text_type = unicode 30 | else: 31 | PY2 = False 32 | PY3 = True 33 | base_str = (bytes, str) 34 | text_type = str 35 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/typed_ast-1.4.0.dist-info/METADATA: -------------------------------------------------------------------------------- 1 | Metadata-Version: 2.1 2 | Name: typed-ast 3 | Version: 1.4.0 4 | Summary: a fork of Python 2 and 3 ast modules with type comment support 5 | Home-page: https://github.com/python/typed_ast 6 | Author: David Fisher 7 | Author-email: UNKNOWN 8 | License: Apache License 2.0 9 | Platform: POSIX 10 | Platform: Windows 11 | Classifier: Development Status :: 5 - Production/Stable 12 | Classifier: Environment :: Console 13 | Classifier: Intended Audience :: Developers 14 | Classifier: Operating System :: POSIX 15 | Classifier: Operating System :: Microsoft 16 | Classifier: Programming Language :: Python :: 3.5 17 | Classifier: Programming Language :: Python :: 3.6 18 | Classifier: Programming Language :: Python :: 3.7 19 | Classifier: Programming Language :: Python :: 3.8 20 | Classifier: Topic :: Software Development 21 | 22 | `typed_ast` is a Python 3 package that provides a Python 2.7 and Python 3 23 | parser similar to the standard `ast` library. Unlike `ast`, the parsers in 24 | `typed_ast` include PEP 484 type comments and are independent of the version of 25 | Python under which they are run. The `typed_ast` parsers produce the standard 26 | Python AST (plus type comments), and are both fast and correct, as they are 27 | based on the CPython 2.7 and 3.6 parsers. 28 | 29 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/requests/_internal_utils.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | """ 4 | requests._internal_utils 5 | ~~~~~~~~~~~~~~ 6 | 7 | Provides utility functions that are consumed internally by Requests 8 | which depend on extremely few external helpers (such as compat) 9 | """ 10 | 11 | from .compat import is_py2, builtin_str, str 12 | 13 | 14 | def to_native_string(string, encoding='ascii'): 15 | """Given a string object, regardless of type, returns a representation of 16 | that string in the native string type, encoding and decoding where 17 | necessary. This assumes ASCII unless told otherwise. 18 | """ 19 | if isinstance(string, builtin_str): 20 | out = string 21 | else: 22 | if is_py2: 23 | out = string.encode(encoding) 24 | else: 25 | out = string.decode(encoding) 26 | 27 | return out 28 | 29 | 30 | def unicode_is_ascii(u_string): 31 | """Determine if unicode string only contains ASCII characters. 32 | 33 | :param str u_string: unicode string to check. Must be unicode 34 | and not Python 2 `str`. 35 | :rtype: bool 36 | """ 37 | assert isinstance(u_string, str) 38 | try: 39 | u_string.encode('ascii') 40 | return True 41 | except UnicodeEncodeError: 42 | return False 43 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/urllib3/util/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import 2 | # For backwards compatibility, provide imports that used to be here. 3 | from .connection import is_connection_dropped 4 | from .request import make_headers 5 | from .response import is_fp_closed 6 | from .ssl_ import ( 7 | SSLContext, 8 | HAS_SNI, 9 | IS_PYOPENSSL, 10 | IS_SECURETRANSPORT, 11 | assert_fingerprint, 12 | resolve_cert_reqs, 13 | resolve_ssl_version, 14 | ssl_wrap_socket, 15 | ) 16 | from .timeout import ( 17 | current_time, 18 | Timeout, 19 | ) 20 | 21 | from .retry import Retry 22 | from .url import ( 23 | get_host, 24 | parse_url, 25 | split_first, 26 | Url, 27 | ) 28 | from .wait import ( 29 | wait_for_read, 30 | wait_for_write 31 | ) 32 | 33 | __all__ = ( 34 | 'HAS_SNI', 35 | 'IS_PYOPENSSL', 36 | 'IS_SECURETRANSPORT', 37 | 'SSLContext', 38 | 'Retry', 39 | 'Timeout', 40 | 'Url', 41 | 'assert_fingerprint', 42 | 'current_time', 43 | 'is_connection_dropped', 44 | 'is_fp_closed', 45 | 'get_host', 46 | 'parse_url', 47 | 'make_headers', 48 | 'resolve_cert_reqs', 49 | 'resolve_ssl_version', 50 | 'split_first', 51 | 'ssl_wrap_socket', 52 | 'wait_for_read', 53 | 'wait_for_write' 54 | ) 55 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/astroid/brain/brain_numpy_core_function_base.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2018-2019 hippo91 2 | 3 | # Licensed under the LGPL: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html 4 | # For details: https://github.com/PyCQA/astroid/blob/master/COPYING.LESSER 5 | 6 | 7 | """Astroid hooks for numpy.core.function_base module.""" 8 | 9 | import functools 10 | import astroid 11 | from brain_numpy_utils import looks_like_numpy_member, infer_numpy_member 12 | 13 | 14 | METHODS_TO_BE_INFERRED = { 15 | "linspace": """def linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0): 16 | return numpy.ndarray([0, 0])""", 17 | "logspace": """def logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None, axis=0): 18 | return numpy.ndarray([0, 0])""", 19 | "geomspace": """def geomspace(start, stop, num=50, endpoint=True, dtype=None, axis=0): 20 | return numpy.ndarray([0, 0])""", 21 | } 22 | 23 | for func_name, func_src in METHODS_TO_BE_INFERRED.items(): 24 | inference_function = functools.partial(infer_numpy_member, func_src) 25 | astroid.MANAGER.register_transform( 26 | astroid.Attribute, 27 | astroid.inference_tip(inference_function), 28 | functools.partial(looks_like_numpy_member, func_name), 29 | ) 30 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/typed_ast-1.4.0.dist-info/RECORD: -------------------------------------------------------------------------------- 1 | typed_ast-1.4.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 2 | typed_ast-1.4.0.dist-info/METADATA,sha256=uNd79vdIoBwrOt4xN3P_oX_cSh1AdKHPwHjogrMf7a0,1163 3 | typed_ast-1.4.0.dist-info/RECORD,, 4 | typed_ast-1.4.0.dist-info/WHEEL,sha256=_k7-jlcomYi2KWQV8j4dnQP2hhlJPv6RZQa_A7vSCGc,110 5 | typed_ast-1.4.0.dist-info/top_level.txt,sha256=LCmBygYWBo6qqIoaZNicoxU-DO9gR2JvhQkVJwSyN1k,23 6 | typed_ast/__init__.py,sha256=8UhoYEXHs1Oai7BW_ExBmuwWnRI-yMG_u1fQAXMizHQ,22 7 | typed_ast/__pycache__/__init__.cpython-37.pyc,, 8 | typed_ast/__pycache__/ast27.cpython-37.pyc,, 9 | typed_ast/__pycache__/ast3.cpython-37.pyc,, 10 | typed_ast/__pycache__/conversions.cpython-37.pyc,, 11 | typed_ast/_ast27.cpython-37m-darwin.so,sha256=Lu1IW6tuXRRYil8xs2DW1cRrUJsfN8SI40SUW1KtPds,256220 12 | typed_ast/_ast3.cpython-37m-darwin.so,sha256=xY5NUJuW7Z2ESkQr_g9sw47Ihyin9lRHdj-bW87jHkY,313972 13 | typed_ast/ast27.py,sha256=MouNmlSUIINEyl3LBa796DXBvZNOjo5-gCPzoYRDb1Q,12630 14 | typed_ast/ast3.py,sha256=2Fb_0TUknxmDPzBXPYe1XkGhJL1JxeR2zLivWII3TqI,13761 15 | typed_ast/conversions.py,sha256=J9wBDCg-it3cxfSnIAMWnBDiwLypfRBc7RTftRImwak,8632 16 | typed_ast/tests/__pycache__/test_basics.cpython-37.pyc,, 17 | typed_ast/tests/test_basics.py,sha256=2aQmOXfqKyBNaVpB9FeYkMqSWy9Qz1aGwVCs70IrDKo,7516 18 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/html5lib/__init__.py: -------------------------------------------------------------------------------- 1 | """ 2 | HTML parsing library based on the `WHATWG HTML specification 3 | `_. The parser is designed to be compatible with 4 | existing HTML found in the wild and implements well-defined error recovery that 5 | is largely compatible with modern desktop web browsers. 6 | 7 | Example usage:: 8 | 9 | from pip._vendor import html5lib 10 | with open("my_document.html", "rb") as f: 11 | tree = html5lib.parse(f) 12 | 13 | For convenience, this module re-exports the following names: 14 | 15 | * :func:`~.html5parser.parse` 16 | * :func:`~.html5parser.parseFragment` 17 | * :class:`~.html5parser.HTMLParser` 18 | * :func:`~.treebuilders.getTreeBuilder` 19 | * :func:`~.treewalkers.getTreeWalker` 20 | * :func:`~.serializer.serialize` 21 | """ 22 | 23 | from __future__ import absolute_import, division, unicode_literals 24 | 25 | from .html5parser import HTMLParser, parse, parseFragment 26 | from .treebuilders import getTreeBuilder 27 | from .treewalkers import getTreeWalker 28 | from .serializer import serialize 29 | 30 | __all__ = ["HTMLParser", "parse", "parseFragment", "getTreeBuilder", 31 | "getTreeWalker", "serialize"] 32 | 33 | # this has to be at the top level, see how setup.py parses this 34 | #: Distribution version number. 35 | __version__ = "1.0.1" 36 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pylint/constants.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | # Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html 4 | # For details: https://github.com/PyCQA/pylint/blob/master/COPYING 5 | 6 | import re 7 | 8 | # Allow stopping after the first semicolon/hash encountered, 9 | # so that an option can be continued with the reasons 10 | # why it is active or disabled. 11 | OPTION_RGX = re.compile(r"\s*#.*\bpylint:\s*([^;#]+)[;#]{0,1}") 12 | 13 | PY_EXTS = (".py", ".pyc", ".pyo", ".pyw", ".so", ".dll") 14 | 15 | MSG_STATE_CONFIDENCE = 2 16 | _MSG_ORDER = "EWRCIF" 17 | MSG_STATE_SCOPE_CONFIG = 0 18 | MSG_STATE_SCOPE_MODULE = 1 19 | 20 | # The line/node distinction does not apply to fatal errors and reports. 21 | _SCOPE_EXEMPT = "FR" 22 | 23 | MSG_TYPES = { 24 | "I": "info", 25 | "C": "convention", 26 | "R": "refactor", 27 | "W": "warning", 28 | "E": "error", 29 | "F": "fatal", 30 | } 31 | MSG_TYPES_LONG = {v: k for k, v in MSG_TYPES.items()} 32 | 33 | MSG_TYPES_STATUS = {"I": 0, "C": 16, "R": 8, "W": 4, "E": 2, "F": 1} 34 | 35 | # You probably don't want to change the MAIN_CHECKER_NAME 36 | # This would affect rcfile generation and retro-compatibility 37 | # on all project using [MASTER] in their rcfile. 38 | MAIN_CHECKER_NAME = "master" 39 | 40 | 41 | class WarningScope: 42 | LINE = "line-based-msg" 43 | NODE = "node-based-msg" 44 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/html5lib/_trie/datrie.py: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import, division, unicode_literals 2 | 3 | from datrie import Trie as DATrie 4 | from pip._vendor.six import text_type 5 | 6 | from ._base import Trie as ABCTrie 7 | 8 | 9 | class Trie(ABCTrie): 10 | def __init__(self, data): 11 | chars = set() 12 | for key in data.keys(): 13 | if not isinstance(key, text_type): 14 | raise TypeError("All keys must be strings") 15 | for char in key: 16 | chars.add(char) 17 | 18 | self._data = DATrie("".join(chars)) 19 | for key, value in data.items(): 20 | self._data[key] = value 21 | 22 | def __contains__(self, key): 23 | return key in self._data 24 | 25 | def __len__(self): 26 | return len(self._data) 27 | 28 | def __iter__(self): 29 | raise NotImplementedError() 30 | 31 | def __getitem__(self, key): 32 | return self._data[key] 33 | 34 | def keys(self, prefix=None): 35 | return self._data.keys(prefix) 36 | 37 | def has_keys_with_prefix(self, prefix): 38 | return self._data.has_keys_with_prefix(prefix) 39 | 40 | def longest_prefix(self, prefix): 41 | return self._data.longest_prefix(prefix) 42 | 43 | def longest_prefix_item(self, prefix): 44 | return self._data.longest_prefix_item(prefix) 45 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/bin/activate.csh: -------------------------------------------------------------------------------- 1 | # This file must be used with "source bin/activate.csh" *from csh*. 2 | # You cannot run it directly. 3 | # Created by Davide Di Blasi . 4 | # Ported to Python 3.3 venv by Andrew Svetlov 5 | 6 | alias deactivate 'test $?_OLD_VIRTUAL_PATH != 0 && setenv PATH "$_OLD_VIRTUAL_PATH" && unset _OLD_VIRTUAL_PATH; rehash; test $?_OLD_VIRTUAL_PROMPT != 0 && set prompt="$_OLD_VIRTUAL_PROMPT" && unset _OLD_VIRTUAL_PROMPT; unsetenv VIRTUAL_ENV; test "\!:*" != "nondestructive" && unalias deactivate' 7 | 8 | # Unset irrelevant variables. 9 | deactivate nondestructive 10 | 11 | setenv VIRTUAL_ENV "/Users/fcremo/tmp/test/myvenv" 12 | 13 | set _OLD_VIRTUAL_PATH="$PATH" 14 | setenv PATH "$VIRTUAL_ENV/bin:$PATH" 15 | 16 | 17 | set _OLD_VIRTUAL_PROMPT="$prompt" 18 | 19 | if (! "$?VIRTUAL_ENV_DISABLE_PROMPT") then 20 | if ("myvenv" != "") then 21 | set env_name = "myvenv" 22 | else 23 | if (`basename "VIRTUAL_ENV"` == "__") then 24 | # special case for Aspen magic directories 25 | # see http://www.zetadev.com/software/aspen/ 26 | set env_name = `basename \`dirname "$VIRTUAL_ENV"\`` 27 | else 28 | set env_name = `basename "$VIRTUAL_ENV"` 29 | endif 30 | endif 31 | set prompt = "[$env_name] $prompt" 32 | unset env_name 33 | endif 34 | 35 | alias pydoc python -m pydoc 36 | 37 | rehash 38 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/html5lib/filters/whitespace.py: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import, division, unicode_literals 2 | 3 | import re 4 | 5 | from . import base 6 | from ..constants import rcdataElements, spaceCharacters 7 | spaceCharacters = "".join(spaceCharacters) 8 | 9 | SPACES_REGEX = re.compile("[%s]+" % spaceCharacters) 10 | 11 | 12 | class Filter(base.Filter): 13 | """Collapses whitespace except in pre, textarea, and script elements""" 14 | spacePreserveElements = frozenset(["pre", "textarea"] + list(rcdataElements)) 15 | 16 | def __iter__(self): 17 | preserve = 0 18 | for token in base.Filter.__iter__(self): 19 | type = token["type"] 20 | if type == "StartTag" \ 21 | and (preserve or token["name"] in self.spacePreserveElements): 22 | preserve += 1 23 | 24 | elif type == "EndTag" and preserve: 25 | preserve -= 1 26 | 27 | elif not preserve and type == "SpaceCharacters" and token["data"]: 28 | # Test on token["data"] above to not introduce spaces where there were not 29 | token["data"] = " " 30 | 31 | elif not preserve and type == "Characters": 32 | token["data"] = collapse_spaces(token["data"]) 33 | 34 | yield token 35 | 36 | 37 | def collapse_spaces(text): 38 | return SPACES_REGEX.sub(' ', text) 39 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_internal/utils/encoding.py: -------------------------------------------------------------------------------- 1 | import codecs 2 | import locale 3 | import re 4 | import sys 5 | 6 | from pip._internal.utils.typing import MYPY_CHECK_RUNNING 7 | 8 | if MYPY_CHECK_RUNNING: 9 | from typing import List, Tuple, Text # noqa: F401 10 | 11 | BOMS = [ 12 | (codecs.BOM_UTF8, 'utf8'), 13 | (codecs.BOM_UTF16, 'utf16'), 14 | (codecs.BOM_UTF16_BE, 'utf16-be'), 15 | (codecs.BOM_UTF16_LE, 'utf16-le'), 16 | (codecs.BOM_UTF32, 'utf32'), 17 | (codecs.BOM_UTF32_BE, 'utf32-be'), 18 | (codecs.BOM_UTF32_LE, 'utf32-le'), 19 | ] # type: List[Tuple[bytes, Text]] 20 | 21 | ENCODING_RE = re.compile(br'coding[:=]\s*([-\w.]+)') 22 | 23 | 24 | def auto_decode(data): 25 | # type: (bytes) -> Text 26 | """Check a bytes string for a BOM to correctly detect the encoding 27 | 28 | Fallback to locale.getpreferredencoding(False) like open() on Python3""" 29 | for bom, encoding in BOMS: 30 | if data.startswith(bom): 31 | return data[len(bom):].decode(encoding) 32 | # Lets check the first two lines as in PEP263 33 | for line in data.split(b'\n')[:2]: 34 | if line[0:1] == b'#' and ENCODING_RE.search(line): 35 | encoding = ENCODING_RE.search(line).groups()[0].decode('ascii') 36 | return data.decode(encoding) 37 | return data.decode( 38 | locale.getpreferredencoding(False) or sys.getdefaultencoding(), 39 | ) 40 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/wrapt-1.11.2.dist-info/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013-2019, Graham Dumpleton 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are met: 6 | 7 | * Redistributions of source code must retain the above copyright notice, this 8 | list of conditions and the following disclaimer. 9 | 10 | * Redistributions in binary form must reproduce the above copyright notice, 11 | this list of conditions and the following disclaimer in the documentation 12 | and/or other materials provided with the distribution. 13 | 14 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 15 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 18 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 19 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 20 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 21 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 22 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 23 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 24 | POSSIBILITY OF SUCH DAMAGE. 25 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/lazy_object_proxy-1.4.2.dist-info/LICENSE: -------------------------------------------------------------------------------- 1 | BSD 2-Clause License 2 | 3 | Copyright (c) 2014-2019, Ionel Cristian Mărieș 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the 7 | following conditions are met: 8 | 9 | 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following 10 | disclaimer. 11 | 12 | 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following 13 | disclaimer in the documentation and/or other materials provided with the distribution. 14 | 15 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 16 | INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 17 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 18 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 19 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 20 | WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 21 | THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 22 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/setuptools/py33compat.py: -------------------------------------------------------------------------------- 1 | import dis 2 | import array 3 | import collections 4 | 5 | try: 6 | import html 7 | except ImportError: 8 | html = None 9 | 10 | from setuptools.extern import six 11 | from setuptools.extern.six.moves import html_parser 12 | 13 | __metaclass__ = type 14 | 15 | OpArg = collections.namedtuple('OpArg', 'opcode arg') 16 | 17 | 18 | class Bytecode_compat: 19 | def __init__(self, code): 20 | self.code = code 21 | 22 | def __iter__(self): 23 | """Yield '(op,arg)' pair for each operation in code object 'code'""" 24 | 25 | bytes = array.array('b', self.code.co_code) 26 | eof = len(self.code.co_code) 27 | 28 | ptr = 0 29 | extended_arg = 0 30 | 31 | while ptr < eof: 32 | 33 | op = bytes[ptr] 34 | 35 | if op >= dis.HAVE_ARGUMENT: 36 | 37 | arg = bytes[ptr + 1] + bytes[ptr + 2] * 256 + extended_arg 38 | ptr += 3 39 | 40 | if op == dis.EXTENDED_ARG: 41 | long_type = six.integer_types[-1] 42 | extended_arg = arg * long_type(65536) 43 | continue 44 | 45 | else: 46 | arg = None 47 | ptr += 1 48 | 49 | yield OpArg(op, arg) 50 | 51 | 52 | Bytecode = getattr(dis, 'Bytecode', Bytecode_compat) 53 | 54 | 55 | unescape = getattr(html, 'unescape', html_parser.HTMLParser().unescape) 56 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/isort/__init__.py: -------------------------------------------------------------------------------- 1 | """__init__.py. 2 | 3 | Defines the isort module to include the SortImports utility class as well as any defined settings. 4 | 5 | Copyright (C) 2013 Timothy Edmund Crosley 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated 8 | documentation files (the "Software"), to deal in the Software without restriction, including without limitation 9 | the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and 10 | to permit persons to whom the Software is furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all copies or 13 | substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED 16 | TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 17 | THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF 18 | CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 19 | OTHER DEALINGS IN THE SOFTWARE. 20 | 21 | """ 22 | 23 | from __future__ import absolute_import, division, print_function, unicode_literals 24 | 25 | from . import settings # noqa: F401 26 | from .isort import SortImports # noqa: F401 27 | 28 | __version__ = "4.3.21" 29 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/setuptools/unicode_utils.py: -------------------------------------------------------------------------------- 1 | import unicodedata 2 | import sys 3 | import re 4 | 5 | from setuptools.extern import six 6 | 7 | 8 | # HFS Plus uses decomposed UTF-8 9 | def decompose(path): 10 | if isinstance(path, six.text_type): 11 | return unicodedata.normalize('NFD', path) 12 | try: 13 | path = path.decode('utf-8') 14 | path = unicodedata.normalize('NFD', path) 15 | path = path.encode('utf-8') 16 | except UnicodeError: 17 | pass # Not UTF-8 18 | return path 19 | 20 | 21 | def filesys_decode(path): 22 | """ 23 | Ensure that the given path is decoded, 24 | NONE when no expected encoding works 25 | """ 26 | 27 | if isinstance(path, six.text_type): 28 | return path 29 | 30 | fs_enc = sys.getfilesystemencoding() or 'utf-8' 31 | candidates = fs_enc, 'utf-8' 32 | 33 | for enc in candidates: 34 | try: 35 | return path.decode(enc) 36 | except UnicodeDecodeError: 37 | continue 38 | 39 | 40 | def try_encode(string, enc): 41 | "turn unicode encoding into a functional routine" 42 | try: 43 | return string.encode(enc) 44 | except UnicodeEncodeError: 45 | return None 46 | 47 | 48 | CODING_RE = re.compile(br'^[ \t\f]*#.*?coding[:=][ \t]*([-\w.]+)') 49 | 50 | 51 | def detect_encoding(fp): 52 | first_line = fp.readline() 53 | fp.seek(0) 54 | m = CODING_RE.match(first_line) 55 | if m is None: 56 | return None 57 | return m.group(1).decode('ascii') 58 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/cachecontrol/_cmd.py: -------------------------------------------------------------------------------- 1 | import logging 2 | 3 | from pip._vendor import requests 4 | 5 | from pip._vendor.cachecontrol.adapter import CacheControlAdapter 6 | from pip._vendor.cachecontrol.cache import DictCache 7 | from pip._vendor.cachecontrol.controller import logger 8 | 9 | from argparse import ArgumentParser 10 | 11 | 12 | def setup_logging(): 13 | logger.setLevel(logging.DEBUG) 14 | handler = logging.StreamHandler() 15 | logger.addHandler(handler) 16 | 17 | 18 | def get_session(): 19 | adapter = CacheControlAdapter( 20 | DictCache(), cache_etags=True, serializer=None, heuristic=None 21 | ) 22 | sess = requests.Session() 23 | sess.mount("http://", adapter) 24 | sess.mount("https://", adapter) 25 | 26 | sess.cache_controller = adapter.controller 27 | return sess 28 | 29 | 30 | def get_args(): 31 | parser = ArgumentParser() 32 | parser.add_argument("url", help="The URL to try and cache") 33 | return parser.parse_args() 34 | 35 | 36 | def main(args=None): 37 | args = get_args() 38 | sess = get_session() 39 | 40 | # Make a request to get a response 41 | resp = sess.get(args.url) 42 | 43 | # Turn on logging 44 | setup_logging() 45 | 46 | # try setting the cache 47 | sess.cache_controller.cache_response(resp.request, resp.raw) 48 | 49 | # Now try to get it 50 | if sess.cache_controller.cached_request(resp.request): 51 | print("Cached!") 52 | else: 53 | print("Not cached :(") 54 | 55 | 56 | if __name__ == "__main__": 57 | main() 58 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pylint/message/message.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | # Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html 4 | # For details: https://github.com/PyCQA/pylint/blob/master/COPYING 5 | 6 | 7 | import collections 8 | 9 | from pylint.constants import MSG_TYPES 10 | 11 | _MsgBase = collections.namedtuple( 12 | "_MsgBase", 13 | [ 14 | "msg_id", 15 | "symbol", 16 | "msg", 17 | "C", 18 | "category", 19 | "confidence", 20 | "abspath", 21 | "path", 22 | "module", 23 | "obj", 24 | "line", 25 | "column", 26 | ], 27 | ) 28 | 29 | 30 | class Message(_MsgBase): 31 | """This class represent a message to be issued by the reporters""" 32 | 33 | def __new__(cls, msg_id, symbol, location, msg, confidence): 34 | return _MsgBase.__new__( 35 | cls, 36 | msg_id, 37 | symbol, 38 | msg, 39 | msg_id[0], 40 | MSG_TYPES[msg_id[0]], 41 | confidence, 42 | *location 43 | ) 44 | 45 | def format(self, template): 46 | """Format the message according to the given template. 47 | 48 | The template format is the one of the format method : 49 | cf. http://docs.python.org/2/library/string.html#formatstrings 50 | """ 51 | # For some reason, _asdict on derived namedtuples does not work with 52 | # Python 3.4. Needs some investigation. 53 | return template.format(**dict(zip(self._fields, self))) 54 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/isort/utils.py: -------------------------------------------------------------------------------- 1 | import os 2 | import sys 3 | from contextlib import contextmanager 4 | 5 | 6 | def exists_case_sensitive(path): 7 | """ 8 | Returns if the given path exists and also matches the case on Windows. 9 | 10 | When finding files that can be imported, it is important for the cases to match because while 11 | file os.path.exists("module.py") and os.path.exists("MODULE.py") both return True on Windows, Python 12 | can only import using the case of the real file. 13 | """ 14 | result = os.path.exists(path) 15 | if (sys.platform.startswith('win') or sys.platform == 'darwin') and result: 16 | directory, basename = os.path.split(path) 17 | result = basename in os.listdir(directory) 18 | return result 19 | 20 | 21 | @contextmanager 22 | def chdir(path): 23 | """Context manager for changing dir and restoring previous workdir after exit. 24 | """ 25 | curdir = os.getcwd() 26 | os.chdir(path) 27 | try: 28 | yield 29 | finally: 30 | os.chdir(curdir) 31 | 32 | 33 | def union(a, b): 34 | """ Return a list of items that are in `a` or `b` 35 | """ 36 | u = [] 37 | for item in a: 38 | if item not in u: 39 | u.append(item) 40 | for item in b: 41 | if item not in u: 42 | u.append(item) 43 | return u 44 | 45 | 46 | def difference(a, b): 47 | """ Return a list of items from `a` that are not in `b`. 48 | """ 49 | d = [] 50 | for item in a: 51 | if item not in b: 52 | d.append(item) 53 | return d 54 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/webencodings/mklabels.py: -------------------------------------------------------------------------------- 1 | """ 2 | 3 | webencodings.mklabels 4 | ~~~~~~~~~~~~~~~~~~~~~ 5 | 6 | Regenarate the webencodings.labels module. 7 | 8 | :copyright: Copyright 2012 by Simon Sapin 9 | :license: BSD, see LICENSE for details. 10 | 11 | """ 12 | 13 | import json 14 | try: 15 | from urllib import urlopen 16 | except ImportError: 17 | from urllib.request import urlopen 18 | 19 | 20 | def assert_lower(string): 21 | assert string == string.lower() 22 | return string 23 | 24 | 25 | def generate(url): 26 | parts = ['''\ 27 | """ 28 | 29 | webencodings.labels 30 | ~~~~~~~~~~~~~~~~~~~ 31 | 32 | Map encoding labels to their name. 33 | 34 | :copyright: Copyright 2012 by Simon Sapin 35 | :license: BSD, see LICENSE for details. 36 | 37 | """ 38 | 39 | # XXX Do not edit! 40 | # This file is automatically generated by mklabels.py 41 | 42 | LABELS = { 43 | '''] 44 | labels = [ 45 | (repr(assert_lower(label)).lstrip('u'), 46 | repr(encoding['name']).lstrip('u')) 47 | for category in json.loads(urlopen(url).read().decode('ascii')) 48 | for encoding in category['encodings'] 49 | for label in encoding['labels']] 50 | max_len = max(len(label) for label, name in labels) 51 | parts.extend( 52 | ' %s:%s %s,\n' % (label, ' ' * (max_len - len(label)), name) 53 | for label, name in labels) 54 | parts.append('}') 55 | return ''.join(parts) 56 | 57 | 58 | if __name__ == '__main__': 59 | print(generate('http://encoding.spec.whatwg.org/encodings.json')) 60 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/astroid/brain/brain_numpy_core_numeric.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2018-2019 hippo91 2 | 3 | # Licensed under the LGPL: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html 4 | # For details: https://github.com/PyCQA/astroid/blob/master/COPYING.LESSER 5 | 6 | 7 | """Astroid hooks for numpy.core.numeric module.""" 8 | 9 | import functools 10 | import astroid 11 | from brain_numpy_utils import looks_like_numpy_member, infer_numpy_member 12 | 13 | 14 | def numpy_core_numeric_transform(): 15 | return astroid.parse( 16 | """ 17 | # different functions defined in numeric.py 18 | import numpy 19 | def zeros_like(a, dtype=None, order='K', subok=True): return numpy.ndarray((0, 0)) 20 | def ones_like(a, dtype=None, order='K', subok=True): return numpy.ndarray((0, 0)) 21 | def full_like(a, fill_value, dtype=None, order='K', subok=True): return numpy.ndarray((0, 0)) 22 | """ 23 | ) 24 | 25 | 26 | astroid.register_module_extender( 27 | astroid.MANAGER, "numpy.core.numeric", numpy_core_numeric_transform 28 | ) 29 | 30 | 31 | METHODS_TO_BE_INFERRED = { 32 | "ones": """def ones(shape, dtype=None, order='C'): 33 | return numpy.ndarray([0, 0])""" 34 | } 35 | 36 | 37 | for method_name, function_src in METHODS_TO_BE_INFERRED.items(): 38 | inference_function = functools.partial(infer_numpy_member, function_src) 39 | astroid.MANAGER.register_transform( 40 | astroid.Attribute, 41 | astroid.inference_tip(inference_function), 42 | functools.partial(looks_like_numpy_member, method_name), 43 | ) 44 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/progress/spinner.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | # Copyright (c) 2012 Giorgos Verigakis 4 | # 5 | # Permission to use, copy, modify, and distribute this software for any 6 | # purpose with or without fee is hereby granted, provided that the above 7 | # copyright notice and this permission notice appear in all copies. 8 | # 9 | # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | 17 | from __future__ import unicode_literals 18 | from . import Infinite 19 | from .helpers import WriteMixin 20 | 21 | 22 | class Spinner(WriteMixin, Infinite): 23 | message = '' 24 | phases = ('-', '\\', '|', '/') 25 | hide_cursor = True 26 | 27 | def update(self): 28 | i = self.index % len(self.phases) 29 | self.write(self.phases[i]) 30 | 31 | 32 | class PieSpinner(Spinner): 33 | phases = ['◷', '◶', '◵', '◴'] 34 | 35 | 36 | class MoonSpinner(Spinner): 37 | phases = ['◑', '◒', '◐', '◓'] 38 | 39 | 40 | class LineSpinner(Spinner): 41 | phases = ['⎺', '⎻', '⎼', '⎽', '⎼', '⎻'] 42 | 43 | class PixelSpinner(Spinner): 44 | phases = ['⣾','⣷', '⣯', '⣟', '⡿', '⢿', '⣻', '⣽'] 45 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/astroid/_ast.py: -------------------------------------------------------------------------------- 1 | import ast 2 | from collections import namedtuple 3 | from functools import partial 4 | from typing import Optional 5 | import sys 6 | 7 | _ast_py2 = _ast_py3 = None 8 | try: 9 | import typed_ast.ast3 as _ast_py3 10 | import typed_ast.ast27 as _ast_py2 11 | except ImportError: 12 | pass 13 | 14 | 15 | PY38 = sys.version_info[:2] >= (3, 8) 16 | if PY38: 17 | # On Python 3.8, typed_ast was merged back into `ast` 18 | _ast_py3 = ast 19 | 20 | 21 | FunctionType = namedtuple("FunctionType", ["argtypes", "returns"]) 22 | 23 | 24 | def _get_parser_module(parse_python_two: bool = False): 25 | if parse_python_two: 26 | parser_module = _ast_py2 27 | else: 28 | parser_module = _ast_py3 29 | return parser_module or ast 30 | 31 | 32 | def _parse(string: str, parse_python_two: bool = False): 33 | parse_module = _get_parser_module(parse_python_two=parse_python_two) 34 | parse_func = parse_module.parse 35 | if _ast_py3: 36 | if PY38: 37 | parse_func = partial(parse_func, type_comments=True) 38 | if not parse_python_two: 39 | parse_func = partial(parse_func, feature_version=sys.version_info.minor) 40 | return parse_func(string) 41 | 42 | 43 | def parse_function_type_comment(type_comment: str) -> Optional[FunctionType]: 44 | """Given a correct type comment, obtain a FunctionType object""" 45 | if _ast_py3 is None: 46 | return None 47 | 48 | func_type = _ast_py3.parse(type_comment, "", "func_type") 49 | return FunctionType(argtypes=func_type.argtypes, returns=func_type.returns) 50 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_internal/commands/check.py: -------------------------------------------------------------------------------- 1 | import logging 2 | 3 | from pip._internal.cli.base_command import Command 4 | from pip._internal.operations.check import ( 5 | check_package_set, create_package_set_from_installed, 6 | ) 7 | 8 | logger = logging.getLogger(__name__) 9 | 10 | 11 | class CheckCommand(Command): 12 | """Verify installed packages have compatible dependencies.""" 13 | name = 'check' 14 | usage = """ 15 | %prog [options]""" 16 | summary = 'Verify installed packages have compatible dependencies.' 17 | 18 | def run(self, options, args): 19 | package_set, parsing_probs = create_package_set_from_installed() 20 | missing, conflicting = check_package_set(package_set) 21 | 22 | for project_name in missing: 23 | version = package_set[project_name].version 24 | for dependency in missing[project_name]: 25 | logger.info( 26 | "%s %s requires %s, which is not installed.", 27 | project_name, version, dependency[0], 28 | ) 29 | 30 | for project_name in conflicting: 31 | version = package_set[project_name].version 32 | for dep_name, dep_version, req in conflicting[project_name]: 33 | logger.info( 34 | "%s %s has requirement %s, but you have %s %s.", 35 | project_name, version, req, dep_name, dep_version, 36 | ) 37 | 38 | if missing or conflicting or parsing_probs: 39 | return 1 40 | else: 41 | logger.info("No broken requirements found.") 42 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/html5lib/treewalkers/dom.py: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import, division, unicode_literals 2 | 3 | from xml.dom import Node 4 | 5 | from . import base 6 | 7 | 8 | class TreeWalker(base.NonRecursiveTreeWalker): 9 | def getNodeDetails(self, node): 10 | if node.nodeType == Node.DOCUMENT_TYPE_NODE: 11 | return base.DOCTYPE, node.name, node.publicId, node.systemId 12 | 13 | elif node.nodeType in (Node.TEXT_NODE, Node.CDATA_SECTION_NODE): 14 | return base.TEXT, node.nodeValue 15 | 16 | elif node.nodeType == Node.ELEMENT_NODE: 17 | attrs = {} 18 | for attr in list(node.attributes.keys()): 19 | attr = node.getAttributeNode(attr) 20 | if attr.namespaceURI: 21 | attrs[(attr.namespaceURI, attr.localName)] = attr.value 22 | else: 23 | attrs[(None, attr.name)] = attr.value 24 | return (base.ELEMENT, node.namespaceURI, node.nodeName, 25 | attrs, node.hasChildNodes()) 26 | 27 | elif node.nodeType == Node.COMMENT_NODE: 28 | return base.COMMENT, node.nodeValue 29 | 30 | elif node.nodeType in (Node.DOCUMENT_NODE, Node.DOCUMENT_FRAGMENT_NODE): 31 | return (base.DOCUMENT,) 32 | 33 | else: 34 | return base.UNKNOWN, node.nodeType 35 | 36 | def getFirstChild(self, node): 37 | return node.firstChild 38 | 39 | def getNextSibling(self, node): 40 | return node.nextSibling 41 | 42 | def getParentNode(self, node): 43 | return node.parentNode 44 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/astroid/brain/brain_io.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2016 Claudiu Popa 2 | 3 | # Licensed under the LGPL: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html 4 | # For details: https://github.com/PyCQA/astroid/blob/master/COPYING.LESSER 5 | 6 | """Astroid brain hints for some of the _io C objects.""" 7 | 8 | import astroid 9 | 10 | 11 | BUFFERED = {"BufferedWriter", "BufferedReader"} 12 | TextIOWrapper = "TextIOWrapper" 13 | FileIO = "FileIO" 14 | BufferedWriter = "BufferedWriter" 15 | 16 | 17 | def _generic_io_transform(node, name, cls): 18 | """Transform the given name, by adding the given *class* as a member of the node.""" 19 | 20 | io_module = astroid.MANAGER.ast_from_module_name("_io") 21 | attribute_object = io_module[cls] 22 | instance = attribute_object.instantiate_class() 23 | node.locals[name] = [instance] 24 | 25 | 26 | def _transform_text_io_wrapper(node): 27 | # This is not always correct, since it can vary with the type of the descriptor, 28 | # being stdout, stderr or stdin. But we cannot get access to the name of the 29 | # stream, which is why we are using the BufferedWriter class as a default 30 | # value 31 | return _generic_io_transform(node, name="buffer", cls=BufferedWriter) 32 | 33 | 34 | def _transform_buffered(node): 35 | return _generic_io_transform(node, name="raw", cls=FileIO) 36 | 37 | 38 | astroid.MANAGER.register_transform( 39 | astroid.ClassDef, _transform_buffered, lambda node: node.name in BUFFERED 40 | ) 41 | astroid.MANAGER.register_transform( 42 | astroid.ClassDef, 43 | _transform_text_io_wrapper, 44 | lambda node: node.name == TextIOWrapper, 45 | ) 46 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/lazy_object_proxy-1.4.2.dist-info/RECORD: -------------------------------------------------------------------------------- 1 | lazy_object_proxy-1.4.2.dist-info/AUTHORS.rst,sha256=8CeCjODba0S8UczLyZBPhpO_J6NMZ9Hz_fE1A1uNe9Y,278 2 | lazy_object_proxy-1.4.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 3 | lazy_object_proxy-1.4.2.dist-info/LICENSE,sha256=W-1KNkH2bsSNuN7SNqKV8z2H0CkxXzYXZVhUzw1wxUA,1329 4 | lazy_object_proxy-1.4.2.dist-info/METADATA,sha256=2l8_OOovNRV3NJIF4JKoqyNoApIiqNzQeD3ohw2Ch28,4646 5 | lazy_object_proxy-1.4.2.dist-info/RECORD,, 6 | lazy_object_proxy-1.4.2.dist-info/WHEEL,sha256=-fsm0gb9PVx8-iv2WHosVfGYXuprYDDyIVYL9MhJZOo,111 7 | lazy_object_proxy-1.4.2.dist-info/top_level.txt,sha256=UNH-FQB-j_8bYqPz3gD90kHvaC42TQqY0thHSnbaa0k,18 8 | lazy_object_proxy/__init__.py,sha256=lCrccUYAUcaKkQhL8rW0NyRXTmEZkAZ0DjIuDWOHERs,410 9 | lazy_object_proxy/__pycache__/__init__.cpython-37.pyc,, 10 | lazy_object_proxy/__pycache__/_version.cpython-37.pyc,, 11 | lazy_object_proxy/__pycache__/compat.cpython-37.pyc,, 12 | lazy_object_proxy/__pycache__/simple.cpython-37.pyc,, 13 | lazy_object_proxy/__pycache__/slots.cpython-37.pyc,, 14 | lazy_object_proxy/__pycache__/utils.cpython-37.pyc,, 15 | lazy_object_proxy/_version.py,sha256=aIvgmEd5XkU_ZNJosUIUctPd7ZKXP3xXiRi-t7JgIZY,116 16 | lazy_object_proxy/cext.cpython-37m-darwin.so,sha256=3Kc0-5wTTekSHeD40GOvmS-TUtHd6nbm95PLmLI-Vhc,35464 17 | lazy_object_proxy/compat.py,sha256=DY3HbKwbrbeKY6tkXRNRLJ1go6HJb8HUwWqyw3T5g_g,196 18 | lazy_object_proxy/simple.py,sha256=guacy8_QbJeBs7vXpPPVoDVkDNXOZ86xyS1dtAeKvOs,8216 19 | lazy_object_proxy/slots.py,sha256=9DilWUINScpZN26NwmRtscTtaqaEwtCfIoriLq5Nz24,11359 20 | lazy_object_proxy/utils.py,sha256=x4XTrtlp_mDTWO_EOq_ILIOv2Qol8RLMnRm5M8l3OfU,291 21 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pylint/reporters/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2006, 2010, 2012-2014 LOGILAB S.A. (Paris, FRANCE) 3 | # Copyright (c) 2012-2014 Google, Inc. 4 | # Copyright (c) 2012 FELD Boris 5 | # Copyright (c) 2014-2017 Claudiu Popa 6 | # Copyright (c) 2014 Brett Cannon 7 | # Copyright (c) 2014 Ricardo Gemignani 8 | # Copyright (c) 2014 Arun Persaud 9 | # Copyright (c) 2015 Simu Toni 10 | # Copyright (c) 2015 Ionel Cristian Maries 11 | # Copyright (c) 2017 Kári Tristan Helgason 12 | # Copyright (c) 2018 ssolanki 13 | # Copyright (c) 2018 Sushobhit <31987769+sushobhit27@users.noreply.github.com> 14 | # Copyright (c) 2018 Ville Skyttä 15 | 16 | # Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html 17 | # For details: https://github.com/PyCQA/pylint/blob/master/COPYING 18 | 19 | """utilities methods and classes for reporters""" 20 | 21 | 22 | from pylint.reporters.base_reporter import BaseReporter 23 | from pylint.reporters.collecting_reporter import CollectingReporter 24 | from pylint.reporters.json_reporter import JSONReporter 25 | from pylint.reporters.reports_handler_mix_in import ReportsHandlerMixIn 26 | 27 | 28 | def initialize(linter): 29 | """initialize linter with reporters in this package """ 30 | from pylint import utils 31 | 32 | utils.register_plugins(linter, __path__[0]) 33 | 34 | 35 | __all__ = ["BaseReporter", "ReportsHandlerMixIn", "JSONReporter", "CollectingReporter"] 36 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/setuptools/command/bdist_rpm.py: -------------------------------------------------------------------------------- 1 | import distutils.command.bdist_rpm as orig 2 | 3 | 4 | class bdist_rpm(orig.bdist_rpm): 5 | """ 6 | Override the default bdist_rpm behavior to do the following: 7 | 8 | 1. Run egg_info to ensure the name and version are properly calculated. 9 | 2. Always run 'install' using --single-version-externally-managed to 10 | disable eggs in RPM distributions. 11 | 3. Replace dash with underscore in the version numbers for better RPM 12 | compatibility. 13 | """ 14 | 15 | def run(self): 16 | # ensure distro name is up-to-date 17 | self.run_command('egg_info') 18 | 19 | orig.bdist_rpm.run(self) 20 | 21 | def _make_spec_file(self): 22 | version = self.distribution.get_version() 23 | rpmversion = version.replace('-', '_') 24 | spec = orig.bdist_rpm._make_spec_file(self) 25 | line23 = '%define version ' + version 26 | line24 = '%define version ' + rpmversion 27 | spec = [ 28 | line.replace( 29 | "Source0: %{name}-%{version}.tar", 30 | "Source0: %{name}-%{unmangled_version}.tar" 31 | ).replace( 32 | "setup.py install ", 33 | "setup.py install --single-version-externally-managed " 34 | ).replace( 35 | "%setup", 36 | "%setup -n %{name}-%{unmangled_version}" 37 | ).replace(line23, line24) 38 | for line in spec 39 | ] 40 | insert_loc = spec.index(line24) + 1 41 | unmangled_version = "%define unmangled_version " + version 42 | spec.insert(insert_loc, unmangled_version) 43 | return spec 44 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | backports.makefile 4 | ~~~~~~~~~~~~~~~~~~ 5 | 6 | Backports the Python 3 ``socket.makefile`` method for use with anything that 7 | wants to create a "fake" socket object. 8 | """ 9 | import io 10 | 11 | from socket import SocketIO 12 | 13 | 14 | def backport_makefile(self, mode="r", buffering=None, encoding=None, 15 | errors=None, newline=None): 16 | """ 17 | Backport of ``socket.makefile`` from Python 3.5. 18 | """ 19 | if not set(mode) <= {"r", "w", "b"}: 20 | raise ValueError( 21 | "invalid mode %r (only r, w, b allowed)" % (mode,) 22 | ) 23 | writing = "w" in mode 24 | reading = "r" in mode or not writing 25 | assert reading or writing 26 | binary = "b" in mode 27 | rawmode = "" 28 | if reading: 29 | rawmode += "r" 30 | if writing: 31 | rawmode += "w" 32 | raw = SocketIO(self, rawmode) 33 | self._makefile_refs += 1 34 | if buffering is None: 35 | buffering = -1 36 | if buffering < 0: 37 | buffering = io.DEFAULT_BUFFER_SIZE 38 | if buffering == 0: 39 | if not binary: 40 | raise ValueError("unbuffered streams must be binary") 41 | return raw 42 | if reading and writing: 43 | buffer = io.BufferedRWPair(raw, raw, buffering) 44 | elif reading: 45 | buffer = io.BufferedReader(raw, buffering) 46 | else: 47 | assert writing 48 | buffer = io.BufferedWriter(raw, buffering) 49 | if binary: 50 | return buffer 51 | text = io.TextIOWrapper(buffer, encoding, errors, newline) 52 | text.mode = mode 53 | return text 54 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/progress/counter.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | # Copyright (c) 2012 Giorgos Verigakis 4 | # 5 | # Permission to use, copy, modify, and distribute this software for any 6 | # purpose with or without fee is hereby granted, provided that the above 7 | # copyright notice and this permission notice appear in all copies. 8 | # 9 | # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | 17 | from __future__ import unicode_literals 18 | from . import Infinite, Progress 19 | from .helpers import WriteMixin 20 | 21 | 22 | class Counter(WriteMixin, Infinite): 23 | message = '' 24 | hide_cursor = True 25 | 26 | def update(self): 27 | self.write(str(self.index)) 28 | 29 | 30 | class Countdown(WriteMixin, Progress): 31 | hide_cursor = True 32 | 33 | def update(self): 34 | self.write(str(self.remaining)) 35 | 36 | 37 | class Stack(WriteMixin, Progress): 38 | phases = (' ', '▁', '▂', '▃', '▄', '▅', '▆', '▇', '█') 39 | hide_cursor = True 40 | 41 | def update(self): 42 | nphases = len(self.phases) 43 | i = min(nphases - 1, int(self.progress * nphases)) 44 | self.write(self.phases[i]) 45 | 46 | 47 | class Pie(Stack): 48 | phases = ('○', '◔', '◑', '◕', '●') 49 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/chardet/__init__.py: -------------------------------------------------------------------------------- 1 | ######################## BEGIN LICENSE BLOCK ######################## 2 | # This library is free software; you can redistribute it and/or 3 | # modify it under the terms of the GNU Lesser General Public 4 | # License as published by the Free Software Foundation; either 5 | # version 2.1 of the License, or (at your option) any later version. 6 | # 7 | # This library is distributed in the hope that it will be useful, 8 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 10 | # Lesser General Public License for more details. 11 | # 12 | # You should have received a copy of the GNU Lesser General Public 13 | # License along with this library; if not, write to the Free Software 14 | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 15 | # 02110-1301 USA 16 | ######################### END LICENSE BLOCK ######################### 17 | 18 | 19 | from .compat import PY2, PY3 20 | from .universaldetector import UniversalDetector 21 | from .version import __version__, VERSION 22 | 23 | 24 | def detect(byte_str): 25 | """ 26 | Detect the encoding of the given byte string. 27 | 28 | :param byte_str: The byte sequence to examine. 29 | :type byte_str: ``bytes`` or ``bytearray`` 30 | """ 31 | if not isinstance(byte_str, bytearray): 32 | if not isinstance(byte_str, bytes): 33 | raise TypeError('Expected object of type bytes or bytearray, got: ' 34 | '{0}'.format(type(byte_str))) 35 | else: 36 | byte_str = bytearray(byte_str) 37 | detector = UniversalDetector() 38 | detector.feed(byte_str) 39 | return detector.close() 40 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/packaging/_structures.py: -------------------------------------------------------------------------------- 1 | # This file is dual licensed under the terms of the Apache License, Version 2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository 3 | # for complete details. 4 | from __future__ import absolute_import, division, print_function 5 | 6 | 7 | class Infinity(object): 8 | def __repr__(self): 9 | return "Infinity" 10 | 11 | def __hash__(self): 12 | return hash(repr(self)) 13 | 14 | def __lt__(self, other): 15 | return False 16 | 17 | def __le__(self, other): 18 | return False 19 | 20 | def __eq__(self, other): 21 | return isinstance(other, self.__class__) 22 | 23 | def __ne__(self, other): 24 | return not isinstance(other, self.__class__) 25 | 26 | def __gt__(self, other): 27 | return True 28 | 29 | def __ge__(self, other): 30 | return True 31 | 32 | def __neg__(self): 33 | return NegativeInfinity 34 | 35 | 36 | Infinity = Infinity() 37 | 38 | 39 | class NegativeInfinity(object): 40 | def __repr__(self): 41 | return "-Infinity" 42 | 43 | def __hash__(self): 44 | return hash(repr(self)) 45 | 46 | def __lt__(self, other): 47 | return True 48 | 49 | def __le__(self, other): 50 | return True 51 | 52 | def __eq__(self, other): 53 | return isinstance(other, self.__class__) 54 | 55 | def __ne__(self, other): 56 | return not isinstance(other, self.__class__) 57 | 58 | def __gt__(self, other): 59 | return False 60 | 61 | def __ge__(self, other): 62 | return False 63 | 64 | def __neg__(self): 65 | return Infinity 66 | 67 | 68 | NegativeInfinity = NegativeInfinity() 69 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/setuptools/_vendor/packaging/_structures.py: -------------------------------------------------------------------------------- 1 | # This file is dual licensed under the terms of the Apache License, Version 2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository 3 | # for complete details. 4 | from __future__ import absolute_import, division, print_function 5 | 6 | 7 | class Infinity(object): 8 | 9 | def __repr__(self): 10 | return "Infinity" 11 | 12 | def __hash__(self): 13 | return hash(repr(self)) 14 | 15 | def __lt__(self, other): 16 | return False 17 | 18 | def __le__(self, other): 19 | return False 20 | 21 | def __eq__(self, other): 22 | return isinstance(other, self.__class__) 23 | 24 | def __ne__(self, other): 25 | return not isinstance(other, self.__class__) 26 | 27 | def __gt__(self, other): 28 | return True 29 | 30 | def __ge__(self, other): 31 | return True 32 | 33 | def __neg__(self): 34 | return NegativeInfinity 35 | 36 | Infinity = Infinity() 37 | 38 | 39 | class NegativeInfinity(object): 40 | 41 | def __repr__(self): 42 | return "-Infinity" 43 | 44 | def __hash__(self): 45 | return hash(repr(self)) 46 | 47 | def __lt__(self, other): 48 | return True 49 | 50 | def __le__(self, other): 51 | return True 52 | 53 | def __eq__(self, other): 54 | return isinstance(other, self.__class__) 55 | 56 | def __ne__(self, other): 57 | return not isinstance(other, self.__class__) 58 | 59 | def __gt__(self, other): 60 | return False 61 | 62 | def __ge__(self, other): 63 | return False 64 | 65 | def __neg__(self): 66 | return Infinity 67 | 68 | NegativeInfinity = NegativeInfinity() 69 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pkg_resources/_vendor/packaging/_structures.py: -------------------------------------------------------------------------------- 1 | # This file is dual licensed under the terms of the Apache License, Version 2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository 3 | # for complete details. 4 | from __future__ import absolute_import, division, print_function 5 | 6 | 7 | class Infinity(object): 8 | 9 | def __repr__(self): 10 | return "Infinity" 11 | 12 | def __hash__(self): 13 | return hash(repr(self)) 14 | 15 | def __lt__(self, other): 16 | return False 17 | 18 | def __le__(self, other): 19 | return False 20 | 21 | def __eq__(self, other): 22 | return isinstance(other, self.__class__) 23 | 24 | def __ne__(self, other): 25 | return not isinstance(other, self.__class__) 26 | 27 | def __gt__(self, other): 28 | return True 29 | 30 | def __ge__(self, other): 31 | return True 32 | 33 | def __neg__(self): 34 | return NegativeInfinity 35 | 36 | Infinity = Infinity() 37 | 38 | 39 | class NegativeInfinity(object): 40 | 41 | def __repr__(self): 42 | return "-Infinity" 43 | 44 | def __hash__(self): 45 | return hash(repr(self)) 46 | 47 | def __lt__(self, other): 48 | return True 49 | 50 | def __le__(self, other): 51 | return True 52 | 53 | def __eq__(self, other): 54 | return isinstance(other, self.__class__) 55 | 56 | def __ne__(self, other): 57 | return not isinstance(other, self.__class__) 58 | 59 | def __gt__(self, other): 60 | return False 61 | 62 | def __ge__(self, other): 63 | return False 64 | 65 | def __neg__(self): 66 | return Infinity 67 | 68 | NegativeInfinity = NegativeInfinity() 69 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/packaging/utils.py: -------------------------------------------------------------------------------- 1 | # This file is dual licensed under the terms of the Apache License, Version 2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository 3 | # for complete details. 4 | from __future__ import absolute_import, division, print_function 5 | 6 | import re 7 | 8 | from .version import InvalidVersion, Version 9 | 10 | 11 | _canonicalize_regex = re.compile(r"[-_.]+") 12 | 13 | 14 | def canonicalize_name(name): 15 | # This is taken from PEP 503. 16 | return _canonicalize_regex.sub("-", name).lower() 17 | 18 | 19 | def canonicalize_version(version): 20 | """ 21 | This is very similar to Version.__str__, but has one subtle differences 22 | with the way it handles the release segment. 23 | """ 24 | 25 | try: 26 | version = Version(version) 27 | except InvalidVersion: 28 | # Legacy versions cannot be normalized 29 | return version 30 | 31 | parts = [] 32 | 33 | # Epoch 34 | if version.epoch != 0: 35 | parts.append("{0}!".format(version.epoch)) 36 | 37 | # Release segment 38 | # NB: This strips trailing '.0's to normalize 39 | parts.append(re.sub(r"(\.0)+$", "", ".".join(str(x) for x in version.release))) 40 | 41 | # Pre-release 42 | if version.pre is not None: 43 | parts.append("".join(str(x) for x in version.pre)) 44 | 45 | # Post-release 46 | if version.post is not None: 47 | parts.append(".post{0}".format(version.post)) 48 | 49 | # Development release 50 | if version.dev is not None: 51 | parts.append(".dev{0}".format(version.dev)) 52 | 53 | # Local version segment 54 | if version.local is not None: 55 | parts.append("+{0}".format(version.local)) 56 | 57 | return "".join(parts) 58 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/astroid/brain/brain_dataclasses.py: -------------------------------------------------------------------------------- 1 | # Licensed under the LGPL: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html 2 | # For details: https://github.com/PyCQA/astroid/blob/master/COPYING.LESSER 3 | """ 4 | Astroid hook for the dataclasses library 5 | """ 6 | 7 | import astroid 8 | from astroid import MANAGER 9 | 10 | 11 | DATACLASSES_DECORATORS = frozenset(("dataclasses.dataclass", "dataclass")) 12 | 13 | 14 | def is_decorated_with_dataclass(node, decorator_names=DATACLASSES_DECORATORS): 15 | """Return True if a decorated node has a `dataclass` decorator applied.""" 16 | if not node.decorators: 17 | return False 18 | for decorator_attribute in node.decorators.nodes: 19 | if isinstance(decorator_attribute, astroid.Call): # decorator with arguments 20 | decorator_attribute = decorator_attribute.func 21 | if decorator_attribute.as_string() in decorator_names: 22 | return True 23 | return False 24 | 25 | 26 | def dataclass_transform(node): 27 | """Rewrite a dataclass to be easily understood by pylint""" 28 | 29 | for assign_node in node.body: 30 | if not isinstance(assign_node, (astroid.AnnAssign, astroid.Assign)): 31 | continue 32 | 33 | targets = ( 34 | assign_node.targets 35 | if hasattr(assign_node, "targets") 36 | else [assign_node.target] 37 | ) 38 | for target in targets: 39 | rhs_node = astroid.Unknown( 40 | lineno=assign_node.lineno, 41 | col_offset=assign_node.col_offset, 42 | parent=assign_node, 43 | ) 44 | node.instance_attrs[target.name] = [rhs_node] 45 | node.locals[target.name] = [rhs_node] 46 | 47 | 48 | MANAGER.register_transform( 49 | astroid.ClassDef, dataclass_transform, is_decorated_with_dataclass 50 | ) 51 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/astroid/brain/brain_numpy_utils.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2018-2019 hippo91 2 | 3 | # Licensed under the LGPL: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html 4 | # For details: https://github.com/PyCQA/astroid/blob/master/COPYING.LESSER 5 | 6 | 7 | """Different utilities for the numpy brains""" 8 | 9 | 10 | import astroid 11 | 12 | 13 | def infer_numpy_member(src, node, context=None): 14 | node = astroid.extract_node(src) 15 | return node.infer(context=context) 16 | 17 | 18 | def _is_a_numpy_module(node: astroid.node_classes.Name) -> bool: 19 | """ 20 | Returns True if the node is a representation of a numpy module. 21 | 22 | For example in : 23 | import numpy as np 24 | x = np.linspace(1, 2) 25 | The node is a representation of the numpy module. 26 | 27 | :param node: node to test 28 | :return: True if the node is a representation of the numpy module. 29 | """ 30 | module_nickname = node.name 31 | potential_import_target = [ 32 | x for x in node.lookup(module_nickname)[1] if isinstance(x, astroid.Import) 33 | ] 34 | for target in potential_import_target: 35 | if ("numpy", module_nickname) in target.names: 36 | return True 37 | return False 38 | 39 | 40 | def looks_like_numpy_member( 41 | member_name: str, node: astroid.node_classes.NodeNG 42 | ) -> bool: 43 | """ 44 | Returns True if the node is a member of numpy whose 45 | name is member_name. 46 | 47 | :param member_name: name of the member 48 | :param node: node to test 49 | :return: True if the node is a member of numpy 50 | """ 51 | return ( 52 | isinstance(node, astroid.Attribute) 53 | and node.attrname == member_name 54 | and isinstance(node.expr, astroid.Name) 55 | and _is_a_numpy_module(node.expr) 56 | ) 57 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_internal/commands/hash.py: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import 2 | 3 | import hashlib 4 | import logging 5 | import sys 6 | 7 | from pip._internal.cli.base_command import Command 8 | from pip._internal.cli.status_codes import ERROR 9 | from pip._internal.utils.hashes import FAVORITE_HASH, STRONG_HASHES 10 | from pip._internal.utils.misc import read_chunks 11 | 12 | logger = logging.getLogger(__name__) 13 | 14 | 15 | class HashCommand(Command): 16 | """ 17 | Compute a hash of a local package archive. 18 | 19 | These can be used with --hash in a requirements file to do repeatable 20 | installs. 21 | 22 | """ 23 | name = 'hash' 24 | usage = '%prog [options] ...' 25 | summary = 'Compute hashes of package archives.' 26 | ignore_require_venv = True 27 | 28 | def __init__(self, *args, **kw): 29 | super(HashCommand, self).__init__(*args, **kw) 30 | self.cmd_opts.add_option( 31 | '-a', '--algorithm', 32 | dest='algorithm', 33 | choices=STRONG_HASHES, 34 | action='store', 35 | default=FAVORITE_HASH, 36 | help='The hash algorithm to use: one of %s' % 37 | ', '.join(STRONG_HASHES)) 38 | self.parser.insert_option_group(0, self.cmd_opts) 39 | 40 | def run(self, options, args): 41 | if not args: 42 | self.parser.print_usage(sys.stderr) 43 | return ERROR 44 | 45 | algorithm = options.algorithm 46 | for path in args: 47 | logger.info('%s:\n--hash=%s:%s', 48 | path, algorithm, _hash_of_file(path, algorithm)) 49 | 50 | 51 | def _hash_of_file(path, algorithm): 52 | """Return the hash digest of a file.""" 53 | with open(path, 'rb') as archive: 54 | hash = hashlib.new(algorithm) 55 | for chunk in read_chunks(archive): 56 | hash.update(chunk) 57 | return hash.hexdigest() 58 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/chardet/euctwprober.py: -------------------------------------------------------------------------------- 1 | ######################## BEGIN LICENSE BLOCK ######################## 2 | # The Original Code is mozilla.org code. 3 | # 4 | # The Initial Developer of the Original Code is 5 | # Netscape Communications Corporation. 6 | # Portions created by the Initial Developer are Copyright (C) 1998 7 | # the Initial Developer. All Rights Reserved. 8 | # 9 | # Contributor(s): 10 | # Mark Pilgrim - port to Python 11 | # 12 | # This library is free software; you can redistribute it and/or 13 | # modify it under the terms of the GNU Lesser General Public 14 | # License as published by the Free Software Foundation; either 15 | # version 2.1 of the License, or (at your option) any later version. 16 | # 17 | # This library is distributed in the hope that it will be useful, 18 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 20 | # Lesser General Public License for more details. 21 | # 22 | # You should have received a copy of the GNU Lesser General Public 23 | # License along with this library; if not, write to the Free Software 24 | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 25 | # 02110-1301 USA 26 | ######################### END LICENSE BLOCK ######################### 27 | 28 | from .mbcharsetprober import MultiByteCharSetProber 29 | from .codingstatemachine import CodingStateMachine 30 | from .chardistribution import EUCTWDistributionAnalysis 31 | from .mbcssm import EUCTW_SM_MODEL 32 | 33 | class EUCTWProber(MultiByteCharSetProber): 34 | def __init__(self): 35 | super(EUCTWProber, self).__init__() 36 | self.coding_sm = CodingStateMachine(EUCTW_SM_MODEL) 37 | self.distribution_analyzer = EUCTWDistributionAnalysis() 38 | self.reset() 39 | 40 | @property 41 | def charset_name(self): 42 | return "EUC-TW" 43 | 44 | @property 45 | def language(self): 46 | return "Taiwan" 47 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/chardet/euckrprober.py: -------------------------------------------------------------------------------- 1 | ######################## BEGIN LICENSE BLOCK ######################## 2 | # The Original Code is mozilla.org code. 3 | # 4 | # The Initial Developer of the Original Code is 5 | # Netscape Communications Corporation. 6 | # Portions created by the Initial Developer are Copyright (C) 1998 7 | # the Initial Developer. All Rights Reserved. 8 | # 9 | # Contributor(s): 10 | # Mark Pilgrim - port to Python 11 | # 12 | # This library is free software; you can redistribute it and/or 13 | # modify it under the terms of the GNU Lesser General Public 14 | # License as published by the Free Software Foundation; either 15 | # version 2.1 of the License, or (at your option) any later version. 16 | # 17 | # This library is distributed in the hope that it will be useful, 18 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 20 | # Lesser General Public License for more details. 21 | # 22 | # You should have received a copy of the GNU Lesser General Public 23 | # License along with this library; if not, write to the Free Software 24 | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 25 | # 02110-1301 USA 26 | ######################### END LICENSE BLOCK ######################### 27 | 28 | from .mbcharsetprober import MultiByteCharSetProber 29 | from .codingstatemachine import CodingStateMachine 30 | from .chardistribution import EUCKRDistributionAnalysis 31 | from .mbcssm import EUCKR_SM_MODEL 32 | 33 | 34 | class EUCKRProber(MultiByteCharSetProber): 35 | def __init__(self): 36 | super(EUCKRProber, self).__init__() 37 | self.coding_sm = CodingStateMachine(EUCKR_SM_MODEL) 38 | self.distribution_analyzer = EUCKRDistributionAnalysis() 39 | self.reset() 40 | 41 | @property 42 | def charset_name(self): 43 | return "EUC-KR" 44 | 45 | @property 46 | def language(self): 47 | return "Korean" 48 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/chardet/gb2312prober.py: -------------------------------------------------------------------------------- 1 | ######################## BEGIN LICENSE BLOCK ######################## 2 | # The Original Code is mozilla.org code. 3 | # 4 | # The Initial Developer of the Original Code is 5 | # Netscape Communications Corporation. 6 | # Portions created by the Initial Developer are Copyright (C) 1998 7 | # the Initial Developer. All Rights Reserved. 8 | # 9 | # Contributor(s): 10 | # Mark Pilgrim - port to Python 11 | # 12 | # This library is free software; you can redistribute it and/or 13 | # modify it under the terms of the GNU Lesser General Public 14 | # License as published by the Free Software Foundation; either 15 | # version 2.1 of the License, or (at your option) any later version. 16 | # 17 | # This library is distributed in the hope that it will be useful, 18 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 20 | # Lesser General Public License for more details. 21 | # 22 | # You should have received a copy of the GNU Lesser General Public 23 | # License along with this library; if not, write to the Free Software 24 | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 25 | # 02110-1301 USA 26 | ######################### END LICENSE BLOCK ######################### 27 | 28 | from .mbcharsetprober import MultiByteCharSetProber 29 | from .codingstatemachine import CodingStateMachine 30 | from .chardistribution import GB2312DistributionAnalysis 31 | from .mbcssm import GB2312_SM_MODEL 32 | 33 | class GB2312Prober(MultiByteCharSetProber): 34 | def __init__(self): 35 | super(GB2312Prober, self).__init__() 36 | self.coding_sm = CodingStateMachine(GB2312_SM_MODEL) 37 | self.distribution_analyzer = GB2312DistributionAnalysis() 38 | self.reset() 39 | 40 | @property 41 | def charset_name(self): 42 | return "GB2312" 43 | 44 | @property 45 | def language(self): 46 | return "Chinese" 47 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/chardet/big5prober.py: -------------------------------------------------------------------------------- 1 | ######################## BEGIN LICENSE BLOCK ######################## 2 | # The Original Code is Mozilla Communicator client code. 3 | # 4 | # The Initial Developer of the Original Code is 5 | # Netscape Communications Corporation. 6 | # Portions created by the Initial Developer are Copyright (C) 1998 7 | # the Initial Developer. All Rights Reserved. 8 | # 9 | # Contributor(s): 10 | # Mark Pilgrim - port to Python 11 | # 12 | # This library is free software; you can redistribute it and/or 13 | # modify it under the terms of the GNU Lesser General Public 14 | # License as published by the Free Software Foundation; either 15 | # version 2.1 of the License, or (at your option) any later version. 16 | # 17 | # This library is distributed in the hope that it will be useful, 18 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 20 | # Lesser General Public License for more details. 21 | # 22 | # You should have received a copy of the GNU Lesser General Public 23 | # License along with this library; if not, write to the Free Software 24 | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 25 | # 02110-1301 USA 26 | ######################### END LICENSE BLOCK ######################### 27 | 28 | from .mbcharsetprober import MultiByteCharSetProber 29 | from .codingstatemachine import CodingStateMachine 30 | from .chardistribution import Big5DistributionAnalysis 31 | from .mbcssm import BIG5_SM_MODEL 32 | 33 | 34 | class Big5Prober(MultiByteCharSetProber): 35 | def __init__(self): 36 | super(Big5Prober, self).__init__() 37 | self.coding_sm = CodingStateMachine(BIG5_SM_MODEL) 38 | self.distribution_analyzer = Big5DistributionAnalysis() 39 | self.reset() 40 | 41 | @property 42 | def charset_name(self): 43 | return "Big5" 44 | 45 | @property 46 | def language(self): 47 | return "Chinese" 48 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/html5lib/treeadapters/genshi.py: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import, division, unicode_literals 2 | 3 | from genshi.core import QName, Attrs 4 | from genshi.core import START, END, TEXT, COMMENT, DOCTYPE 5 | 6 | 7 | def to_genshi(walker): 8 | """Convert a tree to a genshi tree 9 | 10 | :arg walker: the treewalker to use to walk the tree to convert it 11 | 12 | :returns: generator of genshi nodes 13 | 14 | """ 15 | text = [] 16 | for token in walker: 17 | type = token["type"] 18 | if type in ("Characters", "SpaceCharacters"): 19 | text.append(token["data"]) 20 | elif text: 21 | yield TEXT, "".join(text), (None, -1, -1) 22 | text = [] 23 | 24 | if type in ("StartTag", "EmptyTag"): 25 | if token["namespace"]: 26 | name = "{%s}%s" % (token["namespace"], token["name"]) 27 | else: 28 | name = token["name"] 29 | attrs = Attrs([(QName("{%s}%s" % attr if attr[0] is not None else attr[1]), value) 30 | for attr, value in token["data"].items()]) 31 | yield (START, (QName(name), attrs), (None, -1, -1)) 32 | if type == "EmptyTag": 33 | type = "EndTag" 34 | 35 | if type == "EndTag": 36 | if token["namespace"]: 37 | name = "{%s}%s" % (token["namespace"], token["name"]) 38 | else: 39 | name = token["name"] 40 | 41 | yield END, QName(name), (None, -1, -1) 42 | 43 | elif type == "Comment": 44 | yield COMMENT, token["data"], (None, -1, -1) 45 | 46 | elif type == "Doctype": 47 | yield DOCTYPE, (token["name"], token["publicId"], 48 | token["systemId"]), (None, -1, -1) 49 | 50 | else: 51 | pass # FIXME: What to do? 52 | 53 | if text: 54 | yield TEXT, "".join(text), (None, -1, -1) 55 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/pytoml/utils.py: -------------------------------------------------------------------------------- 1 | import datetime 2 | import re 3 | 4 | rfc3339_re = re.compile(r'(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(\.\d+)?(?:Z|([+-]\d{2}):(\d{2}))') 5 | 6 | def parse_rfc3339(v): 7 | m = rfc3339_re.match(v) 8 | if not m or m.group(0) != v: 9 | return None 10 | return parse_rfc3339_re(m) 11 | 12 | def parse_rfc3339_re(m): 13 | r = map(int, m.groups()[:6]) 14 | if m.group(7): 15 | micro = float(m.group(7)) 16 | else: 17 | micro = 0 18 | 19 | if m.group(8): 20 | g = int(m.group(8), 10) * 60 + int(m.group(9), 10) 21 | tz = _TimeZone(datetime.timedelta(0, g * 60)) 22 | else: 23 | tz = _TimeZone(datetime.timedelta(0, 0)) 24 | 25 | y, m, d, H, M, S = r 26 | return datetime.datetime(y, m, d, H, M, S, int(micro * 1000000), tz) 27 | 28 | 29 | def format_rfc3339(v): 30 | offs = v.utcoffset() 31 | offs = int(offs.total_seconds()) // 60 if offs is not None else 0 32 | 33 | if offs == 0: 34 | suffix = 'Z' 35 | else: 36 | if offs > 0: 37 | suffix = '+' 38 | else: 39 | suffix = '-' 40 | offs = -offs 41 | suffix = '{0}{1:02}:{2:02}'.format(suffix, offs // 60, offs % 60) 42 | 43 | if v.microsecond: 44 | return v.strftime('%Y-%m-%dT%H:%M:%S.%f') + suffix 45 | else: 46 | return v.strftime('%Y-%m-%dT%H:%M:%S') + suffix 47 | 48 | class _TimeZone(datetime.tzinfo): 49 | def __init__(self, offset): 50 | self._offset = offset 51 | 52 | def utcoffset(self, dt): 53 | return self._offset 54 | 55 | def dst(self, dt): 56 | return None 57 | 58 | def tzname(self, dt): 59 | m = self._offset.total_seconds() // 60 60 | if m < 0: 61 | res = '-' 62 | m = -m 63 | else: 64 | res = '+' 65 | h = m // 60 66 | m = m - h * 60 67 | return '{}{:.02}{:.02}'.format(res, h, m) 68 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/msgpack/__init__.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | from pip._vendor.msgpack._version import version 3 | from pip._vendor.msgpack.exceptions import * 4 | 5 | from collections import namedtuple 6 | 7 | 8 | class ExtType(namedtuple('ExtType', 'code data')): 9 | """ExtType represents ext type in msgpack.""" 10 | def __new__(cls, code, data): 11 | if not isinstance(code, int): 12 | raise TypeError("code must be int") 13 | if not isinstance(data, bytes): 14 | raise TypeError("data must be bytes") 15 | if not 0 <= code <= 127: 16 | raise ValueError("code must be 0~127") 17 | return super(ExtType, cls).__new__(cls, code, data) 18 | 19 | 20 | import os 21 | if os.environ.get('MSGPACK_PUREPYTHON'): 22 | from pip._vendor.msgpack.fallback import Packer, unpackb, Unpacker 23 | else: 24 | try: 25 | from pip._vendor.msgpack._packer import Packer 26 | from pip._vendor.msgpack._unpacker import unpackb, Unpacker 27 | except ImportError: 28 | from pip._vendor.msgpack.fallback import Packer, unpackb, Unpacker 29 | 30 | 31 | def pack(o, stream, **kwargs): 32 | """ 33 | Pack object `o` and write it to `stream` 34 | 35 | See :class:`Packer` for options. 36 | """ 37 | packer = Packer(**kwargs) 38 | stream.write(packer.pack(o)) 39 | 40 | 41 | def packb(o, **kwargs): 42 | """ 43 | Pack object `o` and return packed bytes 44 | 45 | See :class:`Packer` for options. 46 | """ 47 | return Packer(**kwargs).pack(o) 48 | 49 | 50 | def unpack(stream, **kwargs): 51 | """ 52 | Unpack an object from `stream`. 53 | 54 | Raises `ExtraData` when `stream` contains extra bytes. 55 | See :class:`Unpacker` for options. 56 | """ 57 | data = stream.read() 58 | return unpackb(data, **kwargs) 59 | 60 | 61 | # alias for compatibility to simplejson/marshal/pickle. 62 | load = unpack 63 | loads = unpackb 64 | 65 | dump = pack 66 | dumps = packb 67 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/setuptools/extension.py: -------------------------------------------------------------------------------- 1 | import re 2 | import functools 3 | import distutils.core 4 | import distutils.errors 5 | import distutils.extension 6 | 7 | from setuptools.extern.six.moves import map 8 | 9 | from .monkey import get_unpatched 10 | 11 | 12 | def _have_cython(): 13 | """ 14 | Return True if Cython can be imported. 15 | """ 16 | cython_impl = 'Cython.Distutils.build_ext' 17 | try: 18 | # from (cython_impl) import build_ext 19 | __import__(cython_impl, fromlist=['build_ext']).build_ext 20 | return True 21 | except Exception: 22 | pass 23 | return False 24 | 25 | 26 | # for compatibility 27 | have_pyrex = _have_cython 28 | 29 | _Extension = get_unpatched(distutils.core.Extension) 30 | 31 | 32 | class Extension(_Extension): 33 | """Extension that uses '.c' files in place of '.pyx' files""" 34 | 35 | def __init__(self, name, sources, *args, **kw): 36 | # The *args is needed for compatibility as calls may use positional 37 | # arguments. py_limited_api may be set only via keyword. 38 | self.py_limited_api = kw.pop("py_limited_api", False) 39 | _Extension.__init__(self, name, sources, *args, **kw) 40 | 41 | def _convert_pyx_sources_to_lang(self): 42 | """ 43 | Replace sources with .pyx extensions to sources with the target 44 | language extension. This mechanism allows language authors to supply 45 | pre-converted sources but to prefer the .pyx sources. 46 | """ 47 | if _have_cython(): 48 | # the build has Cython, so allow it to compile the .pyx files 49 | return 50 | lang = self.language or '' 51 | target_ext = '.cpp' if lang.lower() == 'c++' else '.c' 52 | sub = functools.partial(re.sub, '.pyx$', target_ext) 53 | self.sources = list(map(sub, self.sources)) 54 | 55 | 56 | class Library(Extension): 57 | """Just like a regular Extension, but built as a library instead""" 58 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/isort/natural.py: -------------------------------------------------------------------------------- 1 | """isort/natural.py. 2 | 3 | Enables sorting strings that contain numbers naturally 4 | 5 | usage: 6 | natural.nsorted(list) 7 | 8 | Copyright (C) 2013 Timothy Edmund Crosley 9 | 10 | Implementation originally from @HappyLeapSecond stack overflow user in response to: 11 | https://stackoverflow.com/questions/5967500/how-to-correctly-sort-a-string-with-a-number-inside 12 | 13 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated 14 | documentation files (the "Software"), to deal in the Software without restriction, including without limitation 15 | the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and 16 | to permit persons to whom the Software is furnished to do so, subject to the following conditions: 17 | 18 | The above copyright notice and this permission notice shall be included in all copies or 19 | substantial portions of the Software. 20 | 21 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED 22 | TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 23 | THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF 24 | CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 25 | OTHER DEALINGS IN THE SOFTWARE. 26 | 27 | """ 28 | import re 29 | 30 | 31 | def _atoi(text): 32 | return int(text) if text.isdigit() else text 33 | 34 | 35 | def _natural_keys(text): 36 | return [_atoi(c) for c in re.split(r'(\d+)', text)] 37 | 38 | 39 | def nsorted(to_sort, key=None): 40 | """Returns a naturally sorted list""" 41 | if key is None: 42 | key_callback = _natural_keys 43 | else: 44 | def key_callback(item): 45 | return _natural_keys(key(item)) 46 | 47 | return sorted(to_sort, key=key_callback) 48 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/idna/intranges.py: -------------------------------------------------------------------------------- 1 | """ 2 | Given a list of integers, made up of (hopefully) a small number of long runs 3 | of consecutive integers, compute a representation of the form 4 | ((start1, end1), (start2, end2) ...). Then answer the question "was x present 5 | in the original list?" in time O(log(# runs)). 6 | """ 7 | 8 | import bisect 9 | 10 | def intranges_from_list(list_): 11 | """Represent a list of integers as a sequence of ranges: 12 | ((start_0, end_0), (start_1, end_1), ...), such that the original 13 | integers are exactly those x such that start_i <= x < end_i for some i. 14 | 15 | Ranges are encoded as single integers (start << 32 | end), not as tuples. 16 | """ 17 | 18 | sorted_list = sorted(list_) 19 | ranges = [] 20 | last_write = -1 21 | for i in range(len(sorted_list)): 22 | if i+1 < len(sorted_list): 23 | if sorted_list[i] == sorted_list[i+1]-1: 24 | continue 25 | current_range = sorted_list[last_write+1:i+1] 26 | ranges.append(_encode_range(current_range[0], current_range[-1] + 1)) 27 | last_write = i 28 | 29 | return tuple(ranges) 30 | 31 | def _encode_range(start, end): 32 | return (start << 32) | end 33 | 34 | def _decode_range(r): 35 | return (r >> 32), (r & ((1 << 32) - 1)) 36 | 37 | 38 | def intranges_contain(int_, ranges): 39 | """Determine if `int_` falls into one of the ranges in `ranges`.""" 40 | tuple_ = _encode_range(int_, 0) 41 | pos = bisect.bisect_left(ranges, tuple_) 42 | # we could be immediately ahead of a tuple (start, end) 43 | # with start < int_ <= end 44 | if pos > 0: 45 | left, right = _decode_range(ranges[pos-1]) 46 | if left <= int_ < right: 47 | return True 48 | # or we could be immediately behind a tuple (int_, end) 49 | if pos < len(ranges): 50 | left, _ = _decode_range(ranges[pos]) 51 | if left == int_: 52 | return True 53 | return False 54 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/html5lib/treeadapters/sax.py: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import, division, unicode_literals 2 | 3 | from xml.sax.xmlreader import AttributesNSImpl 4 | 5 | from ..constants import adjustForeignAttributes, unadjustForeignAttributes 6 | 7 | prefix_mapping = {} 8 | for prefix, localName, namespace in adjustForeignAttributes.values(): 9 | if prefix is not None: 10 | prefix_mapping[prefix] = namespace 11 | 12 | 13 | def to_sax(walker, handler): 14 | """Call SAX-like content handler based on treewalker walker 15 | 16 | :arg walker: the treewalker to use to walk the tree to convert it 17 | 18 | :arg handler: SAX handler to use 19 | 20 | """ 21 | handler.startDocument() 22 | for prefix, namespace in prefix_mapping.items(): 23 | handler.startPrefixMapping(prefix, namespace) 24 | 25 | for token in walker: 26 | type = token["type"] 27 | if type == "Doctype": 28 | continue 29 | elif type in ("StartTag", "EmptyTag"): 30 | attrs = AttributesNSImpl(token["data"], 31 | unadjustForeignAttributes) 32 | handler.startElementNS((token["namespace"], token["name"]), 33 | token["name"], 34 | attrs) 35 | if type == "EmptyTag": 36 | handler.endElementNS((token["namespace"], token["name"]), 37 | token["name"]) 38 | elif type == "EndTag": 39 | handler.endElementNS((token["namespace"], token["name"]), 40 | token["name"]) 41 | elif type in ("Characters", "SpaceCharacters"): 42 | handler.characters(token["data"]) 43 | elif type == "Comment": 44 | pass 45 | else: 46 | assert False, "Unknown token type" 47 | 48 | for prefix, namespace in prefix_mapping.items(): 49 | handler.endPrefixMapping(prefix) 50 | handler.endDocument() 51 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/chardet/enums.py: -------------------------------------------------------------------------------- 1 | """ 2 | All of the Enums that are used throughout the chardet package. 3 | 4 | :author: Dan Blanchard (dan.blanchard@gmail.com) 5 | """ 6 | 7 | 8 | class InputState(object): 9 | """ 10 | This enum represents the different states a universal detector can be in. 11 | """ 12 | PURE_ASCII = 0 13 | ESC_ASCII = 1 14 | HIGH_BYTE = 2 15 | 16 | 17 | class LanguageFilter(object): 18 | """ 19 | This enum represents the different language filters we can apply to a 20 | ``UniversalDetector``. 21 | """ 22 | CHINESE_SIMPLIFIED = 0x01 23 | CHINESE_TRADITIONAL = 0x02 24 | JAPANESE = 0x04 25 | KOREAN = 0x08 26 | NON_CJK = 0x10 27 | ALL = 0x1F 28 | CHINESE = CHINESE_SIMPLIFIED | CHINESE_TRADITIONAL 29 | CJK = CHINESE | JAPANESE | KOREAN 30 | 31 | 32 | class ProbingState(object): 33 | """ 34 | This enum represents the different states a prober can be in. 35 | """ 36 | DETECTING = 0 37 | FOUND_IT = 1 38 | NOT_ME = 2 39 | 40 | 41 | class MachineState(object): 42 | """ 43 | This enum represents the different states a state machine can be in. 44 | """ 45 | START = 0 46 | ERROR = 1 47 | ITS_ME = 2 48 | 49 | 50 | class SequenceLikelihood(object): 51 | """ 52 | This enum represents the likelihood of a character following the previous one. 53 | """ 54 | NEGATIVE = 0 55 | UNLIKELY = 1 56 | LIKELY = 2 57 | POSITIVE = 3 58 | 59 | @classmethod 60 | def get_num_categories(cls): 61 | """:returns: The number of likelihood categories in the enum.""" 62 | return 4 63 | 64 | 65 | class CharacterCategory(object): 66 | """ 67 | This enum represents the different categories language models for 68 | ``SingleByteCharsetProber`` put characters into. 69 | 70 | Anything less than CONTROL is considered a letter. 71 | """ 72 | UNDEFINED = 255 73 | LINE_BREAK = 254 74 | SYMBOL = 253 75 | DIGIT = 252 76 | CONTROL = 251 77 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pylint/reporters/json_reporter.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2014 Vlad Temian 2 | # Copyright (c) 2015-2017 Claudiu Popa 3 | # Copyright (c) 2015 Ionel Cristian Maries 4 | # Copyright (c) 2017 guillaume2 5 | 6 | # Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html 7 | # For details: https://github.com/PyCQA/pylint/blob/master/COPYING 8 | 9 | """JSON reporter""" 10 | import html 11 | import json 12 | import sys 13 | 14 | from pylint.interfaces import IReporter 15 | from pylint.reporters.base_reporter import BaseReporter 16 | 17 | 18 | class JSONReporter(BaseReporter): 19 | """Report messages and layouts in JSON.""" 20 | 21 | __implements__ = IReporter 22 | name = "json" 23 | extension = "json" 24 | 25 | def __init__(self, output=sys.stdout): 26 | BaseReporter.__init__(self, output) 27 | self.messages = [] 28 | 29 | def handle_message(self, msg): 30 | """Manage message of different type and in the context of path.""" 31 | self.messages.append( 32 | { 33 | "type": msg.category, 34 | "module": msg.module, 35 | "obj": msg.obj, 36 | "line": msg.line, 37 | "column": msg.column, 38 | "path": msg.path, 39 | "symbol": msg.symbol, 40 | "message": html.escape(msg.msg or "", quote=False), 41 | "message-id": msg.msg_id, 42 | } 43 | ) 44 | 45 | def display_messages(self, layout): 46 | """Launch layouts display""" 47 | print(json.dumps(self.messages, indent=4), file=self.out) 48 | 49 | def display_reports(self, layout): 50 | """Don't do nothing in this reporter.""" 51 | 52 | def _display(self, layout): 53 | """Do nothing.""" 54 | 55 | 56 | def register(linter): 57 | """Register the reporter classes with the linter.""" 58 | linter.register_reporter(JSONReporter) 59 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/isort-4.3.21.dist-info/RECORD: -------------------------------------------------------------------------------- 1 | ../../../bin/isort,sha256=w4MggfT6qFxYBw8xVrC_LLGy_csDqEbsZkkyXz3-PSM,237 2 | isort-4.3.21.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 3 | isort-4.3.21.dist-info/LICENSE,sha256=BjKUABw9Uj26y6ud1UrCKZgnVsyvWSylMkCysM3YIGU,1089 4 | isort-4.3.21.dist-info/METADATA,sha256=8fY1DuLOn_UnCH58A8AcsCUZpYWeLCsQF-n-GIXlxOM,19749 5 | isort-4.3.21.dist-info/RECORD,, 6 | isort-4.3.21.dist-info/WHEEL,sha256=h_aVn5OB2IERUjMbi2pucmR_zzWJtk303YXvhh60NJ8,110 7 | isort-4.3.21.dist-info/entry_points.txt,sha256=2M99eSFpnteDm3ekW8jya2a3A0-vFntKdT1fP93Tyks,148 8 | isort-4.3.21.dist-info/top_level.txt,sha256=mrBLoVpJnQWBbnMOSdzkjN1E9Z-e3Zd-MRlo88bstUk,6 9 | isort/__init__.py,sha256=_DTTMASePJCqsKnRJPf_YgFv5ZJOHg1uPLkrQHcqA2c,1380 10 | isort/__main__.py,sha256=9tThPqyOnY86bHaxJ0WciTd-rfKN3O-PQoNGBO2xhio,205 11 | isort/__pycache__/__init__.cpython-37.pyc,, 12 | isort/__pycache__/__main__.cpython-37.pyc,, 13 | isort/__pycache__/finders.cpython-37.pyc,, 14 | isort/__pycache__/hooks.cpython-37.pyc,, 15 | isort/__pycache__/isort.cpython-37.pyc,, 16 | isort/__pycache__/main.cpython-37.pyc,, 17 | isort/__pycache__/natural.cpython-37.pyc,, 18 | isort/__pycache__/pie_slice.cpython-37.pyc,, 19 | isort/__pycache__/pylama_isort.cpython-37.pyc,, 20 | isort/__pycache__/settings.cpython-37.pyc,, 21 | isort/__pycache__/utils.cpython-37.pyc,, 22 | isort/finders.py,sha256=0w39ygCFuOv40OHixflrOv_Xna8K78usa5ySwS9GkWE,13185 23 | isort/hooks.py,sha256=GcyPMF7raq3B1z4ubbzIWoMiY5DePDni0Nct5U87uMQ,3230 24 | isort/isort.py,sha256=krLW0QgwnVjUD3hYTpQmWkMa5TDEZxx6AbX80vlVNoA,53910 25 | isort/main.py,sha256=rS7dAu_0T-8Jxi3sDWu00IOjt4j0r3vJi6bXZn6RnQg,21974 26 | isort/natural.py,sha256=hlcWsGKfIUC4Atjp5IIqDCmg1madY6ave9oNiTGjJ0Q,1794 27 | isort/pie_slice.py,sha256=hO6l1XocvGAd8XTR8526r-G7XIncUQB53_DHQ4AZEYI,5612 28 | isort/pylama_isort.py,sha256=wF6NOEVuibme0l-5pH9pCW1j4vGaFamuwll494TnzDI,785 29 | isort/settings.py,sha256=4_Jf-9GaBy9fi6UJctLqesIAMAegWekRIJdJmH5TBNE,17452 30 | isort/utils.py,sha256=KtazEoeX9XmtcrUGP6xl5lBX7Ye2N08ACGaWxiGcIaE,1344 31 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pylint/extensions/broad_try_clause.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019 Tyler N. Thieding 3 | 4 | # Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html 5 | # For details: https://github.com/PyCQA/pylint/blob/master/COPYING 6 | 7 | """Looks for try/except statements with too much code in the try clause.""" 8 | 9 | from pylint import checkers, interfaces 10 | 11 | 12 | class BroadTryClauseChecker(checkers.BaseChecker): 13 | """Checks for try clauses with too many lines. 14 | 15 | According to PEP 8, ``try`` clauses shall contain the absolute minimum 16 | amount of code. This checker enforces a maximum number of statements within 17 | ``try`` clauses. 18 | 19 | """ 20 | 21 | __implements__ = interfaces.IAstroidChecker 22 | 23 | # configuration section name 24 | name = "broad_try_clause" 25 | msgs = { 26 | "W0717": ( 27 | "%s", 28 | "too-many-try-statements", 29 | "Try clause contains too many statements.", 30 | ) 31 | } 32 | 33 | priority = -2 34 | options = ( 35 | ( 36 | "max-try-statements", 37 | { 38 | "default": 1, 39 | "type": "int", 40 | "metavar": "", 41 | "help": "Maximum number of statements allowed in a try clause", 42 | }, 43 | ), 44 | ) 45 | 46 | def visit_tryexcept(self, node): 47 | try_clause_statements = len(node.body) 48 | if try_clause_statements > self.config.max_try_statements: 49 | msg = "try clause contains {0} statements, expected at most {1}".format( 50 | try_clause_statements, self.config.max_try_statements 51 | ) 52 | self.add_message( 53 | "too-many-try-statements", node.lineno, node=node, args=msg 54 | ) 55 | 56 | 57 | def register(linter): 58 | """Required method to auto register this checker.""" 59 | linter.register_checker(BroadTryClauseChecker(linter)) 60 | -------------------------------------------------------------------------------- /totally_innocuous_folder/no_seriously_nothing_to_see_here/lib/python3.7/site-packages/pip/_vendor/chardet/cp949prober.py: -------------------------------------------------------------------------------- 1 | ######################## BEGIN LICENSE BLOCK ######################## 2 | # The Original Code is mozilla.org code. 3 | # 4 | # The Initial Developer of the Original Code is 5 | # Netscape Communications Corporation. 6 | # Portions created by the Initial Developer are Copyright (C) 1998 7 | # the Initial Developer. All Rights Reserved. 8 | # 9 | # Contributor(s): 10 | # Mark Pilgrim - port to Python 11 | # 12 | # This library is free software; you can redistribute it and/or 13 | # modify it under the terms of the GNU Lesser General Public 14 | # License as published by the Free Software Foundation; either 15 | # version 2.1 of the License, or (at your option) any later version. 16 | # 17 | # This library is distributed in the hope that it will be useful, 18 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 20 | # Lesser General Public License for more details. 21 | # 22 | # You should have received a copy of the GNU Lesser General Public 23 | # License along with this library; if not, write to the Free Software 24 | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 25 | # 02110-1301 USA 26 | ######################### END LICENSE BLOCK ######################### 27 | 28 | from .chardistribution import EUCKRDistributionAnalysis 29 | from .codingstatemachine import CodingStateMachine 30 | from .mbcharsetprober import MultiByteCharSetProber 31 | from .mbcssm import CP949_SM_MODEL 32 | 33 | 34 | class CP949Prober(MultiByteCharSetProber): 35 | def __init__(self): 36 | super(CP949Prober, self).__init__() 37 | self.coding_sm = CodingStateMachine(CP949_SM_MODEL) 38 | # NOTE: CP949 is a superset of EUC-KR, so the distribution should be 39 | # not different. 40 | self.distribution_analyzer = EUCKRDistributionAnalysis() 41 | self.reset() 42 | 43 | @property 44 | def charset_name(self): 45 | return "CP949" 46 | 47 | @property 48 | def language(self): 49 | return "Korean" 50 | --------------------------------------------------------------------------------