ScriptCollection 3.5.95__py3-none-any.whl → 3.5.97__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.
@@ -33,7 +33,7 @@ from .ProgramRunnerBase import ProgramRunnerBase
33
33
  from .ProgramRunnerPopen import ProgramRunnerPopen
34
34
  from .ProgramRunnerEpew import ProgramRunnerEpew, CustomEpewArgument
35
35
 
36
- version = "3.5.95"
36
+ version = "3.5.97"
37
37
  __version__ = version
38
38
 
39
39
 
@@ -292,7 +292,7 @@ class ScriptCollectionCore:
292
292
 
293
293
  @GeneralUtilities.check_arguments
294
294
  def git_push_with_retry(self, folder: str, remotename: str, localbranchname: str, remotebranchname: str, forcepush: bool = False, pushalltags: bool = True, verbosity: int = 0, amount_of_attempts: int = 5) -> None:
295
- GeneralUtilities.retry_action(lambda: self.git_push(folder, remotename, localbranchname, remotebranchname, forcepush, pushalltags), amount_of_attempts)
295
+ GeneralUtilities.retry_action(lambda: self.git_push(folder, remotename, localbranchname, remotebranchname, forcepush, pushalltags,verbosity), amount_of_attempts)
296
296
 
297
297
  @GeneralUtilities.check_arguments
298
298
  def git_push(self, folder: str, remotename: str, localbranchname: str, remotebranchname: str, forcepush: bool = False, pushalltags: bool = True, verbosity: int = 0) -> None:
@@ -2517,6 +2517,9 @@ class TasksForCommonProjectStructure:
2517
2517
  project_resources_folder = os.path.join(repository_folder, "Other", "Scripts")
2518
2518
  PrepareBuildCodeunits_script_name = "PrepareBuildCodeunits.py"
2519
2519
  prepare_build_codeunits_scripts = os.path.join(project_resources_folder, PrepareBuildCodeunits_script_name)
2520
+
2521
+ if do_git_clean_when_no_changes:
2522
+ self.__sc.run_program("git", "clean -dfx", repository_folder)
2520
2523
  if os.path.isfile(prepare_build_codeunits_scripts):
2521
2524
  GeneralUtilities.write_message_to_stdout(f'Run "{PrepareBuildCodeunits_script_name}"')
2522
2525
  result = self.__sc.run_program("python", f"{PrepareBuildCodeunits_script_name}", project_resources_folder, throw_exception_if_exitcode_is_not_zero=False, print_live_output=True)
@@ -2539,9 +2542,6 @@ class TasksForCommonProjectStructure:
2539
2542
  if contains_uncommitted_changes_at_begin:
2540
2543
  if is_pre_merge:
2541
2544
  raise ValueError(f'Repository "{repository_folder}" has uncommitted changes.')
2542
- else:
2543
- if do_git_clean_when_no_changes:
2544
- self.__sc.run_program("git", "clean -dfx", repository_folder)
2545
2545
  codeunit_subfolders = [os.path.join(repository_folder, codeunit) for codeunit in codeunits]
2546
2546
  codeunits_with_dependent_codeunits: dict[str, set[str]] = dict[str, set[str]]()
2547
2547
 
@@ -2724,11 +2724,11 @@ class TasksForCommonProjectStructure:
2724
2724
 
2725
2725
  @GeneralUtilities.check_arguments
2726
2726
  def ensure_plantuml_is_available(self, target_folder: str) -> None:
2727
- self.ensure_file_from_github_assets_is_available(target_folder, "plantuml", "plantuml", "PlantUML", "plantuml.jar", lambda latest_version: "plantuml.jar")
2727
+ self.ensure_file_from_github_assets_is_available_with_retry(target_folder, "plantuml", "plantuml", "PlantUML", "plantuml.jar", lambda latest_version: "plantuml.jar")
2728
2728
 
2729
2729
  @GeneralUtilities.check_arguments
2730
2730
  def ensure_androidappbundletool_is_available(self, target_folder: str) -> None:
2731
- self.ensure_file_from_github_assets_is_available(target_folder, "google", "bundletool", "AndroidAppBundleTool", "bundletool.jar", lambda latest_version: f"bundletool-all-{latest_version}.jar")
2731
+ self.ensure_file_from_github_assets_is_available_with_retry(target_folder, "google", "bundletool", "AndroidAppBundleTool", "bundletool.jar", lambda latest_version: f"bundletool-all-{latest_version}.jar")
2732
2732
 
2733
2733
  @GeneralUtilities.check_arguments
2734
2734
  def ensure_cyclonedxcli_is_available(self, target_folder: str) -> None:
@@ -2739,8 +2739,12 @@ class TasksForCommonProjectStructure:
2739
2739
  local_filename = local_filename+".exe"
2740
2740
  else:
2741
2741
  filename_on_github = "cyclonedx-linux-x64"
2742
- self.ensure_file_from_github_assets_is_available(target_folder, "CycloneDX", "cyclonedx-cli", "CycloneDXCLI", local_filename, lambda latest_version: filename_on_github)
2742
+ self.ensure_file_from_github_assets_is_available_with_retry(target_folder, "CycloneDX", "cyclonedx-cli", "CycloneDXCLI", local_filename, lambda latest_version: filename_on_github)
2743
2743
 
2744
+ @GeneralUtilities.check_arguments
2745
+ def ensure_file_from_github_assets_is_available_with_retry(self, target_folder: str, githubuser: str, githubprojectname: str, resource_name: str, local_filename: str, get_filename_on_github,amount_of_attempts:int=5) -> None:
2746
+ GeneralUtilities.retry_action(lambda: self.ensure_file_from_github_assets_is_available(target_folder, githubuser, githubprojectname, resource_name, local_filename, get_filename_on_github), amount_of_attempts)
2747
+
2744
2748
  @GeneralUtilities.check_arguments
2745
2749
  def ensure_file_from_github_assets_is_available(self, target_folder: str, githubuser: str, githubprojectname: str, resource_name: str, local_filename: str, get_filename_on_github) -> None:
2746
2750
  resource_folder = os.path.join(target_folder, "Other", "Resources", resource_name)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: ScriptCollection
3
- Version: 3.5.95
3
+ Version: 3.5.97
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
@@ -35,7 +35,7 @@ Requires-Dist: pycdlib>=1.14.0
35
35
  Requires-Dist: Pygments>=2.19.1
36
36
  Requires-Dist: pylint>=3.3.5
37
37
  Requires-Dist: pyOpenSSL>=25.0.0
38
- Requires-Dist: PyPDF>=5.3.1
38
+ Requires-Dist: PyPDF>=5.4.0
39
39
  Requires-Dist: pytest>=8.3.5
40
40
  Requires-Dist: PyYAML>=6.0.2
41
41
  Requires-Dist: qrcode>=8.0
@@ -6,12 +6,12 @@ ScriptCollection/ProgramRunnerEpew.py,sha256=4pjEd0r9Fcz3TTDv0MdTSd5KkigYXcWUVI1
6
6
  ScriptCollection/ProgramRunnerPopen.py,sha256=BPY7-ZMIlqT7JOKz8qlB5c0laF2Js-ijzqk09GxZC48,3821
7
7
  ScriptCollection/RPStream.py,sha256=NRRHL3YSP3D9MuAV2jB_--0KUKCsvJGxeKnxgrRZ9kY,1545
8
8
  ScriptCollection/SCLog.py,sha256=l4aekBiGoNkKGtvO_Er3NY_K7ts4ZWtIGlhq07I-4LY,30
9
- ScriptCollection/ScriptCollectionCore.py,sha256=BNaVHYzgDngTNPvdu1RmI5CcoBYXa5eER6MbOG9ECZA,123973
10
- ScriptCollection/TasksForCommonProjectStructure.py,sha256=WLpk9nRa6p_fFCHTJ3YO8mOxyrs1D8V2CuXem38qi84,226908
9
+ ScriptCollection/ScriptCollectionCore.py,sha256=by7RgObb1zbzjFVTFV_Sqwm-r7jNUDKk7QP946RrWPo,123983
10
+ ScriptCollection/TasksForCommonProjectStructure.py,sha256=sOhSXZYziEdqdsEcPmP1r7WBkhujriDAHP9vJJYflmM,227414
11
11
  ScriptCollection/UpdateCertificates.py,sha256=Eynbgu7k9jLxApP2D_8Il77B6BFjJap6K7oTeEAZYbk,7790
12
12
  ScriptCollection/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
- scriptcollection-3.5.95.dist-info/METADATA,sha256=vVDkmhbE3EFINXPutGygcmV-cNd_sEKd0AFPwvsSF8g,7664
14
- scriptcollection-3.5.95.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
15
- scriptcollection-3.5.95.dist-info/entry_points.txt,sha256=fYCGWGNGijBQHhFe6UAO-BEpfEOxLyNJemukt5ElSzs,3644
16
- scriptcollection-3.5.95.dist-info/top_level.txt,sha256=hY2hOVH0V0Ce51WB76zKkIWTUNwMUdHo4XDkR2vYVwg,17
17
- scriptcollection-3.5.95.dist-info/RECORD,,
13
+ scriptcollection-3.5.97.dist-info/METADATA,sha256=zSfLVXJxOZM3FuwT_nYgsZKQUg8aNU_Lt7-zi20HAOU,7664
14
+ scriptcollection-3.5.97.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
15
+ scriptcollection-3.5.97.dist-info/entry_points.txt,sha256=fYCGWGNGijBQHhFe6UAO-BEpfEOxLyNJemukt5ElSzs,3644
16
+ scriptcollection-3.5.97.dist-info/top_level.txt,sha256=hY2hOVH0V0Ce51WB76zKkIWTUNwMUdHo4XDkR2vYVwg,17
17
+ scriptcollection-3.5.97.dist-info/RECORD,,