ScriptCollection 3.5.161__py3-none-any.whl → 3.5.163__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.
- ScriptCollection/GeneralUtilities.py +12 -11
- ScriptCollection/ScriptCollectionCore.py +2 -2
- ScriptCollection/TasksForCommonProjectStructure.py +10 -10
- {scriptcollection-3.5.161.dist-info → scriptcollection-3.5.163.dist-info}/METADATA +3 -3
- {scriptcollection-3.5.161.dist-info → scriptcollection-3.5.163.dist-info}/RECORD +8 -8
- {scriptcollection-3.5.161.dist-info → scriptcollection-3.5.163.dist-info}/WHEEL +0 -0
- {scriptcollection-3.5.161.dist-info → scriptcollection-3.5.163.dist-info}/entry_points.txt +0 -0
- {scriptcollection-3.5.161.dist-info → scriptcollection-3.5.163.dist-info}/top_level.txt +0 -0
@@ -7,6 +7,7 @@ import re
|
|
7
7
|
import os
|
8
8
|
import subprocess
|
9
9
|
import shutil
|
10
|
+
import time
|
10
11
|
import urllib
|
11
12
|
import stat
|
12
13
|
import secrets
|
@@ -369,7 +370,7 @@ class GeneralUtilities:
|
|
369
370
|
@check_arguments
|
370
371
|
def datetime_to_string_for_logfile_entry(datetime_object: datetime, add_milliseconds: bool = False) -> str:
|
371
372
|
if datetime_object.tzinfo is None:
|
372
|
-
datetime_object=datetime_object.replace(tzinfo=timezone.utc)#assume utc when no timezone is given
|
373
|
+
datetime_object = datetime_object.replace(tzinfo=timezone.utc) # assume utc when no timezone is given
|
373
374
|
pattern: str = None
|
374
375
|
if add_milliseconds:
|
375
376
|
pattern = "%Y-%m-%dT%H:%M:%S.%f%z"
|
@@ -635,8 +636,8 @@ class GeneralUtilities:
|
|
635
636
|
@staticmethod
|
636
637
|
@check_arguments
|
637
638
|
def read_lines_from_file(file: str, encoding="utf-8") -> list[str]:
|
638
|
-
content=GeneralUtilities.read_text_from_file(file, encoding)
|
639
|
-
if len(content)==0:
|
639
|
+
content = GeneralUtilities.read_text_from_file(file, encoding)
|
640
|
+
if len(content) == 0:
|
640
641
|
return []
|
641
642
|
else:
|
642
643
|
return [GeneralUtilities.strip_new_line_character(line) for line in content.split('\n')]
|
@@ -869,7 +870,7 @@ class GeneralUtilities:
|
|
869
870
|
@staticmethod
|
870
871
|
@check_arguments
|
871
872
|
def get_time_based_logfilename(name: str = "Log") -> str:
|
872
|
-
d=GeneralUtilities.get_now()
|
873
|
+
d = GeneralUtilities.get_now()
|
873
874
|
return f"{name}_{GeneralUtilities.datetime_to_string_for_logfile_name(d)}"
|
874
875
|
|
875
876
|
@staticmethod
|
@@ -1040,7 +1041,7 @@ class GeneralUtilities:
|
|
1040
1041
|
@staticmethod
|
1041
1042
|
@check_arguments
|
1042
1043
|
def certificate_is_expired(certificate_file: str) -> bool:
|
1043
|
-
return GeneralUtilities.get_certificate_expiry_date(certificate_file) <GeneralUtilities.get_now()
|
1044
|
+
return GeneralUtilities.get_certificate_expiry_date(certificate_file) < GeneralUtilities.get_now()
|
1044
1045
|
|
1045
1046
|
@staticmethod
|
1046
1047
|
@check_arguments
|
@@ -1109,14 +1110,14 @@ class GeneralUtilities:
|
|
1109
1110
|
result = action()
|
1110
1111
|
return result
|
1111
1112
|
except Exception:
|
1113
|
+
time.sleep(1.1)
|
1112
1114
|
amount_of_fails = amount_of_fails+1
|
1113
1115
|
GeneralUtilities.assert_condition(not (amount_of_attempts < amount_of_fails))
|
1114
|
-
|
1115
|
-
|
1116
|
-
|
1117
|
-
|
1118
|
-
|
1119
|
-
raise
|
1116
|
+
message = f"Action failed {amount_of_attempts} times."
|
1117
|
+
if action_name is not None:
|
1118
|
+
message = f"{message} Name of action: {action_name}"
|
1119
|
+
GeneralUtilities.write_message_to_stderr(message)
|
1120
|
+
raise
|
1120
1121
|
return None
|
1121
1122
|
|
1122
1123
|
@staticmethod
|
@@ -36,7 +36,7 @@ from .ProgramRunnerPopen import ProgramRunnerPopen
|
|
36
36
|
from .ProgramRunnerEpew import ProgramRunnerEpew, CustomEpewArgument
|
37
37
|
from .SCLog import SCLog, LogLevel
|
38
38
|
|
39
|
-
version = "3.5.
|
39
|
+
version = "3.5.163"
|
40
40
|
__version__ = version
|
41
41
|
|
42
42
|
|
@@ -2047,7 +2047,7 @@ DNS = {domain}
|
|
2047
2047
|
if not (package_name in ignored_dependencies):
|
2048
2048
|
self.log.log(f"Update package {package_name}...", LogLevel.Debug)
|
2049
2049
|
time.sleep(1.1) # attempt to prevent rate-limit
|
2050
|
-
self.
|
2050
|
+
self.run_program_with_retry("dotnet", f"add {csproj_filename} package {package_name}", folder, print_errors_as_information=True)
|
2051
2051
|
|
2052
2052
|
@GeneralUtilities.check_arguments
|
2053
2053
|
def create_deb_package(self, toolname: str, binary_folder: str, control_file_content: str, deb_output_folder: str, verbosity: int, permission_of_executable_file_as_octet_triple: int) -> None:
|
@@ -261,7 +261,7 @@ class TasksForCommonProjectStructure:
|
|
261
261
|
codeunit_name = os.path.basename(codeunit_folder)
|
262
262
|
src_folder: str = None
|
263
263
|
if package_name is None:
|
264
|
-
src_folder=codeunit_folder
|
264
|
+
src_folder = codeunit_folder
|
265
265
|
else:
|
266
266
|
src_folder = GeneralUtilities.resolve_relative_path(package_name, codeunit_folder) # TODO replace packagename
|
267
267
|
artifacts_folder = os.path.join(codeunit_folder, "Other", "Artifacts")
|
@@ -573,7 +573,7 @@ class TasksForCommonProjectStructure:
|
|
573
573
|
<PackageRequireLicenseAcceptance>true<\\/PackageRequireLicenseAcceptance>
|
574
574
|
<GenerateSerializationAssemblies>Off<\\/GenerateSerializationAssemblies>
|
575
575
|
<AppendTargetFrameworkToOutputPath>false<\\/AppendTargetFrameworkToOutputPath>
|
576
|
-
<OutputPath>\\.\\.\\\\Other\\\\Artifacts\\\\BuildResult_DotNet_win
|
576
|
+
<OutputPath>\\.\\.\\\\Other\\\\Artifacts\\\\BuildResult_DotNet_win\\-x64<\\/OutputPath>
|
577
577
|
<PlatformTarget>([^<]+)<\\/PlatformTarget>
|
578
578
|
<WarningLevel>\\d<\\/WarningLevel>
|
579
579
|
<Prefer32Bit>false<\\/Prefer32Bit>
|
@@ -637,13 +637,13 @@ class TasksForCommonProjectStructure:
|
|
637
637
|
<PackageRequireLicenseAcceptance>true<\\/PackageRequireLicenseAcceptance>
|
638
638
|
<GenerateSerializationAssemblies>Off<\\/GenerateSerializationAssemblies>
|
639
639
|
<AppendTargetFrameworkToOutputPath>false<\\/AppendTargetFrameworkToOutputPath>
|
640
|
-
<OutputPath>\\.\\.\\\\Other\\\\Artifacts\\\\BuildResultTests_DotNet_win
|
640
|
+
<OutputPath>\\.\\.\\\\Other\\\\Artifacts\\\\BuildResultTests_DotNet_win\\-x64<\\/OutputPath>
|
641
641
|
<PlatformTarget>([^<]+)<\\/PlatformTarget>
|
642
642
|
<WarningLevel>\\d<\\/WarningLevel>
|
643
643
|
<Prefer32Bit>false<\\/Prefer32Bit>
|
644
|
-
<SignAssembly>
|
644
|
+
<SignAssembly>true<\\/SignAssembly>
|
645
645
|
<AssemblyOriginatorKeyFile>\\.\\.\\\\\\.\\.\\\\Other\\\\Resources\\\\PublicKeys\\\\StronglyNamedKey\\\\([^<]+)PublicKey\\.snk<\\/AssemblyOriginatorKeyFile>
|
646
|
-
<DelaySign>
|
646
|
+
<DelaySign>true<\\/DelaySign>
|
647
647
|
<NoWarn>([^<]+)<\\/NoWarn>
|
648
648
|
<WarningsAsErrors>([^<]+)<\\/WarningsAsErrors>
|
649
649
|
<ErrorLog>\\.\\.\\\\Other\\\\Resources\\\\CodeAnalysisResult\\\\{codeunit_name_regex}Tests\\.sarif<\\/ErrorLog>
|
@@ -1478,13 +1478,13 @@ class TasksForCommonProjectStructure:
|
|
1478
1478
|
GeneralUtilities.write_message_to_stdout("Load image...")
|
1479
1479
|
self.__sc.run_program("docker", f"load --input {image_filename}", applicationimage_folder, verbosity=verbosity)
|
1480
1480
|
GeneralUtilities.write_message_to_stdout("Tag image...")
|
1481
|
-
self.__sc.
|
1482
|
-
self.__sc.
|
1481
|
+
self.__sc.run_program_with_retry("docker", f"tag {local_image_name}:{codeunit_version} {remote_image_latest}", verbosity=verbosity)
|
1482
|
+
self.__sc.run_program_with_retry("docker", f"tag {local_image_name}:{codeunit_version} {remote_image_version}", verbosity=verbosity)
|
1483
1483
|
GeneralUtilities.write_message_to_stdout("Push image...")
|
1484
|
-
self.__sc.
|
1485
|
-
self.__sc.
|
1484
|
+
self.__sc.run_program_with_retry("docker", f"push {remote_image_latest}", verbosity=verbosity)
|
1485
|
+
self.__sc.run_program_with_retry("docker", f"push {remote_image_version}", verbosity=verbosity)
|
1486
1486
|
if push_readme:
|
1487
|
-
self.__sc.
|
1487
|
+
self.__sc.run_program_with_retry("docker-pushrm", f"{remote_repo}", codeunit_folder, verbosity=verbosity)
|
1488
1488
|
|
1489
1489
|
@GeneralUtilities.check_arguments
|
1490
1490
|
def get_dependent_code_units(self, codeunit_file: str) -> list[str]:
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: ScriptCollection
|
3
|
-
Version: 3.5.
|
3
|
+
Version: 3.5.163
|
4
4
|
Summary: The ScriptCollection is the place for reusable scripts.
|
5
5
|
Home-page: https://github.com/anionDev/ScriptCollection
|
6
6
|
Author: Marius Göcke
|
@@ -31,11 +31,11 @@ Requires-Dist: lcov-cobertura>=2.1.1
|
|
31
31
|
Requires-Dist: lxml>=6.0.1
|
32
32
|
Requires-Dist: ntplib>=0.4.0
|
33
33
|
Requires-Dist: Pillow>=11.3.0
|
34
|
-
Requires-Dist: psutil>=7.
|
34
|
+
Requires-Dist: psutil>=7.1.0
|
35
35
|
Requires-Dist: pycdlib>=1.14.0
|
36
36
|
Requires-Dist: Pygments>=2.19.2
|
37
37
|
Requires-Dist: pylint>=3.3.8
|
38
|
-
Requires-Dist: pyOpenSSL>=25.
|
38
|
+
Requires-Dist: pyOpenSSL>=25.3.0
|
39
39
|
Requires-Dist: PyPDF>=6.0.0
|
40
40
|
Requires-Dist: pytest>=8.4.2
|
41
41
|
Requires-Dist: PyYAML>=6.0.2
|
@@ -1,17 +1,17 @@
|
|
1
1
|
ScriptCollection/CertificateUpdater.py,sha256=OAxrG21k_o3W3niOOGNSZzUPJlvolOWc1lRB2dMhc3g,9212
|
2
2
|
ScriptCollection/Executables.py,sha256=xWXG2lKx82y697vFDC3EsG1K3FqyX1Fo0bnfLSXIY1A,38282
|
3
|
-
ScriptCollection/GeneralUtilities.py,sha256=
|
3
|
+
ScriptCollection/GeneralUtilities.py,sha256=DKOgfpqKyxEvtoo_ncxGivtrqrQyF8J2S9vYBnSdaS8,48731
|
4
4
|
ScriptCollection/ImageUpdater.py,sha256=qTe3yoqzQJY7LZdXBbjbWvrsSQaeHy1VwmOxaRzU2ig,29305
|
5
5
|
ScriptCollection/ProcessesRunner.py,sha256=3mu4ZxzZleQo0Op6o9EYTCFiJfb6kx5ov2YfZfT89mU,1395
|
6
6
|
ScriptCollection/ProgramRunnerBase.py,sha256=2kMIAqdc65UjBAddOZkzy_aFx9h5roZ5a4bQNM6RV6Y,2480
|
7
7
|
ScriptCollection/ProgramRunnerEpew.py,sha256=4pjEd0r9Fcz3TTDv0MdTSd5KkigYXcWUVI1X43regfU,6477
|
8
8
|
ScriptCollection/ProgramRunnerPopen.py,sha256=BPY7-ZMIlqT7JOKz8qlB5c0laF2Js-ijzqk09GxZC48,3821
|
9
9
|
ScriptCollection/SCLog.py,sha256=rMdrEzBKQZBdObPJ9nZ5XCEXRoIFqPh8fAoiX6ZOVuw,4493
|
10
|
-
ScriptCollection/ScriptCollectionCore.py,sha256=
|
11
|
-
ScriptCollection/TasksForCommonProjectStructure.py,sha256=
|
10
|
+
ScriptCollection/ScriptCollectionCore.py,sha256=fKd-okYXoSn_q-IrIyusxHit5yeQbaMlKjBXR8RFL74,141742
|
11
|
+
ScriptCollection/TasksForCommonProjectStructure.py,sha256=meX8PnIrz2gm1SZa-sT3t5wPI6GnXFhKBDhqMqmRBPo,250546
|
12
12
|
ScriptCollection/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
13
|
-
scriptcollection-3.5.
|
14
|
-
scriptcollection-3.5.
|
15
|
-
scriptcollection-3.5.
|
16
|
-
scriptcollection-3.5.
|
17
|
-
scriptcollection-3.5.
|
13
|
+
scriptcollection-3.5.163.dist-info/METADATA,sha256=5xcMAk7ix436ybbU1kxw0UmnTYmlFjq0UA7cKJDMugA,7689
|
14
|
+
scriptcollection-3.5.163.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
15
|
+
scriptcollection-3.5.163.dist-info/entry_points.txt,sha256=EBRDrnGDURysHNyK0Z0fPCnL7uCCO_Mxc6WYJ47KxAI,4234
|
16
|
+
scriptcollection-3.5.163.dist-info/top_level.txt,sha256=hY2hOVH0V0Ce51WB76zKkIWTUNwMUdHo4XDkR2vYVwg,17
|
17
|
+
scriptcollection-3.5.163.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|