py2docfx 0.1.15rc2025477__py3-none-any.whl → 0.1.16__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 +21 -34
- py2docfx/docfx_yaml/tests/test_method_arguments.py +1 -7
- py2docfx/docfx_yaml/tests/test_process_doctree.py +120 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_core_metadata.py +21 -5
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/_msvccompiler.py +13 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/ccompiler.py +5 -2
- 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 +49 -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 +168 -51
- 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/config/test_setupcfg.py +42 -29
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/integration/test_pip_install_sdist.py +1 -1
- 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/pyasn1_modules/__init__.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_core_metadata.py +21 -5
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/_msvccompiler.py +13 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/ccompiler.py +5 -2
- 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 +49 -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 +168 -51
- 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/config/test_setupcfg.py +42 -29
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/integration/test_pip_install_sdist.py +1 -1
- 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/venv/venv1/Lib/site-packages/typing_extensions.py +999 -74
- {py2docfx-0.1.15rc2025477.dist-info → py2docfx-0.1.16.dist-info}/METADATA +1 -1
- {py2docfx-0.1.15rc2025477.dist-info → py2docfx-0.1.16.dist-info}/RECORD +141 -596
- 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.15rc2025477.dist-info → py2docfx-0.1.16.dist-info}/WHEEL +0 -0
- {py2docfx-0.1.15rc2025477.dist-info → py2docfx-0.1.16.dist-info}/top_level.txt +0 -0
@@ -58,6 +58,7 @@ we repeatedly read a tag, look up the corresponding decoder, and invoke it.
|
|
58
58
|
__author__ = 'kenton@google.com (Kenton Varda)'
|
59
59
|
|
60
60
|
import math
|
61
|
+
import numbers
|
61
62
|
import struct
|
62
63
|
|
63
64
|
from google.protobuf import message
|
@@ -71,6 +72,27 @@ from google.protobuf.internal import wire_format
|
|
71
72
|
_DecodeError = message.DecodeError
|
72
73
|
|
73
74
|
|
75
|
+
def IsDefaultScalarValue(value):
|
76
|
+
"""Returns whether or not a scalar value is the default value of its type.
|
77
|
+
|
78
|
+
Specifically, this should be used to determine presence of implicit-presence
|
79
|
+
fields, where we disallow custom defaults.
|
80
|
+
|
81
|
+
Args:
|
82
|
+
value: A scalar value to check.
|
83
|
+
|
84
|
+
Returns:
|
85
|
+
True if the value is equivalent to a default value, False otherwise.
|
86
|
+
"""
|
87
|
+
if isinstance(value, numbers.Number) and math.copysign(1.0, value) < 0:
|
88
|
+
# Special case for negative zero, where "truthiness" fails to give the right
|
89
|
+
# answer.
|
90
|
+
return False
|
91
|
+
|
92
|
+
# Normally, we can just use Python's boolean conversion.
|
93
|
+
return not value
|
94
|
+
|
95
|
+
|
74
96
|
def _VarintDecoder(mask, result_type):
|
75
97
|
"""Return an encoder for a basic varint value (does not include tag).
|
76
98
|
|
@@ -168,6 +190,19 @@ def ReadTag(buffer, pos):
|
|
168
190
|
return tag_bytes, pos
|
169
191
|
|
170
192
|
|
193
|
+
def DecodeTag(tag_bytes):
|
194
|
+
"""Decode a tag from the bytes.
|
195
|
+
|
196
|
+
Args:
|
197
|
+
tag_bytes: the bytes of the tag
|
198
|
+
|
199
|
+
Returns:
|
200
|
+
Tuple[int, int] of the tag field number and wire type.
|
201
|
+
"""
|
202
|
+
(tag, _) = _DecodeVarint(tag_bytes, 0)
|
203
|
+
return wire_format.UnpackTag(tag)
|
204
|
+
|
205
|
+
|
171
206
|
# --------------------------------------------------------------------
|
172
207
|
|
173
208
|
|
@@ -224,7 +259,7 @@ def _SimpleDecoder(wire_type, decode_value):
|
|
224
259
|
(new_value, pos) = decode_value(buffer, pos)
|
225
260
|
if pos > end:
|
226
261
|
raise _DecodeError('Truncated message.')
|
227
|
-
if clear_if_default and
|
262
|
+
if clear_if_default and IsDefaultScalarValue(new_value):
|
228
263
|
field_dict.pop(key, None)
|
229
264
|
else:
|
230
265
|
field_dict[key] = new_value
|
@@ -465,7 +500,7 @@ def EnumDecoder(field_number, is_repeated, is_packed, key, new_default,
|
|
465
500
|
(enum_value, pos) = _DecodeSignedVarint32(buffer, pos)
|
466
501
|
if pos > end:
|
467
502
|
raise _DecodeError('Truncated message.')
|
468
|
-
if clear_if_default and
|
503
|
+
if clear_if_default and IsDefaultScalarValue(enum_value):
|
469
504
|
field_dict.pop(key, None)
|
470
505
|
return pos
|
471
506
|
# pylint: disable=protected-access
|
@@ -560,7 +595,7 @@ def StringDecoder(field_number, is_repeated, is_packed, key, new_default,
|
|
560
595
|
new_pos = pos + size
|
561
596
|
if new_pos > end:
|
562
597
|
raise _DecodeError('Truncated string.')
|
563
|
-
if clear_if_default and
|
598
|
+
if clear_if_default and IsDefaultScalarValue(size):
|
564
599
|
field_dict.pop(key, None)
|
565
600
|
else:
|
566
601
|
field_dict[key] = _ConvertToUnicode(buffer[pos:new_pos])
|
@@ -601,7 +636,7 @@ def BytesDecoder(field_number, is_repeated, is_packed, key, new_default,
|
|
601
636
|
new_pos = pos + size
|
602
637
|
if new_pos > end:
|
603
638
|
raise _DecodeError('Truncated string.')
|
604
|
-
if clear_if_default and
|
639
|
+
if clear_if_default and IsDefaultScalarValue(size):
|
605
640
|
field_dict.pop(key, None)
|
606
641
|
else:
|
607
642
|
field_dict[key] = buffer[pos:new_pos].tobytes()
|
@@ -730,7 +765,6 @@ def MessageSetItemDecoder(descriptor):
|
|
730
765
|
|
731
766
|
local_ReadTag = ReadTag
|
732
767
|
local_DecodeVarint = _DecodeVarint
|
733
|
-
local_SkipField = SkipField
|
734
768
|
|
735
769
|
def DecodeItem(buffer, pos, end, message, field_dict):
|
736
770
|
"""Decode serialized message set to its value and new position.
|
@@ -762,9 +796,10 @@ def MessageSetItemDecoder(descriptor):
|
|
762
796
|
elif tag_bytes == item_end_tag_bytes:
|
763
797
|
break
|
764
798
|
else:
|
765
|
-
|
799
|
+
field_number, wire_type = DecodeTag(tag_bytes)
|
800
|
+
_, pos = _DecodeUnknownField(buffer, pos, end, field_number, wire_type)
|
766
801
|
if pos == -1:
|
767
|
-
raise _DecodeError('
|
802
|
+
raise _DecodeError('Unexpected end-group tag.')
|
768
803
|
|
769
804
|
if pos > end:
|
770
805
|
raise _DecodeError('Truncated message.')
|
@@ -822,9 +857,10 @@ def UnknownMessageSetItemDecoder():
|
|
822
857
|
elif tag_bytes == item_end_tag_bytes:
|
823
858
|
break
|
824
859
|
else:
|
825
|
-
|
860
|
+
field_number, wire_type = DecodeTag(tag_bytes)
|
861
|
+
_, pos = _DecodeUnknownField(buffer, pos, end, field_number, wire_type)
|
826
862
|
if pos == -1:
|
827
|
-
raise _DecodeError('
|
863
|
+
raise _DecodeError('Unexpected end-group tag.')
|
828
864
|
|
829
865
|
if pos > end:
|
830
866
|
raise _DecodeError('Truncated message.')
|
@@ -882,30 +918,6 @@ def MapDecoder(field_descriptor, new_default, is_message_map):
|
|
882
918
|
|
883
919
|
return DecodeMap
|
884
920
|
|
885
|
-
# --------------------------------------------------------------------
|
886
|
-
# Optimization is not as heavy here because calls to SkipField() are rare,
|
887
|
-
# except for handling end-group tags.
|
888
|
-
|
889
|
-
def _SkipVarint(buffer, pos, end):
|
890
|
-
"""Skip a varint value. Returns the new position."""
|
891
|
-
# Previously ord(buffer[pos]) raised IndexError when pos is out of range.
|
892
|
-
# With this code, ord(b'') raises TypeError. Both are handled in
|
893
|
-
# python_message.py to generate a 'Truncated message' error.
|
894
|
-
while ord(buffer[pos:pos+1].tobytes()) & 0x80:
|
895
|
-
pos += 1
|
896
|
-
pos += 1
|
897
|
-
if pos > end:
|
898
|
-
raise _DecodeError('Truncated message.')
|
899
|
-
return pos
|
900
|
-
|
901
|
-
def _SkipFixed64(buffer, pos, end):
|
902
|
-
"""Skip a fixed64 value. Returns the new position."""
|
903
|
-
|
904
|
-
pos += 8
|
905
|
-
if pos > end:
|
906
|
-
raise _DecodeError('Truncated message.')
|
907
|
-
return pos
|
908
|
-
|
909
921
|
|
910
922
|
def _DecodeFixed64(buffer, pos):
|
911
923
|
"""Decode a fixed64."""
|
@@ -913,25 +925,11 @@ def _DecodeFixed64(buffer, pos):
|
|
913
925
|
return (struct.unpack('<Q', buffer[pos:new_pos])[0], new_pos)
|
914
926
|
|
915
927
|
|
916
|
-
def
|
917
|
-
"""
|
918
|
-
|
919
|
-
(size, pos) = _DecodeVarint(buffer, pos)
|
920
|
-
pos += size
|
921
|
-
if pos > end:
|
922
|
-
raise _DecodeError('Truncated message.')
|
923
|
-
return pos
|
924
|
-
|
925
|
-
|
926
|
-
def _SkipGroup(buffer, pos, end):
|
927
|
-
"""Skip sub-group. Returns the new position."""
|
928
|
+
def _DecodeFixed32(buffer, pos):
|
929
|
+
"""Decode a fixed32."""
|
928
930
|
|
929
|
-
|
930
|
-
|
931
|
-
new_pos = SkipField(buffer, pos, end, tag_bytes)
|
932
|
-
if new_pos == -1:
|
933
|
-
return pos
|
934
|
-
pos = new_pos
|
931
|
+
new_pos = pos + 4
|
932
|
+
return (struct.unpack('<I', buffer[pos:new_pos])[0], new_pos)
|
935
933
|
|
936
934
|
|
937
935
|
def _DecodeUnknownFieldSet(buffer, pos, end_pos=None):
|
@@ -944,14 +942,16 @@ def _DecodeUnknownFieldSet(buffer, pos, end_pos=None):
|
|
944
942
|
field_number, wire_type = wire_format.UnpackTag(tag)
|
945
943
|
if wire_type == wire_format.WIRETYPE_END_GROUP:
|
946
944
|
break
|
947
|
-
(data, pos) = _DecodeUnknownField(
|
945
|
+
(data, pos) = _DecodeUnknownField(
|
946
|
+
buffer, pos, end_pos, field_number, wire_type
|
947
|
+
)
|
948
948
|
# pylint: disable=protected-access
|
949
949
|
unknown_field_set._add(field_number, wire_type, data)
|
950
950
|
|
951
951
|
return (unknown_field_set, pos)
|
952
952
|
|
953
953
|
|
954
|
-
def _DecodeUnknownField(buffer, pos, wire_type):
|
954
|
+
def _DecodeUnknownField(buffer, pos, end_pos, field_number, wire_type):
|
955
955
|
"""Decode a unknown field. Returns the UnknownField and new position."""
|
956
956
|
|
957
957
|
if wire_type == wire_format.WIRETYPE_VARINT:
|
@@ -965,72 +965,19 @@ def _DecodeUnknownField(buffer, pos, wire_type):
|
|
965
965
|
data = buffer[pos:pos+size].tobytes()
|
966
966
|
pos += size
|
967
967
|
elif wire_type == wire_format.WIRETYPE_START_GROUP:
|
968
|
-
|
968
|
+
end_tag_bytes = encoder.TagBytes(
|
969
|
+
field_number, wire_format.WIRETYPE_END_GROUP
|
970
|
+
)
|
971
|
+
data, pos = _DecodeUnknownFieldSet(buffer, pos, end_pos)
|
972
|
+
# Check end tag.
|
973
|
+
if buffer[pos - len(end_tag_bytes) : pos] != end_tag_bytes:
|
974
|
+
raise _DecodeError('Missing group end tag.')
|
969
975
|
elif wire_type == wire_format.WIRETYPE_END_GROUP:
|
970
976
|
return (0, -1)
|
971
977
|
else:
|
972
978
|
raise _DecodeError('Wrong wire type in tag.')
|
973
979
|
|
974
|
-
|
975
|
-
|
976
|
-
|
977
|
-
def _EndGroup(buffer, pos, end):
|
978
|
-
"""Skipping an END_GROUP tag returns -1 to tell the parent loop to break."""
|
979
|
-
|
980
|
-
return -1
|
981
|
-
|
982
|
-
|
983
|
-
def _SkipFixed32(buffer, pos, end):
|
984
|
-
"""Skip a fixed32 value. Returns the new position."""
|
985
|
-
|
986
|
-
pos += 4
|
987
|
-
if pos > end:
|
980
|
+
if pos > end_pos:
|
988
981
|
raise _DecodeError('Truncated message.')
|
989
|
-
return pos
|
990
|
-
|
991
982
|
|
992
|
-
|
993
|
-
"""Decode a fixed32."""
|
994
|
-
|
995
|
-
new_pos = pos + 4
|
996
|
-
return (struct.unpack('<I', buffer[pos:new_pos])[0], new_pos)
|
997
|
-
|
998
|
-
|
999
|
-
def _RaiseInvalidWireType(buffer, pos, end):
|
1000
|
-
"""Skip function for unknown wire types. Raises an exception."""
|
1001
|
-
|
1002
|
-
raise _DecodeError('Tag had invalid wire type.')
|
1003
|
-
|
1004
|
-
def _FieldSkipper():
|
1005
|
-
"""Constructs the SkipField function."""
|
1006
|
-
|
1007
|
-
WIRETYPE_TO_SKIPPER = [
|
1008
|
-
_SkipVarint,
|
1009
|
-
_SkipFixed64,
|
1010
|
-
_SkipLengthDelimited,
|
1011
|
-
_SkipGroup,
|
1012
|
-
_EndGroup,
|
1013
|
-
_SkipFixed32,
|
1014
|
-
_RaiseInvalidWireType,
|
1015
|
-
_RaiseInvalidWireType,
|
1016
|
-
]
|
1017
|
-
|
1018
|
-
wiretype_mask = wire_format.TAG_TYPE_MASK
|
1019
|
-
|
1020
|
-
def SkipField(buffer, pos, end, tag_bytes):
|
1021
|
-
"""Skips a field with the specified tag.
|
1022
|
-
|
1023
|
-
|pos| should point to the byte immediately after the tag.
|
1024
|
-
|
1025
|
-
Returns:
|
1026
|
-
The new position (after the tag value), or -1 if the tag is an end-group
|
1027
|
-
tag (in which case the calling loop should break).
|
1028
|
-
"""
|
1029
|
-
|
1030
|
-
# The wire type is always in the first byte since varints are little-endian.
|
1031
|
-
wire_type = ord(tag_bytes[0:1]) & wiretype_mask
|
1032
|
-
return WIRETYPE_TO_SKIPPER[wire_type](buffer, pos, end)
|
1033
|
-
|
1034
|
-
return SkipField
|
1035
|
-
|
1036
|
-
SkipField = _FieldSkipper()
|
983
|
+
return (data, pos)
|
@@ -2,4 +2,4 @@
|
|
2
2
|
This file contains the serialized FeatureSetDefaults object corresponding to
|
3
3
|
the Pure Python runtime. This is used for feature resolution under Editions.
|
4
4
|
"""
|
5
|
-
_PROTOBUF_INTERNAL_PYTHON_EDITION_DEFAULTS = b"\n\
|
5
|
+
_PROTOBUF_INTERNAL_PYTHON_EDITION_DEFAULTS = b"\n\025\030\204\007\"\000*\016\010\001\020\002\030\002 \003(\0010\0028\002\n\025\030\347\007\"\000*\016\010\002\020\001\030\001 \002(\0010\0018\002\n\025\030\350\007\"\014\010\001\020\001\030\001 \002(\0010\001*\0028\002 \346\007(\350\007"
|
@@ -29,6 +29,7 @@ __author__ = 'robinson@google.com (Will Robinson)'
|
|
29
29
|
|
30
30
|
import datetime
|
31
31
|
from io import BytesIO
|
32
|
+
import math
|
32
33
|
import struct
|
33
34
|
import sys
|
34
35
|
import warnings
|
@@ -522,7 +523,11 @@ def _AddInitMethod(message_descriptor, cls):
|
|
522
523
|
if _IsMapField(field):
|
523
524
|
if _IsMessageMapField(field):
|
524
525
|
for key in field_value:
|
525
|
-
|
526
|
+
item_value = field_value[key]
|
527
|
+
if isinstance(item_value, dict):
|
528
|
+
field_copy[key].__init__(**item_value)
|
529
|
+
else:
|
530
|
+
field_copy[key].MergeFrom(item_value)
|
526
531
|
else:
|
527
532
|
field_copy.update(field_value)
|
528
533
|
else:
|
@@ -716,14 +721,14 @@ def _AddPropertiesForNonRepeatedScalarField(field, cls):
|
|
716
721
|
|
717
722
|
def field_setter(self, new_value):
|
718
723
|
# pylint: disable=protected-access
|
719
|
-
# Testing the value for truthiness captures all of the
|
720
|
-
# (0, 0.0, enum 0, and False).
|
724
|
+
# Testing the value for truthiness captures all of the implicit presence
|
725
|
+
# defaults (0, 0.0, enum 0, and False), except for -0.0.
|
721
726
|
try:
|
722
727
|
new_value = type_checker.CheckValue(new_value)
|
723
728
|
except TypeError as e:
|
724
729
|
raise TypeError(
|
725
730
|
'Cannot set %s to %.1024r: %s' % (field.full_name, new_value, e))
|
726
|
-
if not field.has_presence and
|
731
|
+
if not field.has_presence and decoder.IsDefaultScalarValue(new_value):
|
727
732
|
self._fields.pop(field, None)
|
728
733
|
else:
|
729
734
|
self._fields[field] = new_value
|
@@ -1192,8 +1197,6 @@ def _AddMergeFromStringMethod(message_descriptor, cls):
|
|
1192
1197
|
return length # Return this for legacy reasons.
|
1193
1198
|
cls.MergeFromString = MergeFromString
|
1194
1199
|
|
1195
|
-
local_ReadTag = decoder.ReadTag
|
1196
|
-
local_SkipField = decoder.SkipField
|
1197
1200
|
fields_by_tag = cls._fields_by_tag
|
1198
1201
|
message_set_decoders_by_tag = cls._message_set_decoders_by_tag
|
1199
1202
|
|
@@ -1215,7 +1218,7 @@ def _AddMergeFromStringMethod(message_descriptor, cls):
|
|
1215
1218
|
self._Modified()
|
1216
1219
|
field_dict = self._fields
|
1217
1220
|
while pos != end:
|
1218
|
-
(tag_bytes, new_pos) =
|
1221
|
+
(tag_bytes, new_pos) = decoder.ReadTag(buffer, pos)
|
1219
1222
|
field_decoder, field_des = message_set_decoders_by_tag.get(
|
1220
1223
|
tag_bytes, (None, None)
|
1221
1224
|
)
|
@@ -1226,23 +1229,17 @@ def _AddMergeFromStringMethod(message_descriptor, cls):
|
|
1226
1229
|
if field_des is None:
|
1227
1230
|
if not self._unknown_fields: # pylint: disable=protected-access
|
1228
1231
|
self._unknown_fields = [] # pylint: disable=protected-access
|
1229
|
-
|
1230
|
-
(tag, _) = decoder._DecodeVarint(tag_bytes, 0)
|
1231
|
-
field_number, wire_type = wire_format.UnpackTag(tag)
|
1232
|
+
field_number, wire_type = decoder.DecodeTag(tag_bytes)
|
1232
1233
|
if field_number == 0:
|
1233
1234
|
raise message_mod.DecodeError('Field number 0 is illegal.')
|
1234
|
-
# TODO: remove old_pos.
|
1235
|
-
old_pos = new_pos
|
1236
1235
|
(data, new_pos) = decoder._DecodeUnknownField(
|
1237
|
-
buffer, new_pos,
|
1238
|
-
|
1239
|
-
return pos
|
1240
|
-
# TODO: remove _unknown_fields.
|
1241
|
-
new_pos = local_SkipField(buffer, old_pos, end, tag_bytes)
|
1236
|
+
buffer, new_pos, end, field_number, wire_type
|
1237
|
+
) # pylint: disable=protected-access
|
1242
1238
|
if new_pos == -1:
|
1243
1239
|
return pos
|
1244
1240
|
self._unknown_fields.append(
|
1245
|
-
(tag_bytes, buffer[
|
1241
|
+
(tag_bytes, buffer[pos + len(tag_bytes) : new_pos].tobytes())
|
1242
|
+
)
|
1246
1243
|
pos = new_pos
|
1247
1244
|
else:
|
1248
1245
|
_MaybeAddDecoder(cls, field_des)
|
@@ -37,6 +37,9 @@ class LocalTestResult(unittest.TestResult):
|
|
37
37
|
def addSkip(self, test, reason):
|
38
38
|
pass
|
39
39
|
|
40
|
+
def addDuration(self, test, duration):
|
41
|
+
pass
|
42
|
+
|
40
43
|
|
41
44
|
class ReferenceLeakCheckerMixin(object):
|
42
45
|
"""A mixin class for TestCase, which checks reference counts."""
|
@@ -59,7 +62,7 @@ class ReferenceLeakCheckerMixin(object):
|
|
59
62
|
super(ReferenceLeakCheckerMixin, self).run(result=result)
|
60
63
|
super(ReferenceLeakCheckerMixin, self).run(result=result)
|
61
64
|
|
62
|
-
oldrefcount = 0
|
65
|
+
oldrefcount = 0 # pylint: disable=unused-variable but needed for refcounts.
|
63
66
|
local_result = LocalTestResult(result)
|
64
67
|
num_flakes = 0
|
65
68
|
|
@@ -231,6 +231,7 @@ class Uint64ValueChecker(IntValueChecker):
|
|
231
231
|
# The max 4 bytes float is about 3.4028234663852886e+38
|
232
232
|
_FLOAT_MAX = float.fromhex('0x1.fffffep+127')
|
233
233
|
_FLOAT_MIN = -_FLOAT_MAX
|
234
|
+
_MAX_FLOAT_AS_DOUBLE_ROUNDED = 3.4028235677973366e38
|
234
235
|
_INF = float('inf')
|
235
236
|
_NEG_INF = float('-inf')
|
236
237
|
|
@@ -269,8 +270,12 @@ class FloatValueChecker(DoubleValueChecker):
|
|
269
270
|
converted_value = super().CheckValue(proposed_value)
|
270
271
|
# This inf rounding matches the C++ proto SafeDoubleToFloat logic.
|
271
272
|
if converted_value > _FLOAT_MAX:
|
273
|
+
if converted_value <= _MAX_FLOAT_AS_DOUBLE_ROUNDED:
|
274
|
+
return _FLOAT_MAX
|
272
275
|
return _INF
|
273
276
|
if converted_value < _FLOAT_MIN:
|
277
|
+
if converted_value >= -_MAX_FLOAT_AS_DOUBLE_ROUNDED:
|
278
|
+
return _FLOAT_MIN
|
274
279
|
return _NEG_INF
|
275
280
|
|
276
281
|
return TruncateToFourByteFloat(converted_value)
|
@@ -26,7 +26,7 @@ from typing import Union
|
|
26
26
|
|
27
27
|
FieldMask = field_mask.FieldMask
|
28
28
|
|
29
|
-
|
29
|
+
_TIMESTAMPFORMAT = '%Y-%m-%dT%H:%M:%S'
|
30
30
|
_NANOS_PER_SECOND = 1000000000
|
31
31
|
_NANOS_PER_MILLISECOND = 1000000
|
32
32
|
_NANOS_PER_MICROSECOND = 1000
|
@@ -68,7 +68,7 @@ class Any(object):
|
|
68
68
|
def TypeName(self):
|
69
69
|
"""Returns the protobuf type name of the inner message."""
|
70
70
|
# Only last part is to be used: b/25630112
|
71
|
-
return self.type_url.
|
71
|
+
return self.type_url.rpartition('/')[2]
|
72
72
|
|
73
73
|
def Is(self, descriptor):
|
74
74
|
"""Checks if this Any represents the given protobuf type."""
|
@@ -142,7 +142,7 @@ class Timestamp(object):
|
|
142
142
|
raise ValueError(
|
143
143
|
'time data \'{0}\' does not match format \'%Y-%m-%dT%H:%M:%S\', '
|
144
144
|
'lowercase \'t\' is not accepted'.format(second_value))
|
145
|
-
date_object = datetime.datetime.strptime(second_value,
|
145
|
+
date_object = datetime.datetime.strptime(second_value, _TIMESTAMPFORMAT)
|
146
146
|
td = date_object - datetime.datetime(1970, 1, 1)
|
147
147
|
seconds = td.seconds + td.days * _SECONDS_PER_DAY
|
148
148
|
if len(nano_value) > 9:
|
@@ -497,6 +497,7 @@ def ParseDict(
|
|
497
497
|
|
498
498
|
|
499
499
|
_INT_OR_FLOAT = (int, float)
|
500
|
+
_LIST_LIKE = (list, tuple)
|
500
501
|
|
501
502
|
|
502
503
|
class _Parser(object):
|
@@ -638,7 +639,7 @@ class _Parser(object):
|
|
638
639
|
)
|
639
640
|
elif field.label == descriptor.FieldDescriptor.LABEL_REPEATED:
|
640
641
|
message.ClearField(field.name)
|
641
|
-
if not isinstance(value,
|
642
|
+
if not isinstance(value, _LIST_LIKE):
|
642
643
|
raise ParseError(
|
643
644
|
'repeated field {0} must be in [] which is {1} at {2}'.format(
|
644
645
|
name, value, path
|
@@ -733,8 +734,10 @@ class _Parser(object):
|
|
733
734
|
)(self)
|
734
735
|
else:
|
735
736
|
del value['@type']
|
736
|
-
|
737
|
-
|
737
|
+
try:
|
738
|
+
self._ConvertFieldValuePair(value, sub_message, path)
|
739
|
+
finally:
|
740
|
+
value['@type'] = type_url
|
738
741
|
# Sets Any message
|
739
742
|
message.value = sub_message.SerializeToString()
|
740
743
|
message.type_url = type_url
|
@@ -752,8 +755,8 @@ class _Parser(object):
|
|
752
755
|
"""Convert a JSON representation into Value message."""
|
753
756
|
if isinstance(value, dict):
|
754
757
|
self._ConvertStructMessage(value, message.struct_value, path)
|
755
|
-
elif isinstance(value,
|
756
|
-
self.
|
758
|
+
elif isinstance(value, _LIST_LIKE):
|
759
|
+
self._ConvertListOrTupleValueMessage(value, message.list_value, path)
|
757
760
|
elif value is None:
|
758
761
|
message.null_value = 0
|
759
762
|
elif isinstance(value, bool):
|
@@ -769,9 +772,9 @@ class _Parser(object):
|
|
769
772
|
)
|
770
773
|
)
|
771
774
|
|
772
|
-
def
|
775
|
+
def _ConvertListOrTupleValueMessage(self, value, message, path):
|
773
776
|
"""Convert a JSON representation into ListValue message."""
|
774
|
-
if not isinstance(value,
|
777
|
+
if not isinstance(value, _LIST_LIKE):
|
775
778
|
raise ParseError(
|
776
779
|
'ListValue must be in [] which is {0} at {1}'.format(value, path)
|
777
780
|
)
|
@@ -971,7 +974,20 @@ def _ConvertInteger(value):
|
|
971
974
|
'Bool value {0} is not acceptable for integer field'.format(value)
|
972
975
|
)
|
973
976
|
|
974
|
-
|
977
|
+
try:
|
978
|
+
return int(value)
|
979
|
+
except ValueError as e:
|
980
|
+
# Attempt to parse as an integer-valued float.
|
981
|
+
try:
|
982
|
+
f = float(value)
|
983
|
+
except ValueError:
|
984
|
+
# Raise the original exception for the int parse.
|
985
|
+
raise e # pylint: disable=raise-missing-from
|
986
|
+
if not f.is_integer():
|
987
|
+
raise ParseError(
|
988
|
+
'Couldn\'t parse non-integer string: "{0}"'.format(value)
|
989
|
+
) from e
|
990
|
+
return int(f)
|
975
991
|
|
976
992
|
|
977
993
|
def _ConvertFloat(value, field):
|
@@ -1052,7 +1068,7 @@ _WKTJSONMETHODS = {
|
|
1052
1068
|
],
|
1053
1069
|
'google.protobuf.ListValue': [
|
1054
1070
|
'_ListValueMessageToJsonObject',
|
1055
|
-
'
|
1071
|
+
'_ConvertListOrTupleValueMessage',
|
1056
1072
|
],
|
1057
1073
|
'google.protobuf.Struct': [
|
1058
1074
|
'_StructMessageToJsonObject',
|
@@ -13,6 +13,9 @@
|
|
13
13
|
|
14
14
|
__author__ = 'robinson@google.com (Will Robinson)'
|
15
15
|
|
16
|
+
_INCONSISTENT_MESSAGE_ATTRIBUTES = ('Extensions',)
|
17
|
+
|
18
|
+
|
16
19
|
class Error(Exception):
|
17
20
|
"""Base error type for this module."""
|
18
21
|
pass
|
@@ -56,6 +59,29 @@ class Message(object):
|
|
56
59
|
clone.MergeFrom(self)
|
57
60
|
return clone
|
58
61
|
|
62
|
+
def __dir__(self):
|
63
|
+
"""Provides the list of all accessible Message attributes."""
|
64
|
+
message_attributes = set(super().__dir__())
|
65
|
+
|
66
|
+
# TODO: Remove this once the UPB implementation is improved.
|
67
|
+
# The UPB proto implementation currently doesn't provide proto fields as
|
68
|
+
# attributes and they have to added.
|
69
|
+
if self.DESCRIPTOR is not None:
|
70
|
+
for field in self.DESCRIPTOR.fields:
|
71
|
+
message_attributes.add(field.name)
|
72
|
+
|
73
|
+
# The Fast C++ proto implementation provides inaccessible attributes that
|
74
|
+
# have to be removed.
|
75
|
+
for attribute in _INCONSISTENT_MESSAGE_ATTRIBUTES:
|
76
|
+
if attribute not in message_attributes:
|
77
|
+
continue
|
78
|
+
try:
|
79
|
+
getattr(self, attribute)
|
80
|
+
except AttributeError:
|
81
|
+
message_attributes.remove(attribute)
|
82
|
+
|
83
|
+
return sorted(message_attributes)
|
84
|
+
|
59
85
|
def __eq__(self, other_msg):
|
60
86
|
"""Recursively compares two messages by value and structure."""
|
61
87
|
raise NotImplementedError
|
@@ -142,69 +142,6 @@ class MessageFactory(object):
|
|
142
142
|
"""Initializes a new factory."""
|
143
143
|
self.pool = pool or descriptor_pool.DescriptorPool()
|
144
144
|
|
145
|
-
def GetPrototype(self, descriptor):
|
146
|
-
"""Obtains a proto2 message class based on the passed in descriptor.
|
147
|
-
|
148
|
-
Passing a descriptor with a fully qualified name matching a previous
|
149
|
-
invocation will cause the same class to be returned.
|
150
|
-
|
151
|
-
Args:
|
152
|
-
descriptor: The descriptor to build from.
|
153
|
-
|
154
|
-
Returns:
|
155
|
-
A class describing the passed in descriptor.
|
156
|
-
"""
|
157
|
-
warnings.warn(
|
158
|
-
'MessageFactory class is deprecated. Please use '
|
159
|
-
'GetMessageClass() instead of MessageFactory.GetPrototype. '
|
160
|
-
'MessageFactory class will be removed after 2024.',
|
161
|
-
stacklevel=2,
|
162
|
-
)
|
163
|
-
return GetMessageClass(descriptor)
|
164
|
-
|
165
|
-
def CreatePrototype(self, descriptor):
|
166
|
-
"""Builds a proto2 message class based on the passed in descriptor.
|
167
|
-
|
168
|
-
Don't call this function directly, it always creates a new class. Call
|
169
|
-
GetMessageClass() instead.
|
170
|
-
|
171
|
-
Args:
|
172
|
-
descriptor: The descriptor to build from.
|
173
|
-
|
174
|
-
Returns:
|
175
|
-
A class describing the passed in descriptor.
|
176
|
-
"""
|
177
|
-
warnings.warn(
|
178
|
-
'Directly call CreatePrototype is wrong. Please use '
|
179
|
-
'GetMessageClass() method instead. Directly use '
|
180
|
-
'CreatePrototype will raise error after July 2023.',
|
181
|
-
stacklevel=2,
|
182
|
-
)
|
183
|
-
return _InternalCreateMessageClass(descriptor)
|
184
|
-
|
185
|
-
def GetMessages(self, files):
|
186
|
-
"""Gets all the messages from a specified file.
|
187
|
-
|
188
|
-
This will find and resolve dependencies, failing if the descriptor
|
189
|
-
pool cannot satisfy them.
|
190
|
-
|
191
|
-
Args:
|
192
|
-
files: The file names to extract messages from.
|
193
|
-
|
194
|
-
Returns:
|
195
|
-
A dictionary mapping proto names to the message classes. This will include
|
196
|
-
any dependent messages as well as any messages defined in the same file as
|
197
|
-
a specified message.
|
198
|
-
"""
|
199
|
-
warnings.warn(
|
200
|
-
'MessageFactory class is deprecated. Please use '
|
201
|
-
'GetMessageClassesForFiles() instead of '
|
202
|
-
'MessageFactory.GetMessages(). MessageFactory class '
|
203
|
-
'will be removed after 2024.',
|
204
|
-
stacklevel=2,
|
205
|
-
)
|
206
|
-
return GetMessageClassesForFiles(files, self.pool)
|
207
|
-
|
208
145
|
|
209
146
|
def GetMessages(file_protos, pool=None):
|
210
147
|
"""Builds a dictionary of all the messages available in a set of files.
|
@@ -8,7 +8,7 @@
|
|
8
8
|
"""Contains the Nextgen Pythonic protobuf APIs."""
|
9
9
|
|
10
10
|
import io
|
11
|
-
from typing import Type, TypeVar
|
11
|
+
from typing import Text, Type, TypeVar
|
12
12
|
|
13
13
|
from google.protobuf.internal import decoder
|
14
14
|
from google.protobuf.internal import encoder
|
@@ -114,3 +114,40 @@ def parse_length_prefixed(
|
|
114
114
|
'{2}.'.format(size, parsed_size, message.DESCRIPTOR.name)
|
115
115
|
)
|
116
116
|
return message
|
117
|
+
|
118
|
+
|
119
|
+
def byte_size(message: Message) -> int:
|
120
|
+
"""Returns the serialized size of this message.
|
121
|
+
|
122
|
+
Args:
|
123
|
+
message: A proto message.
|
124
|
+
|
125
|
+
Returns:
|
126
|
+
int: The number of bytes required to serialize this message.
|
127
|
+
"""
|
128
|
+
return message.ByteSize()
|
129
|
+
|
130
|
+
|
131
|
+
def clear_message(message: Message) -> None:
|
132
|
+
"""Clears all data that was set in the message.
|
133
|
+
|
134
|
+
Args:
|
135
|
+
message: The proto message to be cleared.
|
136
|
+
"""
|
137
|
+
message.Clear()
|
138
|
+
|
139
|
+
|
140
|
+
def clear_field(message: Message, field_name: Text) -> None:
|
141
|
+
"""Clears the contents of a given field.
|
142
|
+
|
143
|
+
Inside a oneof group, clears the field set. If the name neither refers to a
|
144
|
+
defined field or oneof group, :exc:`ValueError` is raised.
|
145
|
+
|
146
|
+
Args:
|
147
|
+
message: The proto message.
|
148
|
+
field_name (str): The name of the field to be cleared.
|
149
|
+
|
150
|
+
Raises:
|
151
|
+
ValueError: if the `field_name` is not a member of this message.
|
152
|
+
"""
|
153
|
+
message.ClearField(field_name)
|