ScriptCollection 3.5.28__py3-none-any.whl → 3.5.31__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.
@@ -31,7 +31,7 @@ from .ProgramRunnerBase import ProgramRunnerBase
31
31
  from .ProgramRunnerPopen import ProgramRunnerPopen
32
32
  from .ProgramRunnerEpew import ProgramRunnerEpew, CustomEpewArgument
33
33
 
34
- version = "3.5.28"
34
+ version = "3.5.31"
35
35
  __version__ = version
36
36
 
37
37
 
@@ -1788,7 +1788,7 @@ chmod {permission} {link_file}
1788
1788
  main_reference_file = f"{reference_root_folder}/Reference.md"
1789
1789
  GeneralUtilities.ensure_file_exists(main_reference_file)
1790
1790
  GeneralUtilities.write_text_to_file(main_reference_file, f"""# {productname}
1791
-
1791
+
1792
1792
  TXDX add minimal service-description here.
1793
1793
 
1794
1794
  ## Technical documentation
@@ -1880,7 +1880,7 @@ TXDX
1880
1880
  - [Productive-System](TXDX)
1881
1881
  - [QualityCheck-system](TXDX)
1882
1882
 
1883
- """)
1883
+ """.replace("XDX", "ODO"))
1884
1884
 
1885
1885
  @GeneralUtilities.check_arguments
1886
1886
  def run_with_timeout(self, method, timeout_in_seconds: float) -> bool:
@@ -753,7 +753,7 @@ class TasksForCommonProjectStructure:
753
753
  for file in GeneralUtilities.get_all_files_of_folder(src_folder)+GeneralUtilities.get_all_files_of_folder(tests_folder):
754
754
  relative_file_path_in_repository = os.path.relpath(file, repository_folder)
755
755
  if file.endswith(".py") and os.path.getsize(file) > 0 and not self.__sc.file_is_git_ignored(relative_file_path_in_repository, repository_folder):
756
- GeneralUtilities.write_message_to_stdout(f"Check for linting-issues in {os.path.relpath(file,os.path.join(repository_folder,codeunitname))}.")
756
+ GeneralUtilities.write_message_to_stdout(f"Check for linting-issues in {os.path.relpath(file, os.path.join(repository_folder, codeunitname))}.")
757
757
  linting_result = self.__sc.python_file_has_errors(file, repository_folder)
758
758
  if (linting_result[0]):
759
759
  errors_found = True
@@ -1692,11 +1692,16 @@ class TasksForCommonProjectStructure:
1692
1692
  GeneralUtilities.write_text_to_file(file, result)
1693
1693
 
1694
1694
  @GeneralUtilities.check_arguments
1695
- def do_npm_install(self, package_json_folder: str,force:bool, verbosity: int) -> None:
1696
- argument = "clean-install"
1695
+ def do_npm_install(self, package_json_folder: str, force: bool, verbosity: int) -> None:
1696
+ argument1 = "install"
1697
1697
  if force:
1698
- argument = f"{argument} --force"
1699
- self.run_with_epew("npm", argument, package_json_folder, verbosity=verbosity)
1698
+ argument1 = f"{argument1} --force"
1699
+ self.run_with_epew("npm", argument1, package_json_folder, verbosity=verbosity)
1700
+
1701
+ argument2 = "clean-install"
1702
+ if force:
1703
+ argument2 = f"{argument2} --force"
1704
+ self.run_with_epew("npm", argument2, package_json_folder, verbosity=verbosity)
1700
1705
 
1701
1706
  @GeneralUtilities.check_arguments
1702
1707
  def run_with_epew(self, program: str, argument: str = "", working_directory: str = None, verbosity: int = 1, print_errors_as_information: bool = False, log_file: str = None, timeoutInSeconds: int = 600, addLogOverhead: bool = False, title: str = None, log_namespace: str = "", arguments_for_log: list[str] = None, throw_exception_if_exitcode_is_not_zero: bool = True, custom_argument: object = None, interactive: bool = False) -> tuple[int, str, str, int]:
@@ -1986,6 +1991,7 @@ class TasksForCommonProjectStructure:
1986
1991
 
1987
1992
  @GeneralUtilities.check_arguments
1988
1993
  def add_github_release(self, productname: str, projectversion: str, build_artifacts_folder: str, github_username: str, repository_folder: str, commandline_arguments: list[str]) -> None:
1994
+ GeneralUtilities.write_message_to_stdout(f"Create GitHub-release for {productname}.")
1989
1995
  verbosity = TasksForCommonProjectStructure.get_verbosity_from_commandline_arguments(commandline_arguments, 1)
1990
1996
  github_repo = f"{github_username}/{productname}"
1991
1997
  artifact_files = []
@@ -2397,7 +2403,7 @@ class TasksForCommonProjectStructure:
2397
2403
  def generate_svg_files_from_plantuml_files(self, target_folder: str) -> None:
2398
2404
  self.ensure_plantuml_is_available(target_folder)
2399
2405
  plant_uml_folder = os.path.join(target_folder, "Other", "Resources", "PlantUML")
2400
- files_folder = os.path.join(target_folder, "Other/Reference")
2406
+ files_folder = os.path.join(target_folder, "Other", "Reference")
2401
2407
  sc = ScriptCollectionCore()
2402
2408
  for file in GeneralUtilities.get_all_files_of_folder(files_folder):
2403
2409
  if file.endswith(".plantuml"):
@@ -2601,6 +2607,13 @@ class TasksForCommonProjectStructure:
2601
2607
  codeunits = self.get_codeunits(repository_folder)
2602
2608
  updated_dependencies = False
2603
2609
  verbosity: int = 1 # TODO set value dynamically
2610
+ update_dependencies_script_filename = "UpdateDependencies.py"
2611
+ # update dependencies of resources
2612
+ global_scripts_folder = os.path.join(repository_folder, "Other", "Scripts")
2613
+ if os.path.isfile(os.path.join(global_scripts_folder, update_dependencies_script_filename)):
2614
+ self.__sc.run_program("python", update_dependencies_script_filename, global_scripts_folder)
2615
+
2616
+ # update dependencies of codeunits
2604
2617
  for codeunit in codeunits:
2605
2618
  codeunit_file = os.path.join(repository_folder, codeunit, f"{codeunit}.codeunit.xml")
2606
2619
  codeunit_has_updatable_dependencies = self.codeunit_has_updatable_dependencies(codeunit_file)
@@ -2608,7 +2621,7 @@ class TasksForCommonProjectStructure:
2608
2621
  codeunit_folder = os.path.join(repository_folder, codeunit)
2609
2622
  update_dependencies_script_folder = os.path.join(codeunit_folder, "Other")
2610
2623
  GeneralUtilities.ensure_directory_exists(os.path.join(update_dependencies_script_folder, "Resources", "CodeAnalysisResult"))
2611
- self.__sc.run_program("python", "UpdateDependencies.py", update_dependencies_script_folder, verbosity)
2624
+ self.__sc.run_program("python", update_dependencies_script_filename, update_dependencies_script_folder, verbosity)
2612
2625
  if self.__sc.git_repository_has_uncommitted_changes(repository_folder):
2613
2626
  updated_dependencies = True
2614
2627
  version_of_project = self.get_version_of_project(repository_folder)
@@ -2639,6 +2652,7 @@ class TasksForCommonProjectStructure:
2639
2652
 
2640
2653
  @GeneralUtilities.check_arguments
2641
2654
  def generic_prepare_new_release(self, generic_prepare_new_release_arguments: GenericPrepareNewReleaseArguments):
2655
+ GeneralUtilities.write_message_to_stdout(f"Prepare release for {generic_prepare_new_release_arguments.product_name}.")
2642
2656
 
2643
2657
  # constants
2644
2658
  folder_of_this_file = os.path.dirname(generic_prepare_new_release_arguments.current_file)
@@ -2683,6 +2697,7 @@ class TasksForCommonProjectStructure:
2683
2697
 
2684
2698
  @GeneralUtilities.check_arguments
2685
2699
  def generic_create_release(self, generic_create_release_arguments: GenericCreateReleaseArguments) -> tuple[bool, str]:
2700
+ GeneralUtilities.write_message_to_stdout(f"Create release for {generic_create_release_arguments.product_name}.")
2686
2701
  folder_of_this_file = os.path.dirname(generic_create_release_arguments.current_file)
2687
2702
  build_repository_folder = GeneralUtilities.resolve_relative_path("../..", folder_of_this_file)
2688
2703
  repository_folder_name = generic_create_release_arguments.product_name
@@ -2730,6 +2745,7 @@ class TasksForCommonProjectStructure:
2730
2745
 
2731
2746
  @GeneralUtilities.check_arguments
2732
2747
  def update_http_documentation(self, update_http_documentation_arguments: UpdateHTTPDocumentationArguments):
2748
+ GeneralUtilities.write_message_to_stdout(f"Update HTTP-documentation for for {update_http_documentation_arguments.product_name}.")
2733
2749
  folder_of_this_file = str(os.path.dirname(update_http_documentation_arguments.current_file))
2734
2750
 
2735
2751
  ref_repo = GeneralUtilities.resolve_relative_path(f"../../Submodules/{update_http_documentation_arguments.reference_repository_name}", folder_of_this_file)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ScriptCollection
3
- Version: 3.5.28
3
+ Version: 3.5.31
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
@@ -23,8 +23,8 @@ Classifier: Topic :: Utilities
23
23
  Requires-Python: >=3.10
24
24
  Description-Content-Type: text/markdown
25
25
  Requires-Dist: build >=1.2.2.post1
26
- Requires-Dist: coverage >=7.6.4
27
- Requires-Dist: cyclonedx-bom >=5.0.0
26
+ Requires-Dist: coverage >=7.6.7
27
+ Requires-Dist: cyclonedx-bom >=5.1.1
28
28
  Requires-Dist: defusedxml >=0.7.1
29
29
  Requires-Dist: keyboard >=0.13.5
30
30
  Requires-Dist: lcov-cobertura >=2.0.2
@@ -41,7 +41,7 @@ Requires-Dist: PyYAML >=6.0.2
41
41
  Requires-Dist: qrcode >=8.0
42
42
  Requires-Dist: send2trash >=1.8.3
43
43
  Requires-Dist: twine >=5.1.1
44
- Requires-Dist: xmlschema >=3.4.2
44
+ Requires-Dist: xmlschema >=3.4.3
45
45
 
46
46
  # ScriptCollection
47
47
 
@@ -1,16 +1,16 @@
1
1
  ScriptCollection/Executables.py,sha256=57f2bopoRUchbyyCZTseBk0ynEyHfXc2u4-LraxI7qg,20161
2
- ScriptCollection/GeneralUtilities.py,sha256=AElXv2NO30cTw-Qs3qVmO-YCOQ5FvBQM3RZMywuKQ_Y,35121
2
+ ScriptCollection/GeneralUtilities.py,sha256=6tMhEThExEJse33i7HgfJEvRqndNkSOzoXDQA8lUfHw,35809
3
3
  ScriptCollection/ProcessesRunner.py,sha256=3mu4ZxzZleQo0Op6o9EYTCFiJfb6kx5ov2YfZfT89mU,1395
4
4
  ScriptCollection/ProgramRunnerBase.py,sha256=7QAjoqOz6XPmJH19F2k-Z1fFQB_uZnPFvn-T54IJcHQ,2324
5
5
  ScriptCollection/ProgramRunnerEpew.py,sha256=C2Rs3YWOWWWJct7XmKphp5CF1tf0j4Fp-ljV2drLTfs,6349
6
6
  ScriptCollection/ProgramRunnerPopen.py,sha256=G3LgQUVCfaq7XjBsGzalElH31Hbr0etttGR2_H87YzA,3512
7
7
  ScriptCollection/RPStream.py,sha256=NRRHL3YSP3D9MuAV2jB_--0KUKCsvJGxeKnxgrRZ9kY,1545
8
- ScriptCollection/ScriptCollectionCore.py,sha256=e-Yug2hQFohALDE2Ytga4Aw6KJH5yuFcNduTC_u-Cqs,101903
9
- ScriptCollection/TasksForCommonProjectStructure.py,sha256=iZWDpFSF0VQotKpjGngs1bBy1-7sVEZiUFRUD08d5wo,194090
8
+ ScriptCollection/ScriptCollectionCore.py,sha256=OYVN6uOsQgwVk4CCGwNZPiuqblf7zaXLrO_G2Vq57ic,101921
9
+ ScriptCollection/TasksForCommonProjectStructure.py,sha256=lrypLs_dF5a0CCKinMwZhbg0LxJkVHxlmqJF4B6I31U,195223
10
10
  ScriptCollection/UpdateCertificates.py,sha256=Eynbgu7k9jLxApP2D_8Il77B6BFjJap6K7oTeEAZYbk,7790
11
11
  ScriptCollection/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
- ScriptCollection-3.5.28.dist-info/METADATA,sha256=-e83nP7ReNYtSMAer-iMvtflmr4novJrC6sdxoHopkg,7684
13
- ScriptCollection-3.5.28.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
14
- ScriptCollection-3.5.28.dist-info/entry_points.txt,sha256=yASwR6hWZ_b5d4W49YeX1htD8ngfWbwgjpfQiJdtUAU,2322
15
- ScriptCollection-3.5.28.dist-info/top_level.txt,sha256=hY2hOVH0V0Ce51WB76zKkIWTUNwMUdHo4XDkR2vYVwg,17
16
- ScriptCollection-3.5.28.dist-info/RECORD,,
12
+ ScriptCollection-3.5.31.dist-info/METADATA,sha256=AmndyxGsXVmE1zsut5NOoZyk1sMChMoqGdcXiP6wA0w,7684
13
+ ScriptCollection-3.5.31.dist-info/WHEEL,sha256=R06PA3UVYHThwHvxuRWMqaGcr-PuniXahwjmQRFMEkY,91
14
+ ScriptCollection-3.5.31.dist-info/entry_points.txt,sha256=yASwR6hWZ_b5d4W49YeX1htD8ngfWbwgjpfQiJdtUAU,2322
15
+ ScriptCollection-3.5.31.dist-info/top_level.txt,sha256=hY2hOVH0V0Ce51WB76zKkIWTUNwMUdHo4XDkR2vYVwg,17
16
+ ScriptCollection-3.5.31.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.3.0)
2
+ Generator: setuptools (75.5.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5