mirror of
https://github.com/saltstack/salt.git
synced 2025-04-17 10:10:20 +00:00
Merge pull request #63355 from twangboy/update_pythonnet
Update pythonnet to 3.0.1 to support Python 3.10
This commit is contained in:
commit
689882d2d3
10 changed files with 124 additions and 37 deletions
|
@ -46,6 +46,7 @@ cffi==1.14.6
|
|||
# via
|
||||
# -r requirements/static/ci/common.in
|
||||
# -r requirements/windows.txt
|
||||
# clr-loader
|
||||
# cryptography
|
||||
# pygit2
|
||||
chardet==3.0.4
|
||||
|
@ -62,6 +63,8 @@ cherrypy==18.6.1
|
|||
# -r requirements/windows.txt
|
||||
click==7.1.2
|
||||
# via geomet
|
||||
clr-loader==0.2.4
|
||||
# via pythonnet
|
||||
clustershell==1.8.3
|
||||
# via -r requirements/static/ci/common.in
|
||||
colorama==0.4.1
|
||||
|
@ -222,7 +225,6 @@ pycparser==2.21 ; python_version >= "3.9"
|
|||
# -r requirements/static/ci/common.in
|
||||
# -r requirements/windows.txt
|
||||
# cffi
|
||||
# pythonnet
|
||||
pycryptodomex==3.10.1
|
||||
# via -r requirements/crypto.txt
|
||||
pygit2==1.9.1 ; python_version >= "3.7"
|
||||
|
@ -289,7 +291,7 @@ python-etcd==0.4.5
|
|||
# via -r requirements/static/ci/common.in
|
||||
python-gnupg==0.4.8
|
||||
# via -r requirements/windows.txt
|
||||
pythonnet==2.5.2
|
||||
pythonnet==3.0.1
|
||||
# via -r requirements/windows.txt
|
||||
pytz==2022.1
|
||||
# via
|
||||
|
|
|
@ -52,6 +52,7 @@ cffi==1.14.6
|
|||
# via
|
||||
# -r requirements/static/ci/common.in
|
||||
# -r requirements/windows.txt
|
||||
# clr-loader
|
||||
# cryptography
|
||||
# pygit2
|
||||
chardet==3.0.4
|
||||
|
@ -68,6 +69,8 @@ cherrypy==18.6.1
|
|||
# -r requirements/windows.txt
|
||||
click==7.1.2
|
||||
# via geomet
|
||||
clr-loader==0.2.4
|
||||
# via pythonnet
|
||||
clustershell==1.8.3
|
||||
# via -r requirements/static/ci/common.in
|
||||
colorama==0.4.1
|
||||
|
@ -236,7 +239,6 @@ pycparser==2.21
|
|||
# via
|
||||
# -r requirements/windows.txt
|
||||
# cffi
|
||||
# pythonnet
|
||||
pycryptodomex==3.10.1
|
||||
# via -r requirements/crypto.txt
|
||||
pygit2==1.9.1 ; python_version >= "3.7"
|
||||
|
@ -303,7 +305,7 @@ python-etcd==0.4.5
|
|||
# via -r requirements/static/ci/common.in
|
||||
python-gnupg==0.4.8
|
||||
# via -r requirements/windows.txt
|
||||
pythonnet==2.5.2
|
||||
pythonnet==3.0.1
|
||||
# via -r requirements/windows.txt
|
||||
pytz==2022.1
|
||||
# via
|
||||
|
|
|
@ -48,6 +48,7 @@ cffi==1.14.6
|
|||
# via
|
||||
# -r requirements/static/ci/common.in
|
||||
# -r requirements/windows.txt
|
||||
# clr-loader
|
||||
# cryptography
|
||||
# pygit2
|
||||
chardet==3.0.4
|
||||
|
@ -64,6 +65,8 @@ cherrypy==18.6.1
|
|||
# -r requirements/windows.txt
|
||||
click==7.1.2
|
||||
# via geomet
|
||||
clr-loader==0.2.4
|
||||
# via pythonnet
|
||||
clustershell==1.8.3
|
||||
# via -r requirements/static/ci/common.in
|
||||
colorama==0.4.1
|
||||
|
@ -224,7 +227,6 @@ pycparser==2.21
|
|||
# via
|
||||
# -r requirements/windows.txt
|
||||
# cffi
|
||||
# pythonnet
|
||||
pycryptodomex==3.10.1
|
||||
# via -r requirements/crypto.txt
|
||||
pygit2==1.9.1 ; python_version >= "3.7"
|
||||
|
@ -291,7 +293,7 @@ python-etcd==0.4.5
|
|||
# via -r requirements/static/ci/common.in
|
||||
python-gnupg==0.4.8
|
||||
# via -r requirements/windows.txt
|
||||
pythonnet==2.5.2
|
||||
pythonnet==3.0.1
|
||||
# via -r requirements/windows.txt
|
||||
pytz==2022.1
|
||||
# via
|
||||
|
|
|
@ -48,6 +48,7 @@ cffi==1.14.6
|
|||
# via
|
||||
# -r requirements/static/ci/common.in
|
||||
# -r requirements/windows.txt
|
||||
# clr-loader
|
||||
# cryptography
|
||||
# pygit2
|
||||
chardet==3.0.4
|
||||
|
@ -64,6 +65,8 @@ cherrypy==18.6.1
|
|||
# -r requirements/windows.txt
|
||||
click==7.1.2
|
||||
# via geomet
|
||||
clr-loader==0.2.4
|
||||
# via pythonnet
|
||||
clustershell==1.8.3
|
||||
# via -r requirements/static/ci/common.in
|
||||
colorama==0.4.1
|
||||
|
@ -225,7 +228,6 @@ pycparser==2.21 ; python_version >= "3.9"
|
|||
# -r requirements/static/ci/common.in
|
||||
# -r requirements/windows.txt
|
||||
# cffi
|
||||
# pythonnet
|
||||
pycryptodomex==3.10.1
|
||||
# via -r requirements/crypto.txt
|
||||
pygit2==1.9.1 ; python_version >= "3.7"
|
||||
|
@ -292,7 +294,7 @@ python-etcd==0.4.5
|
|||
# via -r requirements/static/ci/common.in
|
||||
python-gnupg==0.4.8
|
||||
# via -r requirements/windows.txt
|
||||
pythonnet==2.5.2
|
||||
pythonnet==3.0.1
|
||||
# via -r requirements/windows.txt
|
||||
pytz==2022.1
|
||||
# via
|
||||
|
|
|
@ -11,6 +11,7 @@ certifi==2022.12.7
|
|||
cffi==1.14.6
|
||||
# via
|
||||
# -r requirements/windows.txt
|
||||
# clr-loader
|
||||
# cryptography
|
||||
chardet==3.0.4
|
||||
# via requests
|
||||
|
@ -18,6 +19,8 @@ cheroot==8.5.2
|
|||
# via cherrypy
|
||||
cherrypy==18.6.1
|
||||
# via -r requirements/windows.txt
|
||||
clr-loader==0.2.4
|
||||
# via pythonnet
|
||||
contextvars==2.4
|
||||
# via -r requirements/base.txt
|
||||
cryptography==3.4.7
|
||||
|
@ -78,7 +81,6 @@ pycparser==2.21
|
|||
# via
|
||||
# -r requirements/windows.txt
|
||||
# cffi
|
||||
# pythonnet
|
||||
pycryptodomex==3.10.1
|
||||
# via -r requirements/crypto.txt
|
||||
pymssql==2.2.7
|
||||
|
@ -91,7 +93,7 @@ python-dateutil==2.8.1
|
|||
# via -r requirements/windows.txt
|
||||
python-gnupg==0.4.8
|
||||
# via -r requirements/windows.txt
|
||||
pythonnet==2.5.2
|
||||
pythonnet==3.0.1
|
||||
# via -r requirements/windows.txt
|
||||
pytz==2022.1
|
||||
# via tempora
|
||||
|
|
|
@ -11,6 +11,7 @@ certifi==2022.12.7
|
|||
cffi==1.14.6
|
||||
# via
|
||||
# -r requirements/windows.txt
|
||||
# clr-loader
|
||||
# cryptography
|
||||
chardet==3.0.4
|
||||
# via requests
|
||||
|
@ -18,6 +19,8 @@ cheroot==8.5.2
|
|||
# via cherrypy
|
||||
cherrypy==18.6.1
|
||||
# via -r requirements/windows.txt
|
||||
clr-loader==0.2.4
|
||||
# via pythonnet
|
||||
contextvars==2.4
|
||||
# via -r requirements/base.txt
|
||||
cryptography==3.4.7
|
||||
|
@ -82,7 +85,6 @@ pycparser==2.21
|
|||
# via
|
||||
# -r requirements/windows.txt
|
||||
# cffi
|
||||
# pythonnet
|
||||
pycryptodomex==3.10.1
|
||||
# via -r requirements/crypto.txt
|
||||
pymssql==2.2.1
|
||||
|
@ -95,7 +97,7 @@ python-dateutil==2.8.1
|
|||
# via -r requirements/windows.txt
|
||||
python-gnupg==0.4.8
|
||||
# via -r requirements/windows.txt
|
||||
pythonnet==2.5.2
|
||||
pythonnet==3.0.1
|
||||
# via -r requirements/windows.txt
|
||||
pytz==2022.1
|
||||
# via tempora
|
||||
|
|
|
@ -11,6 +11,7 @@ certifi==2022.12.7
|
|||
cffi==1.14.6
|
||||
# via
|
||||
# -r requirements/windows.txt
|
||||
# clr-loader
|
||||
# cryptography
|
||||
chardet==3.0.4
|
||||
# via requests
|
||||
|
@ -18,6 +19,8 @@ cheroot==8.5.2
|
|||
# via cherrypy
|
||||
cherrypy==18.6.1
|
||||
# via -r requirements/windows.txt
|
||||
clr-loader==0.2.4
|
||||
# via pythonnet
|
||||
contextvars==2.4
|
||||
# via -r requirements/base.txt
|
||||
cryptography==3.4.7
|
||||
|
@ -80,7 +83,6 @@ pycparser==2.21
|
|||
# via
|
||||
# -r requirements/windows.txt
|
||||
# cffi
|
||||
# pythonnet
|
||||
pycryptodomex==3.10.1
|
||||
# via -r requirements/crypto.txt
|
||||
pymssql==2.2.1
|
||||
|
@ -93,7 +95,7 @@ python-dateutil==2.8.1
|
|||
# via -r requirements/windows.txt
|
||||
python-gnupg==0.4.8
|
||||
# via -r requirements/windows.txt
|
||||
pythonnet==2.5.2
|
||||
pythonnet==3.0.1
|
||||
# via -r requirements/windows.txt
|
||||
pytz==2022.1
|
||||
# via tempora
|
||||
|
|
|
@ -11,6 +11,7 @@ certifi==2022.12.7
|
|||
cffi==1.14.6
|
||||
# via
|
||||
# -r requirements/windows.txt
|
||||
# clr-loader
|
||||
# cryptography
|
||||
chardet==3.0.4
|
||||
# via requests
|
||||
|
@ -18,6 +19,8 @@ cheroot==8.5.2
|
|||
# via cherrypy
|
||||
cherrypy==18.6.1
|
||||
# via -r requirements/windows.txt
|
||||
clr-loader==0.2.4
|
||||
# via pythonnet
|
||||
contextvars==2.4
|
||||
# via -r requirements/base.txt
|
||||
cryptography==3.4.7
|
||||
|
@ -80,7 +83,6 @@ pycparser==2.21
|
|||
# via
|
||||
# -r requirements/windows.txt
|
||||
# cffi
|
||||
# pythonnet
|
||||
pycryptodomex==3.10.1
|
||||
# via -r requirements/crypto.txt
|
||||
pymssql==2.2.1
|
||||
|
@ -93,7 +95,7 @@ python-dateutil==2.8.1
|
|||
# via -r requirements/windows.txt
|
||||
python-gnupg==0.4.8
|
||||
# via -r requirements/windows.txt
|
||||
pythonnet==2.5.2
|
||||
pythonnet==3.0.1
|
||||
# via -r requirements/windows.txt
|
||||
pytz==2022.1
|
||||
# via tempora
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
pywin32>=305
|
||||
wmi>=1.5.1
|
||||
pythonnet>=2.5.2
|
||||
pythonnet>=3.0.1
|
||||
|
||||
backports.ssl-match-hostname>=3.7.0.1; python_version < '3.7'
|
||||
certifi>=2022.12.07
|
||||
|
|
|
@ -39,6 +39,8 @@ if IS_WINDOWS:
|
|||
import clr
|
||||
from System.Net import NetworkInformation
|
||||
|
||||
# TODO: Should we deprecate support for pythonnet 2.5.2, these enumerations can
|
||||
# TODO: be deleted
|
||||
enum_adapter_types = {
|
||||
1: "Unknown",
|
||||
6: "Ethernet",
|
||||
|
@ -107,18 +109,29 @@ def __virtual__():
|
|||
def _get_base_properties(i_face):
|
||||
raw_mac = i_face.GetPhysicalAddress().ToString()
|
||||
try:
|
||||
i_face_type = enum_adapter_types[i_face.NetworkInterfaceType]
|
||||
except KeyError:
|
||||
i_face_type = i_face.Description
|
||||
return {
|
||||
# pythonnet 3.0.1
|
||||
i_face_type = i_face.NetworkInterfaceType.ToString()
|
||||
except AttributeError:
|
||||
# pythonnet 2.5.2
|
||||
try:
|
||||
i_face_type = enum_adapter_types[i_face.NetworkInterfaceType]
|
||||
except KeyError:
|
||||
i_face_type = i_face.Description
|
||||
ret = {
|
||||
"alias": i_face.Name,
|
||||
"description": i_face.Description,
|
||||
"id": i_face.Id,
|
||||
"receive_only": i_face.IsReceiveOnly,
|
||||
"type": i_face_type,
|
||||
"status": enum_operational_status[i_face.OperationalStatus],
|
||||
"physical_address": ":".join(raw_mac[i : i + 2] for i in range(0, 12, 2)),
|
||||
}
|
||||
try:
|
||||
# pythonnet 3.0.1
|
||||
ret["status"] = i_face.OperationalStatus.ToString()
|
||||
except AttributeError:
|
||||
# pythonnet 2.5.2
|
||||
ret["status"] = enum_operational_status[i_face.OperationalStatus]
|
||||
return ret
|
||||
|
||||
|
||||
def _get_ip_base_properties(i_face):
|
||||
|
@ -136,7 +149,17 @@ def _get_ip_unicast_info(i_face):
|
|||
if ip_properties.UnicastAddresses.Count > 0:
|
||||
names = {af_inet: "ip_addresses", af_inet6: "ipv6_addresses"}
|
||||
for addrs in ip_properties.UnicastAddresses:
|
||||
if addrs.Address.AddressFamily == af_inet:
|
||||
try:
|
||||
# pythonnet 3.0.1
|
||||
if addrs.Address.AddressFamily.ToString() == "InterNetwork":
|
||||
family = 2
|
||||
else:
|
||||
family = 23
|
||||
except AttributeError:
|
||||
# pythonnet 2.5.2
|
||||
family = addrs.Address.AddressFamily
|
||||
|
||||
if family == af_inet:
|
||||
ip = addrs.Address.ToString()
|
||||
mask = addrs.IPv4Mask.ToString()
|
||||
net = ipaddress.IPv4Network(ip + "/" + mask, False)
|
||||
|
@ -155,14 +178,28 @@ def _get_ip_unicast_info(i_face):
|
|||
# for feature parity with Linux
|
||||
"interface_index": int(addrs.Address.ScopeId),
|
||||
}
|
||||
ip_info.update(
|
||||
{
|
||||
"prefix_length": addrs.PrefixLength,
|
||||
"prefix_origin": enum_prefix_suffix[addrs.PrefixOrigin],
|
||||
"suffix_origin": enum_prefix_suffix[addrs.SuffixOrigin],
|
||||
}
|
||||
)
|
||||
int_dict.setdefault(names[addrs.Address.AddressFamily], []).append(ip_info)
|
||||
ip_info.update({"prefix_length": addrs.PrefixLength})
|
||||
try:
|
||||
# pythonnet 3.0.1
|
||||
ip_info.update(
|
||||
{"prefix_origin": addrs.PrefixOrigin.ToString()},
|
||||
)
|
||||
except AttributeError:
|
||||
# pythonnet 2.5.2
|
||||
ip_info.update(
|
||||
{"prefix_origin": enum_prefix_suffix[addrs.PrefixOrigin]},
|
||||
)
|
||||
try:
|
||||
# pythonnet 3.0.1
|
||||
ip_info.update(
|
||||
{"suffix_origin": addrs.SuffixOrigin.ToString()},
|
||||
)
|
||||
except AttributeError:
|
||||
# pythonnet 2.5.2
|
||||
ip_info.update(
|
||||
{"suffix_origin": enum_prefix_suffix[addrs.SuffixOrigin]},
|
||||
)
|
||||
int_dict.setdefault(names[family], []).append(ip_info)
|
||||
return int_dict
|
||||
|
||||
|
||||
|
@ -172,7 +209,16 @@ def _get_ip_gateway_info(i_face):
|
|||
if ip_properties.GatewayAddresses.Count > 0:
|
||||
names = {af_inet: "ip_gateways", af_inet6: "ipv6_gateways"}
|
||||
for addrs in ip_properties.GatewayAddresses:
|
||||
int_dict.setdefault(names[addrs.Address.AddressFamily], []).append(
|
||||
try:
|
||||
# pythonnet 3.0.1
|
||||
if addrs.Address.AddressFamily.ToString() == "InterNetwork":
|
||||
family = 2
|
||||
else:
|
||||
family = 23
|
||||
except AttributeError:
|
||||
# pythonnet 2.5.2
|
||||
family = addrs.Address.AddressFamily
|
||||
int_dict.setdefault(names[family], []).append(
|
||||
addrs.Address.ToString().split("%")[0]
|
||||
)
|
||||
return int_dict
|
||||
|
@ -184,7 +230,16 @@ def _get_ip_dns_info(i_face):
|
|||
if ip_properties.DnsAddresses.Count > 0:
|
||||
names = {af_inet: "ip_dns", af_inet6: "ipv6_dns"}
|
||||
for addrs in ip_properties.DnsAddresses:
|
||||
int_dict.setdefault(names[addrs.AddressFamily], []).append(
|
||||
try:
|
||||
# pythonnet 3.0.1
|
||||
if addrs.AddressFamily.ToString() == "InterNetwork":
|
||||
family = 2
|
||||
else:
|
||||
family = 23
|
||||
except AttributeError:
|
||||
# pythonnet 2.5.2
|
||||
family = addrs.AddressFamily
|
||||
int_dict.setdefault(names[family], []).append(
|
||||
addrs.ToString().split("%")[0]
|
||||
)
|
||||
return int_dict
|
||||
|
@ -196,7 +251,16 @@ def _get_ip_multicast_info(i_face):
|
|||
if ip_properties.MulticastAddresses.Count > 0:
|
||||
names = {af_inet: "ip_multicast", af_inet6: "ipv6_multicast"}
|
||||
for addrs in ip_properties.MulticastAddresses:
|
||||
int_dict.setdefault(names[addrs.Address.AddressFamily], []).append(
|
||||
try:
|
||||
# pythonnet 3.0.1
|
||||
if addrs.Address.AddressFamily.ToString() == "InterNetwork":
|
||||
family = 2
|
||||
else:
|
||||
family = 23
|
||||
except AttributeError:
|
||||
# pythonnet 2.5.2
|
||||
family = addrs.Address.AddressFamily
|
||||
int_dict.setdefault(names[family], []).append(
|
||||
addrs.Address.ToString().split("%")[0]
|
||||
)
|
||||
return int_dict
|
||||
|
@ -208,9 +272,16 @@ def _get_ip_anycast_info(i_face):
|
|||
if ip_properties.AnycastAddresses.Count > 0:
|
||||
names = {af_inet: "ip_anycast", af_inet6: "ipv6_anycast"}
|
||||
for addrs in ip_properties.AnycastAddresses:
|
||||
int_dict.setdefault(names[addrs.Address.AddressFamily], []).append(
|
||||
addrs.Address.ToString()
|
||||
)
|
||||
try:
|
||||
# pythonnet 3.0.1
|
||||
if addrs.Address.AddressFamily.ToString() == "InterNetwork":
|
||||
family = 2
|
||||
else:
|
||||
family = 23
|
||||
except AttributeError:
|
||||
# pythonnet 2.5.2
|
||||
family = addrs.Address.AddressFamily
|
||||
int_dict.setdefault(names[family], []).append(addrs.Address.ToString())
|
||||
return int_dict
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue