virtuelle Umgebungen teil20 und teil20a
This commit is contained in:
		
							
								
								
									
										4
									
								
								teil20/lib/python3.11/site-packages/certifi/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								teil20/lib/python3.11/site-packages/certifi/__init__.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
			
		||||
from .core import contents, where
 | 
			
		||||
 | 
			
		||||
__all__ = ["contents", "where"]
 | 
			
		||||
__version__ = "2023.07.22"
 | 
			
		||||
							
								
								
									
										12
									
								
								teil20/lib/python3.11/site-packages/certifi/__main__.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								teil20/lib/python3.11/site-packages/certifi/__main__.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
			
		||||
import argparse
 | 
			
		||||
 | 
			
		||||
from certifi import contents, where
 | 
			
		||||
 | 
			
		||||
parser = argparse.ArgumentParser()
 | 
			
		||||
parser.add_argument("-c", "--contents", action="store_true")
 | 
			
		||||
args = parser.parse_args()
 | 
			
		||||
 | 
			
		||||
if args.contents:
 | 
			
		||||
    print(contents())
 | 
			
		||||
else:
 | 
			
		||||
    print(where())
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										4635
									
								
								teil20/lib/python3.11/site-packages/certifi/cacert.pem
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4635
									
								
								teil20/lib/python3.11/site-packages/certifi/cacert.pem
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										108
									
								
								teil20/lib/python3.11/site-packages/certifi/core.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										108
									
								
								teil20/lib/python3.11/site-packages/certifi/core.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,108 @@
 | 
			
		||||
"""
 | 
			
		||||
certifi.py
 | 
			
		||||
~~~~~~~~~~
 | 
			
		||||
 | 
			
		||||
This module returns the installation location of cacert.pem or its contents.
 | 
			
		||||
"""
 | 
			
		||||
import sys
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
if sys.version_info >= (3, 11):
 | 
			
		||||
 | 
			
		||||
    from importlib.resources import as_file, files
 | 
			
		||||
 | 
			
		||||
    _CACERT_CTX = None
 | 
			
		||||
    _CACERT_PATH = None
 | 
			
		||||
 | 
			
		||||
    def where() -> str:
 | 
			
		||||
        # This is slightly terrible, but we want to delay extracting the file
 | 
			
		||||
        # in cases where we're inside of a zipimport situation until someone
 | 
			
		||||
        # actually calls where(), but we don't want to re-extract the file
 | 
			
		||||
        # on every call of where(), so we'll do it once then store it in a
 | 
			
		||||
        # global variable.
 | 
			
		||||
        global _CACERT_CTX
 | 
			
		||||
        global _CACERT_PATH
 | 
			
		||||
        if _CACERT_PATH is None:
 | 
			
		||||
            # This is slightly janky, the importlib.resources API wants you to
 | 
			
		||||
            # manage the cleanup of this file, so it doesn't actually return a
 | 
			
		||||
            # path, it returns a context manager that will give you the path
 | 
			
		||||
            # when you enter it and will do any cleanup when you leave it. In
 | 
			
		||||
            # the common case of not needing a temporary file, it will just
 | 
			
		||||
            # return the file system location and the __exit__() is a no-op.
 | 
			
		||||
            #
 | 
			
		||||
            # We also have to hold onto the actual context manager, because
 | 
			
		||||
            # it will do the cleanup whenever it gets garbage collected, so
 | 
			
		||||
            # we will also store that at the global level as well.
 | 
			
		||||
            _CACERT_CTX = as_file(files("certifi").joinpath("cacert.pem"))
 | 
			
		||||
            _CACERT_PATH = str(_CACERT_CTX.__enter__())
 | 
			
		||||
 | 
			
		||||
        return _CACERT_PATH
 | 
			
		||||
 | 
			
		||||
    def contents() -> str:
 | 
			
		||||
        return files("certifi").joinpath("cacert.pem").read_text(encoding="ascii")
 | 
			
		||||
 | 
			
		||||
elif sys.version_info >= (3, 7):
 | 
			
		||||
 | 
			
		||||
    from importlib.resources import path as get_path, read_text
 | 
			
		||||
 | 
			
		||||
    _CACERT_CTX = None
 | 
			
		||||
    _CACERT_PATH = None
 | 
			
		||||
 | 
			
		||||
    def where() -> str:
 | 
			
		||||
        # This is slightly terrible, but we want to delay extracting the
 | 
			
		||||
        # file in cases where we're inside of a zipimport situation until
 | 
			
		||||
        # someone actually calls where(), but we don't want to re-extract
 | 
			
		||||
        # the file on every call of where(), so we'll do it once then store
 | 
			
		||||
        # it in a global variable.
 | 
			
		||||
        global _CACERT_CTX
 | 
			
		||||
        global _CACERT_PATH
 | 
			
		||||
        if _CACERT_PATH is None:
 | 
			
		||||
            # This is slightly janky, the importlib.resources API wants you
 | 
			
		||||
            # to manage the cleanup of this file, so it doesn't actually
 | 
			
		||||
            # return a path, it returns a context manager that will give
 | 
			
		||||
            # you the path when you enter it and will do any cleanup when
 | 
			
		||||
            # you leave it. In the common case of not needing a temporary
 | 
			
		||||
            # file, it will just return the file system location and the
 | 
			
		||||
            # __exit__() is a no-op.
 | 
			
		||||
            #
 | 
			
		||||
            # We also have to hold onto the actual context manager, because
 | 
			
		||||
            # it will do the cleanup whenever it gets garbage collected, so
 | 
			
		||||
            # we will also store that at the global level as well.
 | 
			
		||||
            _CACERT_CTX = get_path("certifi", "cacert.pem")
 | 
			
		||||
            _CACERT_PATH = str(_CACERT_CTX.__enter__())
 | 
			
		||||
 | 
			
		||||
        return _CACERT_PATH
 | 
			
		||||
 | 
			
		||||
    def contents() -> str:
 | 
			
		||||
        return read_text("certifi", "cacert.pem", encoding="ascii")
 | 
			
		||||
 | 
			
		||||
else:
 | 
			
		||||
    import os
 | 
			
		||||
    import types
 | 
			
		||||
    from typing import Union
 | 
			
		||||
 | 
			
		||||
    Package = Union[types.ModuleType, str]
 | 
			
		||||
    Resource = Union[str, "os.PathLike"]
 | 
			
		||||
 | 
			
		||||
    # This fallback will work for Python versions prior to 3.7 that lack the
 | 
			
		||||
    # importlib.resources module but relies on the existing `where` function
 | 
			
		||||
    # so won't address issues with environments like PyOxidizer that don't set
 | 
			
		||||
    # __file__ on modules.
 | 
			
		||||
    def read_text(
 | 
			
		||||
        package: Package,
 | 
			
		||||
        resource: Resource,
 | 
			
		||||
        encoding: str = 'utf-8',
 | 
			
		||||
        errors: str = 'strict'
 | 
			
		||||
    ) -> str:
 | 
			
		||||
        with open(where(), encoding=encoding) as data:
 | 
			
		||||
            return data.read()
 | 
			
		||||
 | 
			
		||||
    # If we don't have importlib.resources, then we will just do the old logic
 | 
			
		||||
    # of assuming we're on the filesystem and munge the path directly.
 | 
			
		||||
    def where() -> str:
 | 
			
		||||
        f = os.path.dirname(__file__)
 | 
			
		||||
 | 
			
		||||
        return os.path.join(f, "cacert.pem")
 | 
			
		||||
 | 
			
		||||
    def contents() -> str:
 | 
			
		||||
        return read_text("certifi", "cacert.pem", encoding="ascii")
 | 
			
		||||
		Reference in New Issue
	
	Block a user