py2docfx 0.1.15.dev2025736__py3-none-any.whl → 0.1.15.dev2038852__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- py2docfx/docfx_yaml/process_doctree.py +34 -21
- py2docfx/docfx_yaml/tests/test_method_arguments.py +7 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_core_metadata.py +21 -5
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/_msvccompiler.py +2 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/ccompiler.py +5 -2
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/__init__.py +27 -8
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/build.py +1 -6
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/build_clib.py +1 -9
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/build_ext.py +1 -8
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/check.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/config.py +0 -2
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/install.py +8 -17
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compat/numpy.py +2 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/base.py +8 -5
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/msvc.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/unix.py +15 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/dist.py +2 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/sysconfig.py +0 -10
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/tests/test_build_ext.py +60 -5
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/unixccompiler.py +6 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/util.py +7 -6
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_normalization.py +29 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/__init__.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/_bdist_wheel.py +613 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/_setuptools_logging.py +2 -2
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/bdist_wheel.py +25 -594
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/cli/__init__.py +6 -6
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/cli/convert.py +282 -223
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/macosx_libfile.py +22 -9
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/metadata.py +16 -13
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/util.py +0 -9
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/wheelfile.py +40 -9
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/bdist_wheel.py +6 -2
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/config/_apply_pyprojecttoml.py +48 -11
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/config/_validate_pyproject/extra_validations.py +31 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/config/_validate_pyproject/fastjsonschema_validations.py +222 -129
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/config/_validate_pyproject/formats.py +30 -3
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/dist.py +115 -9
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/msvc.py +12 -3
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/config/test_apply_pyprojecttoml.py +246 -13
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_bdist_wheel.py +93 -8
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_build_meta.py +17 -4
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_core_metadata.py +45 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_egg_info.py +24 -4
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_sdist.py +13 -1
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/__init__.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/any_pb2.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/api_pb2.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/compiler/plugin_pb2.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/descriptor_database.py +22 -4
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/descriptor_pb2.py +82 -35
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/duration_pb2.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/empty_pb2.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/field_mask_pb2.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/builder.py +4 -3
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/containers.py +13 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/decoder.py +62 -115
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/python_edition_defaults.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/python_message.py +15 -18
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/testing_refleaks.py +4 -1
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/type_checkers.py +5 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/well_known_types.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/json_format.py +25 -9
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/message.py +26 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/message_factory.py +0 -63
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/proto.py +38 -1
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/proto_text.py +129 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/reflection.py +0 -49
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/runtime_version.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/source_context_pb2.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/struct_pb2.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/symbol_database.py +0 -18
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/text_format.py +8 -3
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/timestamp_pb2.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/type_pb2.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/unknown_fields.py +3 -4
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/wrappers_pb2.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/msal/__init__.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/msal/application.py +51 -17
- py2docfx/venv/venv1/Lib/site-packages/msal/broker.py +18 -4
- py2docfx/venv/venv1/Lib/site-packages/msal/cloudshell.py +5 -1
- py2docfx/venv/venv1/Lib/site-packages/msal/managed_identity.py +5 -4
- py2docfx/venv/venv1/Lib/site-packages/msal/sku.py +6 -0
- py2docfx/venv/venv1/Lib/site-packages/msal/token_cache.py +31 -10
- py2docfx/venv/venv1/Lib/site-packages/msal_extensions/__init__.py +2 -3
- py2docfx/venv/venv1/Lib/site-packages/msal_extensions/cache_lock.py +4 -1
- py2docfx/venv/venv1/Lib/site-packages/msal_extensions/filelock.py +62 -0
- py2docfx/venv/venv1/Lib/site-packages/msal_extensions/libsecret.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/msal_extensions/token_cache.py +7 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_core_metadata.py +21 -5
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/_msvccompiler.py +2 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/ccompiler.py +5 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/__init__.py +27 -8
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/build.py +1 -6
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/build_clib.py +1 -9
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/build_ext.py +1 -8
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/check.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/config.py +0 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/install.py +8 -17
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compat/numpy.py +2 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/base.py +8 -5
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/msvc.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/unix.py +15 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/dist.py +2 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/sysconfig.py +0 -10
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/tests/test_build_ext.py +60 -5
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/unixccompiler.py +6 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/util.py +7 -6
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_normalization.py +29 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/__init__.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/_bdist_wheel.py +613 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/_setuptools_logging.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/bdist_wheel.py +25 -594
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/cli/__init__.py +6 -6
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/cli/convert.py +282 -223
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/macosx_libfile.py +22 -9
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/metadata.py +16 -13
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/util.py +0 -9
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/wheelfile.py +40 -9
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/bdist_wheel.py +6 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/config/_apply_pyprojecttoml.py +48 -11
- py2docfx/venv/venv1/Lib/site-packages/setuptools/config/_validate_pyproject/extra_validations.py +31 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/config/_validate_pyproject/fastjsonschema_validations.py +222 -129
- py2docfx/venv/venv1/Lib/site-packages/setuptools/config/_validate_pyproject/formats.py +30 -3
- py2docfx/venv/venv1/Lib/site-packages/setuptools/dist.py +115 -9
- py2docfx/venv/venv1/Lib/site-packages/setuptools/msvc.py +12 -3
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/config/test_apply_pyprojecttoml.py +246 -13
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_bdist_wheel.py +93 -8
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_build_meta.py +17 -4
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_core_metadata.py +45 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_egg_info.py +24 -4
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_sdist.py +13 -1
- {py2docfx-0.1.15.dev2025736.dist-info → py2docfx-0.1.15.dev2038852.dist-info}/METADATA +1 -1
- {py2docfx-0.1.15.dev2025736.dist-info → py2docfx-0.1.15.dev2038852.dist-info}/RECORD +136 -593
- py2docfx/docfx_yaml/tests/test_process_doctree.py +0 -120
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/__init__.py +0 -82
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/ado_consts.py +0 -283
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/adodbapi.py +0 -1153
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/apibase.py +0 -723
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/examples/db_print.py +0 -72
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/examples/db_table_names.py +0 -21
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/examples/xls_read.py +0 -41
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/examples/xls_write.py +0 -41
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/is64bit.py +0 -34
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/process_connect_string.py +0 -137
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/schema_table.py +0 -16
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/setup.py +0 -68
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/adodbapitest.py +0 -1547
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/adodbapitestconfig.py +0 -184
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/dbapi20.py +0 -879
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/is64bit.py +0 -34
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/setuptestframework.py +0 -98
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/test_adodbapi_dbapi20.py +0 -195
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/tryconnection.py +0 -30
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/_parameterized.py +0 -420
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/service.py +0 -213
- py2docfx/venv/venv1/Lib/site-packages/isapi/__init__.py +0 -39
- py2docfx/venv/venv1/Lib/site-packages/isapi/install.py +0 -809
- py2docfx/venv/venv1/Lib/site-packages/isapi/isapicon.py +0 -121
- py2docfx/venv/venv1/Lib/site-packages/isapi/samples/advanced.py +0 -218
- py2docfx/venv/venv1/Lib/site-packages/isapi/samples/redirector.py +0 -116
- py2docfx/venv/venv1/Lib/site-packages/isapi/samples/redirector_asynch.py +0 -85
- py2docfx/venv/venv1/Lib/site-packages/isapi/samples/redirector_with_filter.py +0 -162
- py2docfx/venv/venv1/Lib/site-packages/isapi/samples/test.py +0 -195
- py2docfx/venv/venv1/Lib/site-packages/isapi/simple.py +0 -73
- py2docfx/venv/venv1/Lib/site-packages/isapi/test/extension_simple.py +0 -114
- py2docfx/venv/venv1/Lib/site-packages/isapi/threaded_extension.py +0 -191
- py2docfx/venv/venv1/Lib/site-packages/portalocker/__about__.py +0 -6
- py2docfx/venv/venv1/Lib/site-packages/portalocker/__init__.py +0 -79
- py2docfx/venv/venv1/Lib/site-packages/portalocker/__main__.py +0 -122
- py2docfx/venv/venv1/Lib/site-packages/portalocker/constants.py +0 -59
- py2docfx/venv/venv1/Lib/site-packages/portalocker/exceptions.py +0 -27
- py2docfx/venv/venv1/Lib/site-packages/portalocker/portalocker.py +0 -154
- py2docfx/venv/venv1/Lib/site-packages/portalocker/redis.py +0 -236
- py2docfx/venv/venv1/Lib/site-packages/portalocker/utils.py +0 -569
- py2docfx/venv/venv1/Lib/site-packages/pythoncom.py +0 -4
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/basictimerapp.py +0 -258
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/customprint.py +0 -183
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/demoutils.py +0 -63
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/dlgappdemo.py +0 -51
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/dojobapp.py +0 -71
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/helloapp.py +0 -53
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/cmdserver.py +0 -113
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/createwin.py +0 -114
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/demoutils.py +0 -65
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/dibdemo.py +0 -73
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/dlgtest.py +0 -145
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/dyndlg.py +0 -104
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/fontdemo.py +0 -85
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/guidemo.py +0 -53
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/hiertest.py +0 -138
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/menutest.py +0 -13
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/objdoc.py +0 -57
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/demoutils.py +0 -63
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/flash.py +0 -95
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/msoffice.py +0 -159
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/ocxserialtest.py +0 -132
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/ocxtest.py +0 -243
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/webbrowser.py +0 -72
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/openGLDemo.py +0 -415
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/progressbar.py +0 -105
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/sliderdemo.py +0 -76
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/splittst.py +0 -79
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/threadedgui.py +0 -189
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/toolbar.py +0 -105
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/__init__.py +0 -3
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/__init__.py +0 -133
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/configui.py +0 -34
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/dbgcon.py +0 -31
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/dbgpyapp.py +0 -48
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/debugger.py +0 -1097
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/fail.py +0 -54
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/ideoptions.py +0 -136
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/list.py +0 -146
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/login.py +0 -155
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/status.py +0 -242
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/docking/DockingBar.py +0 -676
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/docking/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/app.py +0 -411
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/bitmap.py +0 -168
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/cmdline.py +0 -54
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/dbgcommands.py +0 -188
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/dlgappcore.py +0 -76
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/ModuleBrowser.py +0 -235
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/__init__.py +0 -105
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/color/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/color/coloreditor.py +0 -646
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/configui.py +0 -299
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/document.py +0 -379
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/editor.py +0 -511
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/frame.py +0 -74
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/template.py +0 -59
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/vss.py +0 -104
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/help.py +0 -173
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/interact.py +0 -995
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/intpyapp.py +0 -552
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/intpydde.py +0 -65
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/scriptutils.py +0 -684
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/sgrepmdi.py +0 -749
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/startup.py +0 -70
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/stdin.py +0 -172
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/toolmenu.py +0 -279
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/window.py +0 -14
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/winout.py +0 -589
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/AutoExpand.py +0 -95
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/AutoIndent.py +0 -536
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/CallTips.py +0 -216
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/FormatParagraph.py +0 -166
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/IdleHistory.py +0 -87
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/PyParse.py +0 -585
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/__init__.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/activex.py +0 -79
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/afxres.py +0 -501
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/dialog.py +0 -277
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/docview.py +0 -151
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/object.py +0 -66
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/thread.py +0 -25
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/window.py +0 -50
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/IDLEenvironment.py +0 -593
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/__init__.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/bindings.py +0 -180
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/config.py +0 -363
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/configui.py +0 -291
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/control.py +0 -565
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/document.py +0 -312
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/find.py +0 -511
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/formatter.py +0 -704
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/keycodes.py +0 -190
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/scintillacon.py +0 -3083
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/view.py +0 -841
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/TraceCollector.py +0 -79
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/browseProjects.py +0 -323
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/browser.py +0 -494
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/hierlist.py +0 -353
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/regedit.py +0 -382
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/regpy.py +0 -80
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/BackupRead_BackupWrite.py +0 -119
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/BackupSeek_streamheaders.py +0 -137
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/CopyFileEx.py +0 -57
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/CreateFileTransacted_MiniVersion.py +0 -122
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/EvtFormatMessage.py +0 -83
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/EvtSubscribe_pull.py +0 -28
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/EvtSubscribe_push.py +0 -32
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/FileSecurityTest.py +0 -137
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/GetSaveFileName.py +0 -43
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/NetValidatePasswordPolicy.py +0 -127
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/OpenEncryptedFileRaw.py +0 -66
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/RegCreateKeyTransacted.py +0 -60
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/RegRestoreKey.py +0 -71
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/SystemParametersInfo.py +0 -210
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/c_extension/setup.py +0 -26
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/dde/ddeclient.py +0 -18
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/dde/ddeserver.py +0 -42
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/desktopmanager.py +0 -246
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/eventLogDemo.py +0 -143
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/getfilever.py +0 -33
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/mmapfile_demo.py +0 -101
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/pipes/cat.py +0 -17
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/pipes/runproc.py +0 -114
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/print_desktop.py +0 -113
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/rastest.py +0 -166
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/GetTokenInformation.py +0 -110
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/account_rights.py +0 -49
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/explicit_entries.py +0 -170
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/get_policy_info.py +0 -39
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/list_rights.py +0 -35
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/localized_names.py +0 -70
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/lsaregevent.py +0 -14
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/lsastore.py +0 -12
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/query_information.py +0 -25
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/regsave_sa.py +0 -61
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/regsecurity.py +0 -36
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sa_inherit.py +0 -8
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/security_enums.py +0 -336
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/set_file_audit.py +0 -106
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/set_file_owner.py +0 -73
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/set_policy_info.py +0 -25
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/setkernelobjectsecurity.py +0 -134
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/setnamedsecurityinfo.py +0 -131
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/setsecurityinfo.py +0 -131
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/setuserobjectsecurity.py +0 -102
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sspi/fetch_url.py +0 -158
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sspi/simple_auth.py +0 -72
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sspi/socket_server.py +0 -199
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sspi/validate_password.py +0 -41
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/service/nativePipeTestService.py +0 -63
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/service/pipeTestService.py +0 -185
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/service/pipeTestServiceClient.py +0 -158
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/service/serviceEvents.py +0 -98
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/timer_demo.py +0 -72
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32clipboardDemo.py +0 -155
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32clipboard_bitmapdemo.py +0 -117
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32comport_demo.py +0 -174
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32console_demo.py +0 -132
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32cred_demo.py +0 -82
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32fileDemo.py +0 -41
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_demo.py +0 -177
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_devicenotify.py +0 -106
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_dialog.py +0 -445
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_menu.py +0 -464
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_taskbar.py +0 -136
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32netdemo.py +0 -272
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32rcparser_demo.py +0 -86
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32servicedemo.py +0 -23
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32ts_logoff_disconnected.py +0 -25
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32wnet/testwnet.py +0 -123
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32wnet/winnetwk.py +0 -100
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/winprocess.py +0 -230
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/_win32verstamp_pywin32ctypes.py +0 -164
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/afxres.py +0 -8
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/commctrl.py +0 -1551
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/mmsystem.py +0 -956
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/netbios.py +0 -293
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/ntsecuritycon.py +0 -731
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/pywin32_bootstrap.py +0 -21
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/pywin32_testutil.py +0 -291
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/pywintypes.py +0 -124
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/rasutil.py +0 -40
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/regcheck.py +0 -161
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/regutil.py +0 -395
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/sspi.py +0 -413
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/sspicon.py +0 -477
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win2kras.py +0 -14
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32con.py +0 -5064
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32cryptcon.py +0 -1922
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32evtlogutil.py +0 -225
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32gui_struct.py +0 -957
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32inetcon.py +0 -1086
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32netcon.py +0 -627
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32pdhquery.py +0 -570
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32pdhutil.py +0 -212
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32rcparser.py +0 -674
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32serviceutil.py +0 -1073
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32timezone.py +0 -1201
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32traceutil.py +0 -59
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32verstamp.py +0 -235
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/winerror.py +0 -7362
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/winioctlcon.py +0 -1079
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/winnt.py +0 -1347
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/winperf.py +0 -236
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/winxptheme.py +0 -8
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/ControlService.py +0 -594
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/VersionStamp/BrandProject.py +0 -97
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/VersionStamp/bulkstamp.py +0 -156
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/VersionStamp/vssutil.py +0 -201
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/backupEventLog.py +0 -46
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/h2py.py +0 -194
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/killProcName.py +0 -62
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/pywin32_postinstall.py +0 -733
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/pywin32_testall.py +0 -120
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/rasutil.py +0 -98
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/regsetup.py +0 -607
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/setup_d.py +0 -111
- py2docfx/venv/venv1/Lib/site-packages/win32/test/handles.py +0 -175
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_clipboard.py +0 -137
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_exceptions.py +0 -213
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_odbc.py +0 -264
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_pywintypes.py +0 -111
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_security.py +0 -166
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_sspi.py +0 -229
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32api.py +0 -273
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32clipboard.py +0 -59
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32cred.py +0 -91
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32crypt.py +0 -144
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32event.py +0 -119
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32file.py +0 -1096
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32gui.py +0 -227
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32guistruct.py +0 -333
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32inet.py +0 -108
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32net.py +0 -23
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32pipe.py +0 -148
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32print.py +0 -24
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32profile.py +0 -19
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32rcparser.py +0 -70
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32timezone.py +0 -16
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32trace.py +0 -366
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32ts.py +0 -19
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32wnet.py +0 -174
- py2docfx/venv/venv1/Lib/site-packages/win32/test/testall.py +0 -223
- py2docfx/venv/venv1/Lib/site-packages/win32/winxpgui.py +0 -13
- py2docfx/venv/venv1/Lib/site-packages/win32com/__init__.py +0 -134
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/CLSIDToClass.py +0 -60
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/__init__.py +0 -717
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/build.py +0 -771
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/combrowse.py +0 -604
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/connect.py +0 -48
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/dynamic.py +0 -699
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/gencache.py +0 -825
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/genpy.py +0 -1350
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/makepy.py +0 -453
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/selecttlb.py +0 -182
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/tlbrowse.py +0 -277
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/util.py +0 -103
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/connect.py +0 -96
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/dump_clipboard.py +0 -74
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/eventsApartmentThreaded.py +0 -98
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/eventsFreeThreaded.py +0 -92
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/excelAddin.py +0 -169
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/excelRTDServer.py +0 -434
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/iebutton.py +0 -214
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/ietoolbar.py +0 -368
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/outlookAddin.py +0 -135
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/trybag.py +0 -78
- py2docfx/venv/venv1/Lib/site-packages/win32com/makegw/__init__.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32com/makegw/makegw.py +0 -618
- py2docfx/venv/venv1/Lib/site-packages/win32com/makegw/makegwenum.py +0 -331
- py2docfx/venv/venv1/Lib/site-packages/win32com/makegw/makegwparse.py +0 -1017
- py2docfx/venv/venv1/Lib/site-packages/win32com/olectl.py +0 -70
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/__init__.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/connect.py +0 -85
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/dispatcher.py +0 -239
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/exception.py +0 -99
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/factory.py +0 -26
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/localserver.py +0 -53
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/policy.py +0 -803
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/register.py +0 -677
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/util.py +0 -229
- py2docfx/venv/venv1/Lib/site-packages/win32com/servers/PythonTools.py +0 -47
- py2docfx/venv/venv1/Lib/site-packages/win32com/servers/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/servers/dictionary.py +0 -133
- py2docfx/venv/venv1/Lib/site-packages/win32com/servers/interp.py +0 -59
- py2docfx/venv/venv1/Lib/site-packages/win32com/servers/perfmon.py +0 -36
- py2docfx/venv/venv1/Lib/site-packages/win32com/servers/test_pycomtest.py +0 -181
- py2docfx/venv/venv1/Lib/site-packages/win32com/storagecon.py +0 -142
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/GenTestScripts.py +0 -95
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/__init__.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/daodump.py +0 -88
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/errorSemantics.py +0 -243
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/pippo_server.py +0 -96
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/policySemantics.py +0 -115
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testADOEvents.py +0 -100
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testAXScript.py +0 -44
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testAccess.py +0 -185
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testArrays.py +0 -99
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testClipboard.py +0 -169
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testCollections.py +0 -159
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testConversionErrors.py +0 -35
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testDCOM.py +0 -50
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testDates.py +0 -74
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testDictionary.py +0 -101
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testDynamic.py +0 -83
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testExchange.py +0 -121
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testExplorer.py +0 -139
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testGIT.py +0 -142
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testGatewayAddresses.py +0 -149
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testIterators.py +0 -140
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testMSOffice.py +0 -184
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testMSOfficeEvents.py +0 -138
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testMarshal.py +0 -160
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testPersist.py +0 -227
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testPippo.py +0 -80
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testPyComTest.py +0 -918
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testROT.py +0 -29
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testServers.py +0 -51
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testShell.py +0 -272
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testStorage.py +0 -88
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testStreams.py +0 -147
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testWMI.py +0 -18
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testall.py +0 -320
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testmakepy.py +0 -54
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testvb.py +0 -583
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testvbscript_regexp.py +0 -40
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testxslt.py +0 -34
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/util.py +0 -262
- py2docfx/venv/venv1/Lib/site-packages/win32com/universal.py +0 -224
- py2docfx/venv/venv1/Lib/site-packages/win32com/util.py +0 -35
- py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/__init__.py +0 -113
- py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/adsicon.py +0 -340
- py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/demos/objectPicker.py +0 -68
- py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/demos/scp.py +0 -565
- py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/demos/search.py +0 -151
- py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/demos/test.py +0 -274
- py2docfx/venv/venv1/Lib/site-packages/win32comext/authorization/__init__.py +0 -6
- py2docfx/venv/venv1/Lib/site-packages/win32comext/authorization/demos/EditSecurity.py +0 -229
- py2docfx/venv/venv1/Lib/site-packages/win32comext/authorization/demos/EditServiceSecurity.py +0 -219
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axcontrol/__init__.py +0 -4
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/__init__.py +0 -4
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/adb.py +0 -467
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/codecontainer.py +0 -279
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/contexts.py +0 -58
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/debugger.py +0 -238
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/documents.py +0 -135
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/dump.py +0 -57
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/expressions.py +0 -212
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/gateways.py +0 -583
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/stackframe.py +0 -178
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/util.py +0 -98
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/__init__.py +0 -4
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/asputil.py +0 -13
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/__init__.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/debug.py +0 -223
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/error.py +0 -262
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/framework.py +0 -1291
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/pydumper.py +0 -78
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/pyscript.py +0 -438
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/pyscript_rexec.py +0 -54
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/scriptdispatch.py +0 -103
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/server/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/server/axsite.py +0 -145
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/test/leakTest.py +0 -185
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/test/testHost.py +0 -240
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/test/testHost4Dbg.py +0 -83
- py2docfx/venv/venv1/Lib/site-packages/win32comext/bits/__init__.py +0 -6
- py2docfx/venv/venv1/Lib/site-packages/win32comext/bits/test/show_all_jobs.py +0 -48
- py2docfx/venv/venv1/Lib/site-packages/win32comext/bits/test/test_bits.py +0 -119
- py2docfx/venv/venv1/Lib/site-packages/win32comext/directsound/__init__.py +0 -4
- py2docfx/venv/venv1/Lib/site-packages/win32comext/directsound/test/__init__.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32comext/directsound/test/ds_record.py +0 -60
- py2docfx/venv/venv1/Lib/site-packages/win32comext/directsound/test/ds_test.py +0 -402
- py2docfx/venv/venv1/Lib/site-packages/win32comext/ifilter/__init__.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32comext/ifilter/demo/filterDemo.py +0 -300
- py2docfx/venv/venv1/Lib/site-packages/win32comext/ifilter/ifiltercon.py +0 -110
- py2docfx/venv/venv1/Lib/site-packages/win32comext/internet/__init__.py +0 -4
- py2docfx/venv/venv1/Lib/site-packages/win32comext/internet/inetcon.py +0 -261
- py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/__init__.py +0 -21
- py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/demos/mapisend.py +0 -98
- py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/emsabtags.py +0 -875
- py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/mapitags.py +0 -1023
- py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/mapiutil.py +0 -211
- py2docfx/venv/venv1/Lib/site-packages/win32comext/propsys/__init__.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32comext/propsys/pscon.py +0 -838
- py2docfx/venv/venv1/Lib/site-packages/win32comext/propsys/test/testpropsys.py +0 -5
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/__init__.py +0 -4
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/IActiveDesktop.py +0 -83
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/IFileOperationProgressSink.py +0 -179
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/IShellLinkDataList.py +0 -67
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/ITransferAdviseSink.py +0 -93
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/IUniformResourceLocator.py +0 -56
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/browse_for_folder.py +0 -45
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/create_link.py +0 -73
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/dump_link.py +0 -58
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/explorer_browser.py +0 -143
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/column_provider.py +0 -125
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/context_menu.py +0 -122
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/copy_hook.py +0 -84
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/empty_volume_cache.py +0 -188
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/folder_view.py +0 -866
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/icon_handler.py +0 -81
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/shell_view.py +0 -971
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/shellexecuteex.py +0 -19
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/viewstate.py +0 -68
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/walk_shell_folders.py +0 -24
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/shellcon.py +0 -1615
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/test/testSHFileOperation.py +0 -75
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/test/testShellFolder.py +0 -21
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/test/testShellItem.py +0 -69
- py2docfx/venv/venv1/Lib/site-packages/win32comext/taskscheduler/__init__.py +0 -6
- py2docfx/venv/venv1/Lib/site-packages/win32comext/taskscheduler/test/test_addtask.py +0 -66
- py2docfx/venv/venv1/Lib/site-packages/win32comext/taskscheduler/test/test_addtask_1.py +0 -68
- py2docfx/venv/venv1/Lib/site-packages/win32comext/taskscheduler/test/test_addtask_2.py +0 -49
- py2docfx/venv/venv1/Lib/site-packages/win32comext/taskscheduler/test/test_localsystem.py +0 -3
- py2docfx/venv/venv1/Scripts/pywin32_postinstall.py +0 -733
- py2docfx/venv/venv1/Scripts/pywin32_testall.py +0 -120
- {py2docfx-0.1.15.dev2025736.dist-info → py2docfx-0.1.15.dev2038852.dist-info}/WHEEL +0 -0
- {py2docfx-0.1.15.dev2025736.dist-info → py2docfx-0.1.15.dev2038852.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,129 @@
|
|
1
|
+
# Protocol Buffers - Google's data interchange format
|
2
|
+
# Copyright 2025 Google Inc. All rights reserved.
|
3
|
+
#
|
4
|
+
# Use of this source code is governed by a BSD-style
|
5
|
+
# license that can be found in the LICENSE file or at
|
6
|
+
# https://developers.google.com/open-source/licenses/bsd
|
7
|
+
|
8
|
+
"""Contains the Nextgen Pythonic Protobuf Text Format APIs."""
|
9
|
+
from typing import AnyStr, Callable, Optional, Text, Type, Union
|
10
|
+
|
11
|
+
from google.protobuf import text_format
|
12
|
+
from google.protobuf.descriptor_pool import DescriptorPool
|
13
|
+
from google.protobuf.message import Message
|
14
|
+
|
15
|
+
_MsgFormatter = Callable[[Message, Union[int, bool], bool], Optional[Text]]
|
16
|
+
|
17
|
+
|
18
|
+
def serialize(
|
19
|
+
message: Message,
|
20
|
+
as_utf8: bool = True,
|
21
|
+
as_one_line: bool = False,
|
22
|
+
use_short_repeated_primitives: bool = False,
|
23
|
+
pointy_brackets: bool = False,
|
24
|
+
use_index_order: bool = False,
|
25
|
+
float_format: Optional[str] = None,
|
26
|
+
double_format: Optional[str] = None,
|
27
|
+
use_field_number: bool = False,
|
28
|
+
descriptor_pool: Optional[DescriptorPool] = None,
|
29
|
+
indent: int = 0,
|
30
|
+
message_formatter: Optional[_MsgFormatter] = None,
|
31
|
+
print_unknown_fields: bool = False,
|
32
|
+
force_colon: bool = False,
|
33
|
+
) -> str:
|
34
|
+
"""Convert protobuf message to text format.
|
35
|
+
|
36
|
+
Double values can be formatted compactly with 15 digits of
|
37
|
+
precision (which is the most that IEEE 754 "double" can guarantee)
|
38
|
+
using double_format='.15g'. To ensure that converting to text and back to a
|
39
|
+
proto will result in an identical value, double_format='.17g' should be used.
|
40
|
+
|
41
|
+
Args:
|
42
|
+
message: The protocol buffers message.
|
43
|
+
as_utf8: Return unescaped Unicode for non-ASCII characters.
|
44
|
+
as_one_line: Don't introduce newlines between fields.
|
45
|
+
use_short_repeated_primitives: Use short repeated format for primitives.
|
46
|
+
pointy_brackets: If True, use angle brackets instead of curly braces for
|
47
|
+
nesting.
|
48
|
+
use_index_order: If True, fields of a proto message will be printed using
|
49
|
+
the order defined in source code instead of the field number, extensions
|
50
|
+
will be printed at the end of the message and their relative order is
|
51
|
+
determined by the extension number. By default, use the field number
|
52
|
+
order.
|
53
|
+
float_format (str): If set, use this to specify float field formatting (per
|
54
|
+
the "Format Specification Mini-Language"); otherwise, shortest float that
|
55
|
+
has same value in wire will be printed. Also affect double field if
|
56
|
+
double_format is not set but float_format is set.
|
57
|
+
double_format (str): If set, use this to specify double field formatting
|
58
|
+
(per the "Format Specification Mini-Language"); if it is not set but
|
59
|
+
float_format is set, use float_format. Otherwise, use ``str()``
|
60
|
+
use_field_number: If True, print field numbers instead of names.
|
61
|
+
descriptor_pool (DescriptorPool): Descriptor pool used to resolve Any types.
|
62
|
+
indent (int): The initial indent level, in terms of spaces, for pretty
|
63
|
+
print.
|
64
|
+
message_formatter (function(message, indent, as_one_line) -> unicode|None):
|
65
|
+
Custom formatter for selected sub-messages (usually based on message
|
66
|
+
type). Use to pretty print parts of the protobuf for easier diffing.
|
67
|
+
print_unknown_fields: If True, unknown fields will be printed.
|
68
|
+
force_colon: If set, a colon will be added after the field name even if the
|
69
|
+
field is a proto message.
|
70
|
+
|
71
|
+
Returns:
|
72
|
+
str: A string of the text formatted protocol buffer message.
|
73
|
+
"""
|
74
|
+
return text_format.MessageToString(
|
75
|
+
message=message,
|
76
|
+
as_utf8=as_utf8,
|
77
|
+
as_one_line=as_one_line,
|
78
|
+
use_short_repeated_primitives=use_short_repeated_primitives,
|
79
|
+
pointy_brackets=pointy_brackets,
|
80
|
+
use_index_order=use_index_order,
|
81
|
+
float_format=float_format,
|
82
|
+
double_format=double_format,
|
83
|
+
use_field_number=use_field_number,
|
84
|
+
descriptor_pool=descriptor_pool,
|
85
|
+
indent=indent,
|
86
|
+
message_formatter=message_formatter,
|
87
|
+
print_unknown_fields=print_unknown_fields,
|
88
|
+
force_colon=force_colon,
|
89
|
+
)
|
90
|
+
|
91
|
+
|
92
|
+
def parse(
|
93
|
+
message_class: Type[Message],
|
94
|
+
text: AnyStr,
|
95
|
+
allow_unknown_extension: bool = False,
|
96
|
+
allow_field_number: bool = False,
|
97
|
+
descriptor_pool: Optional[DescriptorPool] = None,
|
98
|
+
allow_unknown_field: bool = False,
|
99
|
+
) -> Message:
|
100
|
+
"""Parses a text representation of a protocol message into a message.
|
101
|
+
|
102
|
+
Args:
|
103
|
+
message_class: The message meta class.
|
104
|
+
text (str): Message text representation.
|
105
|
+
message (Message): A protocol buffer message to merge into.
|
106
|
+
allow_unknown_extension: if True, skip over missing extensions and keep
|
107
|
+
parsing
|
108
|
+
allow_field_number: if True, both field number and field name are allowed.
|
109
|
+
descriptor_pool (DescriptorPool): Descriptor pool used to resolve Any types.
|
110
|
+
allow_unknown_field: if True, skip over unknown field and keep parsing.
|
111
|
+
Avoid to use this option if possible. It may hide some errors (e.g.
|
112
|
+
spelling error on field name)
|
113
|
+
|
114
|
+
Returns:
|
115
|
+
Message: A new message passed from text.
|
116
|
+
|
117
|
+
Raises:
|
118
|
+
ParseError: On text parsing problems.
|
119
|
+
"""
|
120
|
+
new_message = message_class()
|
121
|
+
text_format.Parse(
|
122
|
+
text=text,
|
123
|
+
message=new_message,
|
124
|
+
allow_unknown_extension=allow_unknown_extension,
|
125
|
+
allow_field_number=allow_field_number,
|
126
|
+
descriptor_pool=descriptor_pool,
|
127
|
+
allow_unknown_field=allow_unknown_field,
|
128
|
+
)
|
129
|
+
return new_message
|
@@ -34,52 +34,3 @@ from google.protobuf import symbol_database
|
|
34
34
|
GeneratedProtocolMessageType = message_factory._GENERATED_PROTOCOL_MESSAGE_TYPE
|
35
35
|
|
36
36
|
MESSAGE_CLASS_CACHE = {}
|
37
|
-
|
38
|
-
|
39
|
-
# Deprecated. Please NEVER use reflection.ParseMessage().
|
40
|
-
def ParseMessage(descriptor, byte_str):
|
41
|
-
"""Generate a new Message instance from this Descriptor and a byte string.
|
42
|
-
|
43
|
-
DEPRECATED: ParseMessage is deprecated because it is using MakeClass().
|
44
|
-
Please use MessageFactory.GetMessageClass() instead.
|
45
|
-
|
46
|
-
Args:
|
47
|
-
descriptor: Protobuf Descriptor object
|
48
|
-
byte_str: Serialized protocol buffer byte string
|
49
|
-
|
50
|
-
Returns:
|
51
|
-
Newly created protobuf Message object.
|
52
|
-
"""
|
53
|
-
warnings.warn(
|
54
|
-
'reflection.ParseMessage() is deprecated. Please use '
|
55
|
-
'MessageFactory.GetMessageClass() and message.ParseFromString() instead. '
|
56
|
-
'reflection.ParseMessage() will be removed in Jan 2025.',
|
57
|
-
stacklevel=2,
|
58
|
-
)
|
59
|
-
result_class = MakeClass(descriptor)
|
60
|
-
new_msg = result_class()
|
61
|
-
new_msg.ParseFromString(byte_str)
|
62
|
-
return new_msg
|
63
|
-
|
64
|
-
|
65
|
-
# Deprecated. Please NEVER use reflection.MakeClass().
|
66
|
-
def MakeClass(descriptor):
|
67
|
-
"""Construct a class object for a protobuf described by descriptor.
|
68
|
-
|
69
|
-
DEPRECATED: use MessageFactory.GetMessageClass() instead.
|
70
|
-
|
71
|
-
Args:
|
72
|
-
descriptor: A descriptor.Descriptor object describing the protobuf.
|
73
|
-
Returns:
|
74
|
-
The Message class object described by the descriptor.
|
75
|
-
"""
|
76
|
-
warnings.warn(
|
77
|
-
'reflection.MakeClass() is deprecated. Please use '
|
78
|
-
'MessageFactory.GetMessageClass() instead. '
|
79
|
-
'reflection.MakeClass() will be removed in Jan 2025.',
|
80
|
-
stacklevel=2,
|
81
|
-
)
|
82
|
-
# Original implementation leads to duplicate message classes, which won't play
|
83
|
-
# well with extensions. Message factory info is also missing.
|
84
|
-
# Redirect to message_factory.
|
85
|
-
return message_factory.GetMessageClass(descriptor)
|
@@ -27,9 +27,9 @@ class Domain(Enum):
|
|
27
27
|
# the Protobuf release process. Do not edit them manually.
|
28
28
|
# These OSS versions are not stripped to avoid merging conflicts.
|
29
29
|
OSS_DOMAIN = Domain.PUBLIC
|
30
|
-
OSS_MAJOR =
|
31
|
-
OSS_MINOR =
|
32
|
-
OSS_PATCH =
|
30
|
+
OSS_MAJOR = 6
|
31
|
+
OSS_MINOR = 30
|
32
|
+
OSS_PATCH = 1
|
33
33
|
OSS_SUFFIX = ''
|
34
34
|
|
35
35
|
DOMAIN = OSS_DOMAIN
|
@@ -2,7 +2,7 @@
|
|
2
2
|
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
3
3
|
# NO CHECKED-IN PROTOBUF GENCODE
|
4
4
|
# source: google/protobuf/source_context.proto
|
5
|
-
# Protobuf Python Version:
|
5
|
+
# Protobuf Python Version: 6.30.1
|
6
6
|
"""Generated protocol buffer code."""
|
7
7
|
from google.protobuf import descriptor as _descriptor
|
8
8
|
from google.protobuf import descriptor_pool as _descriptor_pool
|
@@ -11,9 +11,9 @@ from google.protobuf import symbol_database as _symbol_database
|
|
11
11
|
from google.protobuf.internal import builder as _builder
|
12
12
|
_runtime_version.ValidateProtobufRuntimeVersion(
|
13
13
|
_runtime_version.Domain.PUBLIC,
|
14
|
-
|
15
|
-
|
16
|
-
|
14
|
+
6,
|
15
|
+
30,
|
16
|
+
1,
|
17
17
|
'',
|
18
18
|
'google/protobuf/source_context.proto'
|
19
19
|
)
|
@@ -2,7 +2,7 @@
|
|
2
2
|
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
3
3
|
# NO CHECKED-IN PROTOBUF GENCODE
|
4
4
|
# source: google/protobuf/struct.proto
|
5
|
-
# Protobuf Python Version:
|
5
|
+
# Protobuf Python Version: 6.30.1
|
6
6
|
"""Generated protocol buffer code."""
|
7
7
|
from google.protobuf import descriptor as _descriptor
|
8
8
|
from google.protobuf import descriptor_pool as _descriptor_pool
|
@@ -11,9 +11,9 @@ from google.protobuf import symbol_database as _symbol_database
|
|
11
11
|
from google.protobuf.internal import builder as _builder
|
12
12
|
_runtime_version.ValidateProtobufRuntimeVersion(
|
13
13
|
_runtime_version.Domain.PUBLIC,
|
14
|
-
|
15
|
-
|
16
|
-
|
14
|
+
6,
|
15
|
+
30,
|
16
|
+
1,
|
17
17
|
'',
|
18
18
|
'google/protobuf/struct.proto'
|
19
19
|
)
|
@@ -51,24 +51,6 @@ class SymbolDatabase():
|
|
51
51
|
"""Initializes a new SymbolDatabase."""
|
52
52
|
self.pool = pool or descriptor_pool.DescriptorPool()
|
53
53
|
|
54
|
-
def GetPrototype(self, descriptor):
|
55
|
-
warnings.warn('SymbolDatabase.GetPrototype() is deprecated. Please '
|
56
|
-
'use message_factory.GetMessageClass() instead. '
|
57
|
-
'SymbolDatabase.GetPrototype() will be removed soon.')
|
58
|
-
return message_factory.GetMessageClass(descriptor)
|
59
|
-
|
60
|
-
def CreatePrototype(self, descriptor):
|
61
|
-
warnings.warn('Directly call CreatePrototype() is wrong. Please use '
|
62
|
-
'message_factory.GetMessageClass() instead. '
|
63
|
-
'SymbolDatabase.CreatePrototype() will be removed soon.')
|
64
|
-
return message_factory._InternalCreateMessageClass(descriptor)
|
65
|
-
|
66
|
-
def GetMessages(self, files):
|
67
|
-
warnings.warn('SymbolDatabase.GetMessages() is deprecated. Please use '
|
68
|
-
'message_factory.GetMessageClassedForFiles() instead. '
|
69
|
-
'SymbolDatabase.GetMessages() will be removed soon.')
|
70
|
-
return message_factory.GetMessageClassedForFiles(files, self.pool)
|
71
|
-
|
72
54
|
def RegisterMessage(self, message):
|
73
55
|
"""Registers the given message type in the local database.
|
74
56
|
|
@@ -42,6 +42,7 @@ _INTEGER_CHECKERS = (type_checkers.Uint32ValueChecker(),
|
|
42
42
|
type_checkers.Int64ValueChecker())
|
43
43
|
_FLOAT_INFINITY = re.compile('-?inf(?:inity)?f?$', re.IGNORECASE)
|
44
44
|
_FLOAT_NAN = re.compile('nanf?$', re.IGNORECASE)
|
45
|
+
_FLOAT_OCTAL_PREFIX = re.compile('-?0[0-9]+')
|
45
46
|
_QUOTES = frozenset(("'", '"'))
|
46
47
|
_ANY_FULL_TYPE_NAME = 'google.protobuf.Any'
|
47
48
|
_DEBUG_STRING_SILENT_MARKER = '\t '
|
@@ -430,7 +431,7 @@ class _Printer(object):
|
|
430
431
|
return False
|
431
432
|
packed_message = _BuildMessageFromTypeName(message.TypeName(),
|
432
433
|
self.descriptor_pool)
|
433
|
-
if packed_message:
|
434
|
+
if packed_message is not None:
|
434
435
|
packed_message.MergeFromString(message.value)
|
435
436
|
colon = ':' if self.force_colon else ''
|
436
437
|
self.out.write('%s[%s]%s ' % (self.indent * ' ', message.type_url, colon))
|
@@ -1165,7 +1166,9 @@ class _Parser(object):
|
|
1165
1166
|
else:
|
1166
1167
|
# For field that doesn't represent presence, try best effort to
|
1167
1168
|
# check multiple scalars by compare to default values.
|
1168
|
-
duplicate_error =
|
1169
|
+
duplicate_error = not decoder.IsDefaultScalarValue(
|
1170
|
+
getattr(message, field.name)
|
1171
|
+
)
|
1169
1172
|
|
1170
1173
|
if duplicate_error:
|
1171
1174
|
raise tokenizer.ParseErrorPreviousToken(
|
@@ -1789,6 +1792,8 @@ def ParseFloat(text):
|
|
1789
1792
|
Raises:
|
1790
1793
|
ValueError: If a floating point number couldn't be parsed.
|
1791
1794
|
"""
|
1795
|
+
if _FLOAT_OCTAL_PREFIX.match(text):
|
1796
|
+
raise ValueError('Invalid octal float: %s' % text)
|
1792
1797
|
try:
|
1793
1798
|
# Assume Python compatible syntax.
|
1794
1799
|
return float(text)
|
@@ -1804,7 +1809,7 @@ def ParseFloat(text):
|
|
1804
1809
|
else:
|
1805
1810
|
# assume '1.0f' format
|
1806
1811
|
try:
|
1807
|
-
return float(text.rstrip('
|
1812
|
+
return float(text.rstrip('fF'))
|
1808
1813
|
except ValueError:
|
1809
1814
|
raise ValueError("Couldn't parse float: %s" % text)
|
1810
1815
|
|
@@ -2,7 +2,7 @@
|
|
2
2
|
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
3
3
|
# NO CHECKED-IN PROTOBUF GENCODE
|
4
4
|
# source: google/protobuf/timestamp.proto
|
5
|
-
# Protobuf Python Version:
|
5
|
+
# Protobuf Python Version: 6.30.1
|
6
6
|
"""Generated protocol buffer code."""
|
7
7
|
from google.protobuf import descriptor as _descriptor
|
8
8
|
from google.protobuf import descriptor_pool as _descriptor_pool
|
@@ -11,9 +11,9 @@ from google.protobuf import symbol_database as _symbol_database
|
|
11
11
|
from google.protobuf.internal import builder as _builder
|
12
12
|
_runtime_version.ValidateProtobufRuntimeVersion(
|
13
13
|
_runtime_version.Domain.PUBLIC,
|
14
|
-
|
15
|
-
|
16
|
-
|
14
|
+
6,
|
15
|
+
30,
|
16
|
+
1,
|
17
17
|
'',
|
18
18
|
'google/protobuf/timestamp.proto'
|
19
19
|
)
|
@@ -2,7 +2,7 @@
|
|
2
2
|
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
3
3
|
# NO CHECKED-IN PROTOBUF GENCODE
|
4
4
|
# source: google/protobuf/type.proto
|
5
|
-
# Protobuf Python Version:
|
5
|
+
# Protobuf Python Version: 6.30.1
|
6
6
|
"""Generated protocol buffer code."""
|
7
7
|
from google.protobuf import descriptor as _descriptor
|
8
8
|
from google.protobuf import descriptor_pool as _descriptor_pool
|
@@ -11,9 +11,9 @@ from google.protobuf import symbol_database as _symbol_database
|
|
11
11
|
from google.protobuf.internal import builder as _builder
|
12
12
|
_runtime_version.ValidateProtobufRuntimeVersion(
|
13
13
|
_runtime_version.Domain.PUBLIC,
|
14
|
-
|
15
|
-
|
16
|
-
|
14
|
+
6,
|
15
|
+
30,
|
16
|
+
1,
|
17
17
|
'',
|
18
18
|
'google/protobuf/type.proto'
|
19
19
|
)
|
@@ -72,13 +72,12 @@ else:
|
|
72
72
|
InternalAdd(field_number, wire_format.WIRETYPE_LENGTH_DELIMITED, data)
|
73
73
|
else:
|
74
74
|
for tag_bytes, buffer in unknown_fields:
|
75
|
-
|
76
|
-
(tag, _) = decoder._DecodeVarint(tag_bytes, 0)
|
77
|
-
field_number, wire_type = wire_format.UnpackTag(tag)
|
75
|
+
field_number, wire_type = decoder.DecodeTag(tag_bytes)
|
78
76
|
if field_number == 0:
|
79
77
|
raise RuntimeError('Field number 0 is illegal.')
|
80
78
|
(data, _) = decoder._DecodeUnknownField(
|
81
|
-
memoryview(buffer), 0, wire_type
|
79
|
+
memoryview(buffer), 0, len(buffer), field_number, wire_type
|
80
|
+
)
|
82
81
|
InternalAdd(field_number, wire_type, data)
|
83
82
|
|
84
83
|
def __getitem__(self, index):
|
@@ -2,7 +2,7 @@
|
|
2
2
|
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
3
3
|
# NO CHECKED-IN PROTOBUF GENCODE
|
4
4
|
# source: google/protobuf/wrappers.proto
|
5
|
-
# Protobuf Python Version:
|
5
|
+
# Protobuf Python Version: 6.30.1
|
6
6
|
"""Generated protocol buffer code."""
|
7
7
|
from google.protobuf import descriptor as _descriptor
|
8
8
|
from google.protobuf import descriptor_pool as _descriptor_pool
|
@@ -11,9 +11,9 @@ from google.protobuf import symbol_database as _symbol_database
|
|
11
11
|
from google.protobuf.internal import builder as _builder
|
12
12
|
_runtime_version.ValidateProtobufRuntimeVersion(
|
13
13
|
_runtime_version.Domain.PUBLIC,
|
14
|
-
|
15
|
-
|
16
|
-
|
14
|
+
6,
|
15
|
+
30,
|
16
|
+
1,
|
17
17
|
'',
|
18
18
|
'google/protobuf/wrappers.proto'
|
19
19
|
)
|
@@ -26,12 +26,12 @@
|
|
26
26
|
#------------------------------------------------------------------------------
|
27
27
|
|
28
28
|
from .application import (
|
29
|
-
__version__,
|
30
29
|
ClientApplication,
|
31
30
|
ConfidentialClientApplication,
|
32
31
|
PublicClientApplication,
|
33
32
|
)
|
34
33
|
from .oauth2cli.oidc import Prompt, IdTokenError
|
34
|
+
from .sku import __version__
|
35
35
|
from .token_cache import TokenCache, SerializableTokenCache
|
36
36
|
from .auth_scheme import PopAuthScheme
|
37
37
|
from .managed_identity import (
|
@@ -5,6 +5,8 @@ import logging
|
|
5
5
|
import sys
|
6
6
|
import warnings
|
7
7
|
from threading import Lock
|
8
|
+
from typing import Optional # Needed in Python 3.7 & 3.8
|
9
|
+
from urllib.parse import urlparse
|
8
10
|
import os
|
9
11
|
|
10
12
|
from .oauth2cli import Client, JwtAssertionCreator
|
@@ -18,10 +20,9 @@ import msal.telemetry
|
|
18
20
|
from .region import _detect_region
|
19
21
|
from .throttled_http_client import ThrottledHttpClient
|
20
22
|
from .cloudshell import _is_running_in_cloud_shell
|
23
|
+
from .sku import SKU, __version__
|
21
24
|
|
22
25
|
|
23
|
-
# The __init__.py will import this. Not the other way around.
|
24
|
-
__version__ = "1.31.1" # When releasing, also check and bump our dependencies's versions if needed
|
25
26
|
|
26
27
|
logger = logging.getLogger(__name__)
|
27
28
|
_AUTHORITY_TYPE_CLOUDSHELL = "CLOUDSHELL"
|
@@ -194,6 +195,21 @@ class _ClientWithCcsRoutingInfo(Client):
|
|
194
195
|
username, password, headers=headers, **kwargs)
|
195
196
|
|
196
197
|
|
198
|
+
def _msal_extension_check():
|
199
|
+
# Can't run this in module or class level otherwise you'll get circular import error
|
200
|
+
try:
|
201
|
+
from msal_extensions import __version__ as v
|
202
|
+
major, minor, _ = v.split(".", maxsplit=3)
|
203
|
+
if not (int(major) >= 1 and int(minor) >= 2):
|
204
|
+
warnings.warn(
|
205
|
+
"Please upgrade msal-extensions. "
|
206
|
+
"Only msal-extensions 1.2+ can work with msal 1.30+")
|
207
|
+
except ImportError:
|
208
|
+
pass # The optional msal_extensions is not installed. Business as usual.
|
209
|
+
except ValueError:
|
210
|
+
logger.exception(f"msal_extensions version {v} not in major.minor.patch format")
|
211
|
+
|
212
|
+
|
197
213
|
class ClientApplication(object):
|
198
214
|
"""You do not usually directly use this class. Use its subclasses instead:
|
199
215
|
:class:`PublicClientApplication` and :class:`ConfidentialClientApplication`.
|
@@ -210,6 +226,7 @@ class ClientApplication(object):
|
|
210
226
|
REMOVE_ACCOUNT_ID = "903"
|
211
227
|
|
212
228
|
ATTEMPT_REGION_DISCOVERY = True # "TryAutoDetect"
|
229
|
+
DISABLE_MSAL_FORCE_REGION = False # Used in azure_region to disable MSAL_FORCE_REGION behavior
|
213
230
|
_TOKEN_SOURCE = "token_source"
|
214
231
|
_TOKEN_SOURCE_IDP = "identity_provider"
|
215
232
|
_TOKEN_SOURCE_CACHE = "cache"
|
@@ -433,11 +450,14 @@ class ClientApplication(object):
|
|
433
450
|
Instructs MSAL to use the Entra regional token service. This legacy feature is only available to
|
434
451
|
first-party applications. Only ``acquire_token_for_client()`` is supported.
|
435
452
|
|
436
|
-
Supports
|
453
|
+
Supports 4 values:
|
437
454
|
|
438
|
-
|
439
|
-
|
440
|
-
|
455
|
+
1. ``azure_region=None`` - This default value means no region is configured.
|
456
|
+
MSAL will use the region defined in env var ``MSAL_FORCE_REGION``.
|
457
|
+
2. ``azure_region="some_region"`` - meaning the specified region is used.
|
458
|
+
3. ``azure_region=True`` - meaning
|
459
|
+
MSAL will try to auto-detect the region. This is not recommended.
|
460
|
+
4. ``azure_region=False`` - meaning MSAL will use no region.
|
441
461
|
|
442
462
|
.. note::
|
443
463
|
Region auto-discovery has been tested on VMs and on Azure Functions. It is unreliable.
|
@@ -603,6 +623,9 @@ class ClientApplication(object):
|
|
603
623
|
# Here the self.authority will not be the same type as authority in input
|
604
624
|
if oidc_authority and authority:
|
605
625
|
raise ValueError("You can not provide both authority and oidc_authority")
|
626
|
+
if isinstance(authority, str) and urlparse(authority).path.startswith(
|
627
|
+
"/dstsv2"): # dSTS authority's path always starts with "/dstsv2"
|
628
|
+
oidc_authority = authority # So we treat it as if an oidc_authority
|
606
629
|
try:
|
607
630
|
authority_to_use = authority or "https://{}/common/".format(WORLD_WIDE)
|
608
631
|
self.authority = Authority(
|
@@ -615,7 +638,10 @@ class ClientApplication(object):
|
|
615
638
|
except ValueError: # Those are explicit authority validation errors
|
616
639
|
raise
|
617
640
|
except Exception: # The rest are typically connection errors
|
618
|
-
if validate_authority and
|
641
|
+
if validate_authority and not oidc_authority and (
|
642
|
+
azure_region # Opted in to use region
|
643
|
+
or (azure_region is None and os.getenv("MSAL_FORCE_REGION")) # Will use region
|
644
|
+
):
|
619
645
|
# Since caller opts in to use region, here we tolerate connection
|
620
646
|
# errors happened during authority validation at non-region endpoint
|
621
647
|
self.authority = Authority(
|
@@ -635,6 +661,8 @@ class ClientApplication(object):
|
|
635
661
|
self.authority_groups = None
|
636
662
|
self._telemetry_buffer = {}
|
637
663
|
self._telemetry_lock = Lock()
|
664
|
+
_msal_extension_check()
|
665
|
+
|
638
666
|
|
639
667
|
def _decide_broker(self, allow_broker, enable_pii_log):
|
640
668
|
is_confidential_app = self.client_credential or isinstance(
|
@@ -647,7 +675,8 @@ class ClientApplication(object):
|
|
647
675
|
"allow_broker is deprecated. "
|
648
676
|
"Please use PublicClientApplication(..., "
|
649
677
|
"enable_broker_on_windows=True, "
|
650
|
-
|
678
|
+
# No need to mention non-Windows platforms, because allow_broker is only for Windows
|
679
|
+
"...)",
|
651
680
|
DeprecationWarning)
|
652
681
|
opted_in_for_broker = (
|
653
682
|
self._enable_broker # True means Opted-in from PCA
|
@@ -669,7 +698,7 @@ class ClientApplication(object):
|
|
669
698
|
_init_broker(enable_pii_log)
|
670
699
|
except RuntimeError:
|
671
700
|
self._enable_broker = False
|
672
|
-
logger.
|
701
|
+
logger.warning( # It is common on Mac and Linux where broker is not built-in
|
673
702
|
"Broker is unavailable on this platform. "
|
674
703
|
"We will fallback to non-broker.")
|
675
704
|
logger.debug("Broker enabled? %s", self._enable_broker)
|
@@ -707,9 +736,11 @@ The reserved list: {}""".format(list(scope_set), list(reserved_scope)))
|
|
707
736
|
self._telemetry_buffer, self._telemetry_lock, api_id,
|
708
737
|
correlation_id=correlation_id, refresh_reason=refresh_reason)
|
709
738
|
|
710
|
-
def _get_regional_authority(self, central_authority):
|
711
|
-
if
|
739
|
+
def _get_regional_authority(self, central_authority) -> Optional[Authority]:
|
740
|
+
if self._region_configured is False: # User opts out of ESTS-R
|
712
741
|
return None # Short circuit to completely bypass region detection
|
742
|
+
if self._region_configured is None: # User did not make an ESTS-R choice
|
743
|
+
self._region_configured = os.getenv("MSAL_FORCE_REGION") or None
|
713
744
|
self._region_detected = self._region_detected or _detect_region(
|
714
745
|
self.http_client if self._region_configured is not None else None)
|
715
746
|
if (self._region_configured != self.ATTEMPT_REGION_DISCOVERY
|
@@ -743,7 +774,7 @@ The reserved list: {}""".format(list(scope_set), list(reserved_scope)))
|
|
743
774
|
client_assertion = None
|
744
775
|
client_assertion_type = None
|
745
776
|
default_headers = {
|
746
|
-
"x-client-sku":
|
777
|
+
"x-client-sku": SKU, "x-client-ver": __version__,
|
747
778
|
"x-client-os": sys.platform,
|
748
779
|
"x-ms-lib-capability": "retry-after, h429",
|
749
780
|
}
|
@@ -1888,7 +1919,12 @@ class PublicClientApplication(ClientApplication): # browser app or mobile app
|
|
1888
1919
|
DEVICE_FLOW_CORRELATION_ID = "_correlation_id"
|
1889
1920
|
CONSOLE_WINDOW_HANDLE = object()
|
1890
1921
|
|
1891
|
-
def __init__(
|
1922
|
+
def __init__(
|
1923
|
+
self, client_id, client_credential=None,
|
1924
|
+
*,
|
1925
|
+
enable_broker_on_windows=None,
|
1926
|
+
enable_broker_on_mac=None,
|
1927
|
+
**kwargs):
|
1892
1928
|
"""Same as :func:`ClientApplication.__init__`,
|
1893
1929
|
except that ``client_credential`` parameter shall remain ``None``.
|
1894
1930
|
|
@@ -1965,9 +2001,6 @@ class PublicClientApplication(ClientApplication): # browser app or mobile app
|
|
1965
2001
|
"""
|
1966
2002
|
if client_credential is not None:
|
1967
2003
|
raise ValueError("Public Client should not possess credentials")
|
1968
|
-
# Using kwargs notation for now. We will switch to keyword-only arguments.
|
1969
|
-
enable_broker_on_windows = kwargs.pop("enable_broker_on_windows", False)
|
1970
|
-
enable_broker_on_mac = kwargs.pop("enable_broker_on_mac", False)
|
1971
2004
|
self._enable_broker = bool(
|
1972
2005
|
enable_broker_on_windows and sys.platform == "win32"
|
1973
2006
|
or enable_broker_on_mac and sys.platform == "darwin")
|
@@ -2211,7 +2244,8 @@ class PublicClientApplication(ClientApplication): # browser app or mobile app
|
|
2211
2244
|
# _signin_silently() only gets tokens for default account,
|
2212
2245
|
# but this seems to have been fixed in PyMsalRuntime 0.11.2
|
2213
2246
|
"access_token" in response and login_hint
|
2214
|
-
and response.get(
|
2247
|
+
and login_hint != response.get(
|
2248
|
+
"id_token_claims", {}).get("preferred_username"))
|
2215
2249
|
wrong_account_error_message = (
|
2216
2250
|
'prompt="none" will not work for login_hint="non-default-user"')
|
2217
2251
|
if is_wrong_account:
|
@@ -7,6 +7,7 @@ import sys
|
|
7
7
|
import time
|
8
8
|
import uuid
|
9
9
|
|
10
|
+
from .sku import __version__, SKU
|
10
11
|
|
11
12
|
logger = logging.getLogger(__name__)
|
12
13
|
try:
|
@@ -23,7 +24,15 @@ try:
|
|
23
24
|
except (ImportError, AttributeError): # AttributeError happens when a prior pymsalruntime uninstallation somehow leaved an empty folder behind
|
24
25
|
# PyMsalRuntime currently supports these Windows versions, listed in this MSFT internal link
|
25
26
|
# https://github.com/AzureAD/microsoft-authentication-library-for-cpp/pull/2406/files
|
26
|
-
|
27
|
+
min_ver = {
|
28
|
+
"win32": "1.20",
|
29
|
+
"darwin": "1.31",
|
30
|
+
}.get(sys.platform)
|
31
|
+
if min_ver:
|
32
|
+
raise ImportError(
|
33
|
+
f'You must install dependency by: pip install "msal[broker]>={min_ver},<2"')
|
34
|
+
else: # Unsupported platform
|
35
|
+
raise ImportError("Dependency pymsalruntime unavailable on current platform")
|
27
36
|
# It could throw RuntimeError when running on ancient versions of Windows
|
28
37
|
|
29
38
|
|
@@ -127,13 +136,18 @@ def _get_new_correlation_id():
|
|
127
136
|
def _enable_msa_pt(params):
|
128
137
|
params.set_additional_parameter("msal_request_type", "consumer_passthrough") # PyMsalRuntime 0.8+
|
129
138
|
|
139
|
+
def _build_msal_runtime_auth_params(client_id, authority):
|
140
|
+
params = pymsalruntime.MSALRuntimeAuthParameters(client_id, authority)
|
141
|
+
params.set_additional_parameter("msal_client_sku", SKU)
|
142
|
+
params.set_additional_parameter("msal_client_ver", __version__)
|
143
|
+
return params
|
130
144
|
|
131
145
|
def _signin_silently(
|
132
146
|
authority, client_id, scopes, correlation_id=None, claims=None,
|
133
147
|
enable_msa_pt=False,
|
134
148
|
auth_scheme=None,
|
135
149
|
**kwargs):
|
136
|
-
params =
|
150
|
+
params = _build_msal_runtime_auth_params(client_id, authority)
|
137
151
|
params.set_requested_scopes(scopes)
|
138
152
|
if claims:
|
139
153
|
params.set_decoded_claims(claims)
|
@@ -166,7 +180,7 @@ def _signin_interactively(
|
|
166
180
|
enable_msa_pt=False,
|
167
181
|
auth_scheme=None,
|
168
182
|
**kwargs):
|
169
|
-
params =
|
183
|
+
params = _build_msal_runtime_auth_params(client_id, authority)
|
170
184
|
params.set_requested_scopes(scopes)
|
171
185
|
params.set_redirect_uri(
|
172
186
|
_redirect_uri_on_mac if sys.platform == "darwin" else
|
@@ -222,7 +236,7 @@ def _acquire_token_silently(
|
|
222
236
|
account = _read_account_by_id(account_id, correlation_id)
|
223
237
|
if account is None:
|
224
238
|
return
|
225
|
-
params =
|
239
|
+
params = _build_msal_runtime_auth_params(client_id, authority)
|
226
240
|
params.set_requested_scopes(scopes)
|
227
241
|
if claims:
|
228
242
|
params.set_decoded_claims(claims)
|
@@ -32,8 +32,12 @@ def _scope_to_resource(scope): # This is an experimental reasonable-effort appr
|
|
32
32
|
if scope.startswith(a):
|
33
33
|
return a
|
34
34
|
u = urlparse(scope)
|
35
|
+
if not u.scheme and not u.netloc: # Typically the "GUID/scope" case
|
36
|
+
return u.path.split("/")[0]
|
35
37
|
if u.scheme:
|
36
|
-
|
38
|
+
trailer = ( # https://learn.microsoft.com/en-us/entra/identity-platform/scopes-oidc#trailing-slash-and-default
|
39
|
+
"/" if u.path.startswith("//") else "")
|
40
|
+
return "{}://{}{}".format(u.scheme, u.netloc, trailer)
|
37
41
|
return scope # There is no much else we can do here
|
38
42
|
|
39
43
|
|