Nuitka-winsvc 2.4.10__cp311-cp311-win_amd64.whl → 2.4.11__cp311-cp311-win_amd64.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.

Potentially problematic release.


This version of Nuitka-winsvc might be problematic. Click here for more details.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: Nuitka-winsvc
3
- Version: 2.4.10
3
+ Version: 2.4.11
4
4
  Summary: Nuitka but support compile as Windows service
5
5
  Home-page: https://github.com/tabris17/Nuitka-winsvc
6
6
  Author: tabris17
@@ -1,5 +1,5 @@
1
- Nuitka_winsvc-2.4.10.data/scripts/nuitka-run.cmd,sha256=ymcs9S9XtjCwZ7-oOj1gLisLaIj8uIxn-1mb0mTxWUI,924
2
- Nuitka_winsvc-2.4.10.data/scripts/nuitka.cmd,sha256=G-3yCOmURvmaYtciOLW4cMRGEcutzcsea4qDJqfezg0,1061
1
+ Nuitka_winsvc-2.4.11.data/scripts/nuitka-run.cmd,sha256=ymcs9S9XtjCwZ7-oOj1gLisLaIj8uIxn-1mb0mTxWUI,924
2
+ Nuitka_winsvc-2.4.11.data/scripts/nuitka.cmd,sha256=G-3yCOmURvmaYtciOLW4cMRGEcutzcsea4qDJqfezg0,1061
3
3
  nuitka/Builtins.py,sha256=IPBD00YlX9eNfKyKxyGRukVmwtoiaeJ4YLNdm1LoLOo,7560
4
4
  nuitka/BytecodeCaching.py,sha256=KFVx1wDKEG8bydgerI6k2YK6VXIZLmTfMxgZmUhkBWo,5787
5
5
  nuitka/Bytecodes.py,sha256=BFKfgzCHUb8-qs1VZcjaKpCwBMt7UKgkT8POEsYljLQ,3891
@@ -9,7 +9,7 @@ nuitka/Errors.py,sha256=Yw8-RTf7SEel-0ddEQAcvM9MwF6Es-l1X9wOkPRuEQg,2570
9
9
  nuitka/HardImportRegistry.py,sha256=a6kBsQICBQdxcnrJ-dArbUtMlYFNvlA32MHyvgpnlJg,12050
10
10
  nuitka/MainControl.py,sha256=hZ3_6zYI01j_xIUMONklCMxhnZR6ahJk7JaR_SWbibY,39044
11
11
  nuitka/ModuleRegistry.py,sha256=z1kdwF6DABgfu06I_KjoUmNHOx4PYd0rQpUwNYp92Fk,9122
12
- nuitka/OptionParsing.py,sha256=9vQP7BQbw9S30CWfg4ruqTi5hYu0KYV6IlCU2DfAIfc,65672
12
+ nuitka/OptionParsing.py,sha256=UFzLADkrM-38ZP0eKHXW2zIe-ai6M3lhlFoGds21SrI,65673
13
13
  nuitka/Options.py,sha256=_T2JCrJX23zyFDuAp8XBb7Ui9gZE8ZoWJvx3ZLRf2a0,81849
14
14
  nuitka/OutputDirectories.py,sha256=sBX7_B7QogcKTHlTRY2Bfv7O9oi4EpYB2EcXyNRTiXM,5560
15
15
  nuitka/PostProcessing.py,sha256=VPZ6lBsTvMvLEHsWxOZw6ewo9gVEUF8C5LYZL5N04_Q,15373
@@ -22,7 +22,7 @@ nuitka/SourceCodeReferences.py,sha256=quGcd9Kg3FjYwsSDDv49MWi_Yec2AurRp-cVspo5qq
22
22
  nuitka/Tracing.py,sha256=OVxuhIVm78EWZtY9cl031a7DCei6uTbFOi2LBrZDiOY,13558
23
23
  nuitka/TreeXML.py,sha256=KGsCEB9Tu1HUNQd10AMWoYX82Qxso_DUfoiet4AiRoc,3654
24
24
  nuitka/Variables.py,sha256=53u-p0l58lrBg8nNSYd5DjR3AOGezMayUM7C05vANVM,15470
25
- nuitka/Version.py,sha256=1jhxEsVTAruzo3jpDxHHIwlQlC1IH-HKaHtR3RIWQuU,2467
25
+ nuitka/Version.py,sha256=j3ZHbxNiw8TwSricI--IjOmKcUZOwacI2cughKYQbWQ,2467
26
26
  nuitka/__init__.py,sha256=TkW50aBd9haxBi-DXHM71oVA31d5oPeL06ZwuBSkPqo,865
27
27
  nuitka/__main__.py,sha256=dp8HcyiviRrEVm1OWjffOIy0DvkT4iW8R9wCjGpxwT8,7810
28
28
  nuitka/__past__.py,sha256=c9HaNn4DHQU3x1ip7aVSzdQqNAzDojYmr2KfMHbqmSQ,5739
@@ -30,8 +30,8 @@ nuitka/build/Backend.scons,sha256=C7gVOIVLJygXlBVmjlF4maF9l_PPk8bUI1TKu9ECmpo,36
30
30
  nuitka/build/CCompilerVersion.scons,sha256=Rs68LndV5ItFvA6W1_aEE9fXumAMXjUfP35kE1ma6Gg,8562
31
31
  nuitka/build/DataComposerInterface.py,sha256=xWrgCLG6PXoZsFjuTxc0f4XCSu80CDwYXmLJevp9VTw,3486
32
32
  nuitka/build/Onefile.scons,sha256=bGIq7NAR81aB_Rhnwn7vdMgjFF0E6BggGoUyf8TAOXY,17908
33
- nuitka/build/SconsCaching.py,sha256=XfPJxt2K1SqKwR_docnXw3pWijcoQZW02Xk-o0BBfJQ,15449
34
- nuitka/build/SconsCompilerSettings.py,sha256=MoqUX4mRU4RYczvaXPn-BO6smONmvE4Wt0DNPdi-gEY,36456
33
+ nuitka/build/SconsCaching.py,sha256=p6FLuSnDIiYz9Ttnx8qsDcYpKM2tcCzHKSUX3cXQUGk,15850
34
+ nuitka/build/SconsCompilerSettings.py,sha256=-799ddhRZVErefMcPNLNGlX6oIWfTA8RGD--n5cde84,36468
35
35
  nuitka/build/SconsHacks.py,sha256=KvcjESBRMRcwAWZN5S09JbZNs9WAc7HvPXIiRRgJE0c,5802
36
36
  nuitka/build/SconsInterface.py,sha256=LmudNBGDrOLY1aRy8md6XBq-6hh9gMvRYf8HHGRMms4,18650
37
37
  nuitka/build/SconsProgress.py,sha256=Zc0Gp2meURGXDK9RMcTb3MBH0wRW51625__y7u8fFa8,2703
@@ -653,8 +653,8 @@ nuitka/freezer/DllDependenciesMacOS.py,sha256=zy2mjYgvZnxfh1vXxMJdarQGfPIRc6VdxI
653
653
  nuitka/freezer/DllDependenciesPosix.py,sha256=FKzKDuVAViqI00CfADzqgYAJZqB416VaSS-MtApjjJs,7468
654
654
  nuitka/freezer/DllDependenciesWin32.py,sha256=K5_NGi_tl8_Oky9T198YlkbFjrPylzFPe7W-3kVfbZU,6837
655
655
  nuitka/freezer/ImportDetection.py,sha256=zJtJk-8rmHW-BngN5W6WPhQu6vHLsX9nbDSysytp_0k,11999
656
- nuitka/freezer/IncludedDataFiles.py,sha256=dnAwfCHMg8ejtmgF5pixaTZaqujOQmO6z1ZxG63jFDw,19800
657
- nuitka/freezer/IncludedEntryPoints.py,sha256=GRlGRaKHSOalp7tuWEgd8dC-Iaay8GpEI90phCd1Gww,12137
656
+ nuitka/freezer/IncludedDataFiles.py,sha256=EwZpwn9qX1gCnyjt9KmnO8vMLSffbdufj12_He8kMiA,19801
657
+ nuitka/freezer/IncludedEntryPoints.py,sha256=6BtJZt-olpVCtw9Jdg1mu2-UsfZcqWgrCSbr5UWxa3I,12162
658
658
  nuitka/freezer/Onefile.py,sha256=GMEQysedmlLyn2sSkPrId13RY1sNY3n87qEn7LVCd7Y,10551
659
659
  nuitka/freezer/Standalone.py,sha256=sYgXFr9yI5QcB3ovO2pvwsxScD7EYbhqfrjmruEpcsk,13284
660
660
  nuitka/freezer/__init__.py,sha256=TkW50aBd9haxBi-DXHM71oVA31d5oPeL06ZwuBSkPqo,865
@@ -663,7 +663,7 @@ nuitka/importing/ImportCache.py,sha256=qyg3yHj6lepcy1hgLpZTWL7CUpDvMlsp2XoZxwgTI
663
663
  nuitka/importing/ImportResolving.py,sha256=ptblxaLqlDm-YRmi3w2UaCsdtnhtsuxNdaR103UtqfA,7957
664
664
  nuitka/importing/Importing.py,sha256=zoCer8D4xoHxoNn8GhwHisN5TKPFetNvP6jothoSCd0,33809
665
665
  nuitka/importing/PreloadedPackages.py,sha256=VHlzoXRgWHu1tOX-06mNa_qXW-llkPSz4ZQZnU1UDo4,4869
666
- nuitka/importing/Recursion.py,sha256=Bo4UF1JhMCanuNPOOjG4gZgoTMake4OVt8Fp2GxuvDI,18935
666
+ nuitka/importing/Recursion.py,sha256=z7bJlbNAK1D356l9uUbB05md6Ix6H-zACjfj8Qdpl54,19317
667
667
  nuitka/importing/StandardLibrary.py,sha256=HIZLeSUf1dc-5_KTbOUIGV7Ms0H-r1Kicswnqb4DWGA,12918
668
668
  nuitka/importing/__init__.py,sha256=TkW50aBd9haxBi-DXHM71oVA31d5oPeL06ZwuBSkPqo,865
669
669
  nuitka/nodes/AsyncgenNodes.py,sha256=GxcHEzw4Gl3-3pashdjPnvnlE9hY23iN0wrFQv3tcwk,3670
@@ -803,13 +803,13 @@ nuitka/plugins/standard/PySidePyQtPlugin.py,sha256=3b56_0QLA_QHZngfzbdHX0DwqhTHA
803
803
  nuitka/plugins/standard/PywebViewPlugin.py,sha256=CjFFrY0OxYGd845S7xA6Imy46Jk21SZlnwO0NBJKFVQ,3020
804
804
  nuitka/plugins/standard/SpacyPlugin.py,sha256=aVek-cDsAMX__qVrJpCsx-zdc1-MSf5TJWfJ0G9ZLFw,5173
805
805
  nuitka/plugins/standard/TensorflowPlugin.py,sha256=MPcLVye9_gDiU_lWnhNdYIeKkUGjYzjCjc5UV_XNP3E,1194
806
- nuitka/plugins/standard/TkinterPlugin.py,sha256=sHbZEAG0c4l8hOzWyTxe1FO5A6k8ITppc3eDD9nVXww,13878
806
+ nuitka/plugins/standard/TkinterPlugin.py,sha256=b0CO1HOilWOmgMLGs72IRmN51DEP9shoOQpRfupv0M4,11939
807
807
  nuitka/plugins/standard/TorchPlugin.py,sha256=oFyDyz5qfWwRl6JUS-7WAReDF4TazgQQH52xq2J7zj8,1174
808
808
  nuitka/plugins/standard/TransformersPlugin.py,sha256=6Ex9lNg5OupnXhFPKq5ozDOikIbE8GhlH5LUxTKfULg,12838
809
809
  nuitka/plugins/standard/TrioPlugin.py,sha256=fIz_UTQfwBnl6MY4-XI4eKHPPsMeksPWYjnJU10mOb8,1107
810
810
  nuitka/plugins/standard/UpxPlugin.py,sha256=1I3WouiEmKQAvTkzhgmJ2FRjDKHC0oH9onENntmFphg,5668
811
811
  nuitka/plugins/standard/__init__.py,sha256=TkW50aBd9haxBi-DXHM71oVA31d5oPeL06ZwuBSkPqo,865
812
- nuitka/plugins/standard/standard.nuitka-package.config.yml,sha256=i8r6fL24oypof1eLCBPEUx3j8dHcESJ3KubyoVF-S7I,257064
812
+ nuitka/plugins/standard/standard.nuitka-package.config.yml,sha256=H7cWvy2bZGkf_rCmnQq6lTkKD6XS7Auv4t_9cxLQql0,260634
813
813
  nuitka/plugins/standard/stdlib2.nuitka-package.config.yml,sha256=DRazC20zLXbc71ZMRu9kEA8N4Xe8Iry2sHNsUlbx4FE,2357
814
814
  nuitka/plugins/standard/stdlib3.nuitka-package.config.yml,sha256=scSfWrwREBDcZhG-ehdw1ZQeI-YoYby-oIQGjIdJlg8,13646
815
815
  nuitka/plugins/standard/DillPlugin/DillPlugin.c,sha256=RbyX_UPvVZ00nN2bnIBVFoZ8xSZZ5YFJqVB6Qwg9GSo,1688
@@ -921,7 +921,7 @@ nuitka/utils/CommandLineOptions.py,sha256=eUc6cRetHxL07xppAn9MlWcSEUuEDyp6tJ3ihg
921
921
  nuitka/utils/Distributions.py,sha256=FLe2NgLElmU1Y2sUP6E3l0EjrKZ6KB3qahq6vFOXEVM,16874
922
922
  nuitka/utils/Download.py,sha256=yOTdRU2EvXgs6a149mHOhv2TL6gt38Ep2rb965zFfiE,6714
923
923
  nuitka/utils/Execution.py,sha256=qo1yojRME2Ilgntle5RMUZnR7CVptdEUNr7jXD2wBwc,13799
924
- nuitka/utils/FileOperations.py,sha256=o8mF747-GD8qggB9bnVyo7nwssRA3dbNmSiH-EJVZ2E,44662
924
+ nuitka/utils/FileOperations.py,sha256=zERUXBHv4kQW04Zxz9nOLOiSmdeonbp57RntLkZFIBE,44602
925
925
  nuitka/utils/Hashing.py,sha256=vOFVzPNqAJw7NNZ1Hxe0rllnKO-HGwd6n5N3R_2WgQM,3753
926
926
  nuitka/utils/Images.py,sha256=HitRj3qvpRXs2hV3V20cavcc2YZZNiyo5KawtcUCMTs,2547
927
927
  nuitka/utils/Importing.py,sha256=rVJ7L35ShEwJy_Is-tnYwn11BvZbZTzrVFTehWV4WI4,10843
@@ -946,9 +946,9 @@ nuitka/utils/WindowsFileUsage.py,sha256=S6zm_4JQzaSyVmOoLdZDEq--SObR-CHofH4cvs__
946
946
  nuitka/utils/WindowsResources.py,sha256=npt3jbcTgh1M5G6jyEv6uFqiZIf84XEea3wXQ_sXGdM,19837
947
947
  nuitka/utils/Yaml.py,sha256=osd2K6G4XxSpzzTA-KzYoN8n2OF11zgB-4QxgJOig8M,7206
948
948
  nuitka/utils/__init__.py,sha256=TkW50aBd9haxBi-DXHM71oVA31d5oPeL06ZwuBSkPqo,865
949
- Nuitka_winsvc-2.4.10.dist-info/LICENSE.txt,sha256=ZWq74m8T3pVbRFjCBu74q_4GyW11rCqtYB_1vZ4rQ88,11348
950
- Nuitka_winsvc-2.4.10.dist-info/METADATA,sha256=NhUy0x0khV3jNhfYkKp35hdZWaK3ukzVYH7Tj4WQtdM,4960
951
- Nuitka_winsvc-2.4.10.dist-info/WHEEL,sha256=tE2EWZPEv-G0fjAlUUz7IGM64246YKD9fpv4HcsDMkk,101
952
- Nuitka_winsvc-2.4.10.dist-info/entry_points.txt,sha256=jeBnijqxZ4U0WpNEdtaogpNMNlv5jw8H7yMOsf2isFc,308
953
- Nuitka_winsvc-2.4.10.dist-info/top_level.txt,sha256=TRrfKxSYukbo1yzTGfwyH7wVzhDpKlwQsLjhIr15yqY,7
954
- Nuitka_winsvc-2.4.10.dist-info/RECORD,,
949
+ Nuitka_winsvc-2.4.11.dist-info/LICENSE.txt,sha256=ZWq74m8T3pVbRFjCBu74q_4GyW11rCqtYB_1vZ4rQ88,11348
950
+ Nuitka_winsvc-2.4.11.dist-info/METADATA,sha256=_ENO8MUsxNHB0fkUAbEkLgP4CN9kHxri4YzwjrPyt9M,4960
951
+ Nuitka_winsvc-2.4.11.dist-info/WHEEL,sha256=tE2EWZPEv-G0fjAlUUz7IGM64246YKD9fpv4HcsDMkk,101
952
+ Nuitka_winsvc-2.4.11.dist-info/entry_points.txt,sha256=jeBnijqxZ4U0WpNEdtaogpNMNlv5jw8H7yMOsf2isFc,308
953
+ Nuitka_winsvc-2.4.11.dist-info/top_level.txt,sha256=TRrfKxSYukbo1yzTGfwyH7wVzhDpKlwQsLjhIr15yqY,7
954
+ Nuitka_winsvc-2.4.11.dist-info/RECORD,,
nuitka/OptionParsing.py CHANGED
@@ -401,7 +401,7 @@ allowed forms. With '--include-data-files=/path/to/file/*.txt=folder_name/some.t
401
401
  will copy a single file and complain if it's multiple. With
402
402
  '--include-data-files=/path/to/files/*.txt=folder_name/' it will put
403
403
  all matching files into that folder. For recursive copy there is a
404
- form with 3 values that '--include-data-files=/path/to/scan=folder_name=**/*.txt'
404
+ form with 3 values that '--include-data-files=/path/to/scan=folder_name/=**/*.txt'
405
405
  that will preserve directory structure. Default empty.""",
406
406
  )
407
407
 
nuitka/Version.py CHANGED
@@ -20,7 +20,7 @@
20
20
  """
21
21
 
22
22
  version_string = """\
23
- Nuitka V2.4.10
23
+ Nuitka V2.4.11
24
24
  Copyright (C) 2024 Kay Hayen."""
25
25
 
26
26
 
@@ -279,7 +279,11 @@ def _getCcacheStatistics(ccache_logfile):
279
279
  # can be matched against it.
280
280
  commands = {}
281
281
 
282
- for line in getFileContentByLine(ccache_logfile):
282
+ # Due to upstream issues, lines in the log might have different encodings.
283
+ # All command and result lines use the platform's default encoding,
284
+ # so we follow this to ensure these lines are correct.
285
+ # Unrecognized characters are replaced by byte values, e.g. "\xde\xad"
286
+ for line in getFileContentByLine(ccache_logfile, errors="backslashreplace"):
283
287
  match = re_command.match(line)
284
288
 
285
289
  if match:
@@ -313,7 +317,9 @@ def _getCcacheStatistics(ccache_logfile):
313
317
 
314
318
  all_text = []
315
319
 
316
- for line2 in getFileContentByLine(ccache_logfile):
320
+ for line2 in getFileContentByLine(
321
+ ccache_logfile, errors="backslashreplace"
322
+ ):
317
323
  match = re_anything.match(line2)
318
324
 
319
325
  if match:
@@ -379,9 +379,9 @@ For Python version %s MSVC %s or later is required, not %s which is too old."""
379
379
  % (compiler_path,)
380
380
  )
381
381
 
382
- # This also will trigger using it to use our own gcc in branch below.
383
- compiler_path = None
384
- env["CC"] = None
382
+ # This also will trigger using it to use our own gcc in branch below.
383
+ compiler_path = None
384
+ env["CC"] = None
385
385
 
386
386
  if compiler_path is None and msvc_version is None:
387
387
  scons_details_logger.info(
@@ -539,7 +539,7 @@ def _reportDataFiles():
539
539
 
540
540
 
541
541
  def _checkPathConflict(dest_path, standalone_entry_points):
542
- assert os.path.normpath(dest_path) == dest_path
542
+ assert getNormalizedPath(dest_path) == dest_path
543
543
 
544
544
  while dest_path:
545
545
  for standalone_entry_point in standalone_entry_points:
@@ -17,6 +17,7 @@ from nuitka.Options import getShallNotIncludeDllFilePatterns, isShowInclusion
17
17
  from nuitka.Tracing import general, inclusion_logger
18
18
  from nuitka.utils.FileOperations import (
19
19
  areSamePaths,
20
+ getNormalizedPath,
20
21
  getReportPath,
21
22
  hasFilenameExtension,
22
23
  haveSameFileContents,
@@ -51,7 +52,7 @@ def _makeIncludedEntryPoint(
51
52
  assert type(executable) is bool, executable
52
53
 
53
54
  # Make sure outside code uses sane paths only.
54
- assert source_path == os.path.normpath(source_path), source_path
55
+ assert source_path == getNormalizedPath(source_path), source_path
55
56
 
56
57
  # Avoid obvious mistakes, these files won't be binaries or DLL ever, right?
57
58
  assert not hasFilenameExtension(path=source_path, extensions=(".qml", ".json"))
@@ -60,7 +61,7 @@ def _makeIncludedEntryPoint(
60
61
  logger=logger,
61
62
  kind=kind,
62
63
  source_path=source_path,
63
- dest_path=os.path.normpath(dest_path),
64
+ dest_path=getNormalizedPath(dest_path),
64
65
  module_name=module_name,
65
66
  package_name=package_name,
66
67
  executable=executable,
@@ -345,6 +345,14 @@ def _addIncludedModule(module, package_only):
345
345
  module_package=module.getFullName(),
346
346
  package_only=False,
347
347
  )
348
+ else:
349
+ for suffix in getSharedLibrarySuffixes():
350
+ if sub_path.endswith(suffix):
351
+ checkPluginSinglePath(
352
+ sub_path,
353
+ module_package=module.getFullName(),
354
+ package_only=False,
355
+ )
348
356
 
349
357
  elif module.isCompiledPythonModule() or module.isUncompiledPythonModule():
350
358
  ModuleRegistry.addRootModule(module)
@@ -11,7 +11,6 @@ from nuitka.Options import isStandaloneMode, shallCreateAppBundle
11
11
  from nuitka.plugins.PluginBase import NuitkaPluginBase
12
12
  from nuitka.PythonFlavors import isHomebrewPython
13
13
  from nuitka.PythonVersions import getSystemPrefixPath, getTkInterVersion
14
- from nuitka.utils.FileOperations import listDllFilesFromDirectory, relpath
15
14
  from nuitka.utils.Utils import isMacOS, isWin32Windows
16
15
 
17
16
  # spell-checker: ignore tkinterdnd,tkdnd,tcltk
@@ -135,34 +134,6 @@ override it here. Default is automatic detection.""",
135
134
  The Tcl library dir. See comments for Tk library dir.""",
136
135
  )
137
136
 
138
- @staticmethod
139
- def _getTkinterDnDPlatformDirectory():
140
- # From their code:
141
- import platform
142
-
143
- if platform.system() == "Darwin":
144
- return "osx64"
145
- elif platform.system() == "Linux":
146
- return "linux64"
147
- elif platform.system() == "Windows":
148
- return "win64"
149
- else:
150
- return None
151
-
152
- def _considerDataFilesTkinterDnD(self, module):
153
- platform_rep = self._getTkinterDnDPlatformDirectory()
154
-
155
- if platform_rep is None:
156
- return
157
-
158
- yield self.makeIncludedPackageDataFiles(
159
- package_name="tkinterdnd2",
160
- package_directory=module.getCompileTimeDirectory(),
161
- pattern=os.path.join("tkdnd", platform_rep, "**"),
162
- reason="Tcl needed for 'tkinterdnd2' usage",
163
- tags="tcl",
164
- )
165
-
166
137
  def _getTclCandidatePaths(self):
167
138
  # Check typical locations of the dirs
168
139
  yield os.getenv("TCL_LIBRARY")
@@ -234,12 +205,6 @@ The Tcl library dir. See comments for Tk library dir.""",
234
205
  IncludedDataFile objects.
235
206
  """
236
207
 
237
- # Extra TCL providing module go here:
238
- if module.getFullName() == "tkinterdnd2.TkinterDnD":
239
- yield self._considerDataFilesTkinterDnD(module)
240
-
241
- return
242
-
243
208
  if not _isTkInterModule(module) or self.files_copied:
244
209
  return
245
210
 
@@ -301,27 +266,6 @@ that works, report a bug."""
301
266
 
302
267
  self.files_copied = True
303
268
 
304
- def getExtraDlls(self, module):
305
- if module.getFullName() == "tkinterdnd2.TkinterDnD":
306
- platform_rep = self._getTkinterDnDPlatformDirectory()
307
-
308
- if platform_rep is None:
309
- return
310
-
311
- module_directory = module.getCompileTimeDirectory()
312
-
313
- for filename, _dll_filename in listDllFilesFromDirectory(
314
- os.path.join(module_directory, "tkdnd", platform_rep)
315
- ):
316
- dest_path = relpath(filename, module_directory)
317
- yield self.makeDllEntryPoint(
318
- source_path=filename,
319
- dest_path=os.path.join("tkinterdnd2", dest_path),
320
- module_name="tkinterdnd2",
321
- package_name="tkinterdnd2",
322
- reason="tkinterdnd2 package DLL",
323
- )
324
-
325
269
  def onModuleCompleteSet(self, module_set):
326
270
  if str is bytes:
327
271
  plugin_binding_name = "Tkinter"
@@ -1748,6 +1748,11 @@
1748
1748
  'from torch.utils.cpp_extension import _get_build_directory, load': ''
1749
1749
  when: 'not use_setuptools'
1750
1750
 
1751
+ - module-name: 'gssapi.raw' # checksum: f8e7301e
1752
+ implicit-imports:
1753
+ - depends:
1754
+ - 'gssapi.raw._enum_extensions.*'
1755
+
1751
1756
  - module-name: 'gtk._gtk' # checksum: 4fb4a03b
1752
1757
  implicit-imports:
1753
1758
  - depends:
@@ -2122,13 +2127,16 @@
2122
2127
  - depends:
2123
2128
  - 'kivy.graphics.compiler'
2124
2129
 
2125
- - module-name: 'kivymd' # checksum: 1fda13e6
2130
+ - module-name: 'kivymd' # checksum: b3f15565
2126
2131
  data-files:
2127
2132
  - dirs:
2128
2133
  - 'fonts'
2129
2134
  - 'images'
2130
2135
  - 'data'
2131
2136
  - 'uix'
2137
+ implicit-imports:
2138
+ - depends:
2139
+ - 'kivymd.icon_definitions'
2132
2140
 
2133
2141
  - module-name: 'kiwisolver' # checksum: a0fc11a6
2134
2142
  dlls:
@@ -4426,7 +4434,7 @@
4426
4434
  - find-dlls-near-module:
4427
4435
  - 'shiboken2'
4428
4436
 
4429
- - module-name: 'PySide6' # checksum: 219aba79
4437
+ - module-name: 'PySide6' # checksum: 27df3ea2
4430
4438
  implicit-imports:
4431
4439
  - post-import-code:
4432
4440
  - |
@@ -4482,6 +4490,9 @@
4482
4490
  - 'libqsqlodbc'
4483
4491
  - 'libpq.5'
4484
4492
  - 'libffmpegmediaplugin'
4493
+ - 'libqtquickcontrols2fluentwinui3styleimplplugin'
4494
+ - 'libqtquickcontrols2fluentwinui3styleplugin'
4495
+ - 'libqtwebviewquickplugin'
4485
4496
 
4486
4497
  - module-name: 'PySide6.QtCore' # checksum: be0d99ac
4487
4498
  implicit-imports:
@@ -5072,6 +5083,14 @@
5072
5083
  executable: 'yes'
5073
5084
  when: 'win32'
5074
5085
 
5086
+ - module-name: 'selenium_driverless' # checksum: bdcb049
5087
+ data-files:
5088
+ - dirs:
5089
+ - '.'
5090
+ implicit-imports:
5091
+ - depends:
5092
+ - 'websockets.legacy.*'
5093
+
5075
5094
  - module-name: 'selenium_stealth' # checksum: 26b9c88c
5076
5095
  data-files:
5077
5096
  - dirs:
@@ -6957,6 +6976,91 @@
6957
6976
  - 'libextrafont'
6958
6977
  when: 'win32'
6959
6978
 
6979
+ - module-name: 'tkinterdnd2.TkinterDnD' # checksum: 401c1500
6980
+ data-files:
6981
+ - dirs:
6982
+ - 'tkdnd/win64'
6983
+ when: 'use_tkinter and win32 and version("tkinterdnd2") < (0,4)'
6984
+ - dirs:
6985
+ - 'tkdnd/linux64'
6986
+ when: 'use_tkinter and linux and version("tkinterdnd2") < (0,4)'
6987
+ - dirs:
6988
+ - 'tkdnd/osx64'
6989
+ when: 'use_tkinter and macos and version("tkinterdnd2") < (0,4)'
6990
+ - dirs:
6991
+ - 'tkdnd/win-arm64'
6992
+ when: 'use_tkinter and win32 and arch_arm64 and version("tkinterdnd2") >= (0,4)'
6993
+ - dirs:
6994
+ - 'tkdnd/win-x64'
6995
+ when: 'use_tkinter and win32 and arch_amd64 and version("tkinterdnd2") >= (0,4)'
6996
+ - dirs:
6997
+ - 'tkdnd/win-x86'
6998
+ when: 'use_tkinter and win32 and arch_x86 and version("tkinterdnd2") >= (0,4)'
6999
+ - dirs:
7000
+ - 'tkdnd/linux-arm64'
7001
+ when: 'use_tkinter and linux and arch_arm64 and version("tkinterdnd2") >= (0,4)'
7002
+ - dirs:
7003
+ - 'tkdnd/linux-x64'
7004
+ when: 'use_tkinter and linux and arch_amd64 and version("tkinterdnd2") >= (0,4)'
7005
+ - dirs:
7006
+ - 'tkdnd/osx-arm64'
7007
+ when: 'use_tkinter and macos and arch_arm64 and version("tkinterdnd2") >= (0,4)'
7008
+ - dirs:
7009
+ - 'tkdnd/osx-x64'
7010
+ when: 'use_tkinter and macos and arch_amd64 and version("tkinterdnd2") >= (0,4)'
7011
+ dlls:
7012
+ - from_filenames:
7013
+ relative_path: 'tkdnd/win64'
7014
+ prefixes:
7015
+ - ''
7016
+ when: 'use_tkinter and win32 and version("tkinterdnd2") < (0,4)'
7017
+ - from_filenames:
7018
+ relative_path: 'tkdnd/linux64'
7019
+ prefixes:
7020
+ - ''
7021
+ when: 'use_tkinter and linux and version("tkinterdnd2") < (0,4)'
7022
+ - from_filenames:
7023
+ relative_path: 'tkdnd/osx64'
7024
+ prefixes:
7025
+ - ''
7026
+ when: 'use_tkinter and macos and version("tkinterdnd2") < (0,4)'
7027
+
7028
+ - from_filenames:
7029
+ relative_path: 'tkdnd/win-arm64'
7030
+ prefixes:
7031
+ - ''
7032
+ when: 'use_tkinter and win32 and arch_arm64 and version("tkinterdnd2") >= (0,4)'
7033
+ - from_filenames:
7034
+ relative_path: 'tkdnd/win-x64'
7035
+ prefixes:
7036
+ - ''
7037
+ when: 'use_tkinter and win32 and arch_amd64 and version("tkinterdnd2") >= (0,4)'
7038
+ - from_filenames:
7039
+ relative_path: 'tkdnd/win-x86'
7040
+ prefixes:
7041
+ - ''
7042
+ when: 'use_tkinter and win32 and arch_x86 and version("tkinterdnd2") >= (0,4)'
7043
+ - from_filenames:
7044
+ relative_path: 'tkdnd/linux-arm64'
7045
+ prefixes:
7046
+ - ''
7047
+ when: 'use_tkinter and linux and arch_arm64 and version("tkinterdnd2") >= (0,4)'
7048
+ - from_filenames:
7049
+ relative_path: 'tkdnd/linux-x64'
7050
+ prefixes:
7051
+ - ''
7052
+ when: 'use_tkinter and linux and arch_amd64 and version("tkinterdnd2") >= (0,4)'
7053
+ - from_filenames:
7054
+ relative_path: 'tkdnd/osx-arm64'
7055
+ prefixes:
7056
+ - ''
7057
+ when: 'use_tkinter and macos and arch_arm64 and version("tkinterdnd2") >= (0,4)'
7058
+ - from_filenames:
7059
+ relative_path: 'tkdnd/osx-x64'
7060
+ prefixes:
7061
+ - ''
7062
+ when: 'use_tkinter and macos and arch_amd64 and version("tkinterdnd2") >= (0,4)'
7063
+
6960
7064
  - module-name: 'tkinterweb' # checksum: 5de6ded8
6961
7065
  data-files:
6962
7066
  - dirs:
@@ -10,6 +10,7 @@ stuff. It will also frequently add sorting for determinism.
10
10
 
11
11
  from __future__ import print_function
12
12
 
13
+ import codecs
13
14
  import errno
14
15
  import fnmatch
15
16
  import glob
@@ -787,19 +788,22 @@ def withTemporaryFile(suffix="", mode="w", delete=True, temp_path=None):
787
788
  yield temp_file
788
789
 
789
790
 
790
- def getFileContentByLine(filename, mode="r", encoding=None):
791
+ def getFileContentByLine(filename, mode="r", encoding=None, errors=None):
791
792
  # We read the whole, to keep lock times minimal. We only deal with small
792
793
  # files like this normally.
793
- return getFileContents(filename, mode, encoding=encoding).splitlines()
794
+ return getFileContents(
795
+ filename, mode, encoding=encoding, errors=errors
796
+ ).splitlines()
794
797
 
795
798
 
796
- def getFileContents(filename, mode="r", encoding=None):
799
+ def getFileContents(filename, mode="r", encoding=None, errors=None):
797
800
  """Get the contents of a file.
798
801
 
799
802
  Args:
800
803
  filename: str with the file to be read
801
804
  mode: "r" for str, "rb" for bytes result
802
805
  encoding: optional encoding to used when reading the file, e.g. "utf8"
806
+ errors: optional error handler decoding the content, as defined in `codecs`
803
807
 
804
808
  Returns:
805
809
  str or bytes - depending on mode.
@@ -807,7 +811,7 @@ def getFileContents(filename, mode="r", encoding=None):
807
811
  """
808
812
 
809
813
  with withFileLock("reading file %s" % filename):
810
- with openTextFile(filename, mode, encoding=encoding) as f:
814
+ with openTextFile(filename, mode, encoding=encoding, errors=errors) as f:
811
815
  return f.read()
812
816
 
813
817
 
@@ -829,18 +833,11 @@ def getFileFirstLine(filename, mode="r", encoding=None):
829
833
  return f.readline()
830
834
 
831
835
 
832
- def openTextFile(filename, mode, encoding=None):
833
- if encoding is not None:
834
- import codecs
835
-
836
- return codecs.open(filename, mode, encoding=encoding)
837
- else:
838
- # Avoid deprecation warning, is now the default.
839
- if python_version >= 0x370:
840
- mode = mode.replace("U", "")
836
+ def openTextFile(filename, mode, encoding=None, errors=None):
837
+ if python_version >= 0x3B0:
838
+ mode = mode.replace("U", "")
841
839
 
842
- # Encoding was checked to be not needed.
843
- return open(filename, mode) # pylint: disable=unspecified-encoding
840
+ return codecs.open(filename, mode, encoding=encoding, errors=errors)
844
841
 
845
842
 
846
843
  def putTextFileContents(filename, contents, encoding=None):