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.
- ScriptCollection/GeneralUtilities.py +867 -873
- ScriptCollection/ScriptCollectionCore.py +3 -3
- ScriptCollection/TasksForCommonProjectStructure.py +23 -7
- {ScriptCollection-3.5.28.dist-info → ScriptCollection-3.5.31.dist-info}/METADATA +4 -4
- {ScriptCollection-3.5.28.dist-info → ScriptCollection-3.5.31.dist-info}/RECORD +8 -8
- {ScriptCollection-3.5.28.dist-info → ScriptCollection-3.5.31.dist-info}/WHEEL +1 -1
- {ScriptCollection-3.5.28.dist-info → ScriptCollection-3.5.31.dist-info}/entry_points.txt +0 -0
- {ScriptCollection-3.5.28.dist-info → ScriptCollection-3.5.31.dist-info}/top_level.txt +0 -0
|
@@ -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.
|
|
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
|
-
|
|
1695
|
+
def do_npm_install(self, package_json_folder: str, force: bool, verbosity: int) -> None:
|
|
1696
|
+
argument1 = "install"
|
|
1697
1697
|
if force:
|
|
1698
|
-
|
|
1699
|
-
self.run_with_epew("npm",
|
|
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
|
|
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",
|
|
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.
|
|
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.
|
|
27
|
-
Requires-Dist: cyclonedx-bom >=5.
|
|
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.
|
|
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=
|
|
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=
|
|
9
|
-
ScriptCollection/TasksForCommonProjectStructure.py,sha256=
|
|
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.
|
|
13
|
-
ScriptCollection-3.5.
|
|
14
|
-
ScriptCollection-3.5.
|
|
15
|
-
ScriptCollection-3.5.
|
|
16
|
-
ScriptCollection-3.5.
|
|
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,,
|
|
File without changes
|
|
File without changes
|