ScriptCollection 4.0.35__py3-none-any.whl → 4.0.37__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.
@@ -8,6 +8,7 @@ import multiprocessing
8
8
  import time
9
9
  from io import BytesIO
10
10
  import itertools
11
+ import zipfile
11
12
  import math
12
13
  import base64
13
14
  import os
@@ -36,7 +37,7 @@ from .ProgramRunnerPopen import ProgramRunnerPopen
36
37
  from .ProgramRunnerEpew import ProgramRunnerEpew, CustomEpewArgument
37
38
  from .SCLog import SCLog, LogLevel
38
39
 
39
- version = "4.0.35"
40
+ version = "4.0.37"
40
41
  __version__ = version
41
42
 
42
43
 
@@ -1841,10 +1842,10 @@ class ScriptCollectionCore:
1841
1842
  # </run programs>
1842
1843
 
1843
1844
  @GeneralUtilities.check_arguments
1844
- def extract_archive_with_7z(self, unzip_program_file: str, zipfile: str, password: str, output_directory: str) -> None:
1845
+ def extract_archive_with_7z(self, unzip_program_file: str, zip_file: str, password: str, output_directory: str) -> None:
1845
1846
  password_set = not password is None
1846
- file_name = Path(zipfile).name
1847
- file_folder = os.path.dirname(zipfile)
1847
+ file_name = Path(zip_file).name
1848
+ file_folder = os.path.dirname(zip_file)
1848
1849
  argument = "x"
1849
1850
  if password_set:
1850
1851
  argument = f"{argument} -p\"{password}\""
@@ -2496,3 +2497,15 @@ OCR-content:
2496
2497
  if fnmatch.fnmatch(file, f"*{pattern}*"):
2497
2498
  return True
2498
2499
  return False
2500
+
2501
+ @GeneralUtilities.check_arguments
2502
+ def create_zip_archive(self, folder:str,zip_file:str) -> None:
2503
+ GeneralUtilities.assert_folder_exists(folder)
2504
+ GeneralUtilities.assert_file_does_not_exist(zip_file)
2505
+ folder = os.path.abspath(folder)
2506
+ with zipfile.ZipFile(zip_file, "w", zipfile.ZIP_DEFLATED) as zipf:
2507
+ for root, _, files in os.walk(folder):
2508
+ for file in files:
2509
+ file_path = os.path.join(root, file)
2510
+ arcname = os.path.relpath(file_path, start=folder)
2511
+ zipf.write(file_path, arcname)
@@ -93,7 +93,7 @@ class TFCPS_MergeToStable:
93
93
  GeneralUtilities.ensure_directory_exists(target_folder)
94
94
  codeunit_version:str=self.tFCPS_Tools_General.get_version_of_codeunit(os.path.join(self.createRelease_configuration.repository,codeunit,f"{codeunit}.codeunit.xml"))
95
95
  target_file:str=os.path.join(target_folder,f"{codeunit}.v{codeunit_version}.Artifacts.zip")
96
- self.sc.run_program_argsasarray("tar",[f"-cf",target_file,"-C",source_folder, "."])
96
+ self.sc.create_zip_archive(source_folder,target_file)
97
97
 
98
98
  #push artifacts
99
99
  push_script:str=os.path.join( self.createRelease_configuration.build_repo,"Scripts","CreateRelease",f"PushArtifacts.{codeunit}.py")
@@ -132,6 +132,7 @@ class TFCPS_MergeToStable:
132
132
  self.sc.git_push_with_retry(self.createRelease_configuration.build_repo,self.createRelease_configuration.build_repo_remote_name,self.createRelease_configuration.build_repo_main_branch_name,self.createRelease_configuration.build_repo_main_branch_name)
133
133
  self.sc.git_push_with_retry(reference_repo,self.createRelease_configuration.reference_remote_name,self.createRelease_configuration.reference_repo_main_branch_name,self.createRelease_configuration.reference_repo_main_branch_name)
134
134
 
135
+
135
136
  def __remove_outdated_version(self,reference_repo:str):
136
137
  now = GeneralUtilities.get_now()
137
138
  for unsupported_version in self.tFCPS_Tools_General.get_unsupported_versions(self.createRelease_configuration.repository, now):
@@ -830,7 +830,7 @@ class TFCPS_Tools_General:
830
830
  GeneralUtilities.ensure_directory_does_not_exist(grylibrary_folder)
831
831
  GeneralUtilities.ensure_directory_does_not_exist(grylibrary_folder)
832
832
  GeneralUtilities.ensure_directory_exists(grylibrary_folder)
833
- archive_name = f"GRYLibrary.v{grylibrary_latest_version}.Productive.Artifacts.zip"
833
+ archive_name = f"GRYLibrary.v{grylibrary_latest_version}.Artifacts.zip"
834
834
  archive_download_link = f"https://github.com/anionDev/GRYLibrary/releases/download/v{grylibrary_latest_version}/{archive_name}"
835
835
  archive_file = os.path.join(grylibrary_folder, archive_name)
836
836
  urllib.request.urlretrieve(archive_download_link, archive_file)
@@ -1097,7 +1097,7 @@ class TFCPS_Tools_General:
1097
1097
  artifact_files = []
1098
1098
  codeunits = self.get_codeunits(repository_folder)
1099
1099
  for codeunit in codeunits:
1100
- artifact_files.append(self.__sc.find_file_by_extension(f"{build_artifacts_folder}/{productname}/{projectversion}/{codeunit}", "Productive.Artifacts.zip"))
1100
+ artifact_files.append(self.__sc.find_file_by_extension(f"{build_artifacts_folder}/{productname}/{projectversion}/{codeunit}", "Artifacts.zip"))
1101
1101
  if additional_attached_files is not None:
1102
1102
  for additional_attached_file in additional_attached_files:
1103
1103
  artifact_files.append(additional_attached_file)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ScriptCollection
3
- Version: 4.0.35
3
+ Version: 4.0.37
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
@@ -9,7 +9,7 @@ ScriptCollection/ProgramRunnerEpew.py,sha256=TJdDx9zIMSiCaXh8X-ekrMlbXfGtmd0Mmyx
9
9
  ScriptCollection/ProgramRunnerMock.py,sha256=uTu-aFle1W_oKjeQEmuPsFPQpvo0kRf2FrRjAPIwT5Y,37
10
10
  ScriptCollection/ProgramRunnerPopen.py,sha256=BPY7-ZMIlqT7JOKz8qlB5c0laF2Js-ijzqk09GxZC48,3821
11
11
  ScriptCollection/SCLog.py,sha256=dxGOI4E9lG5v9jk_LajXCkM5nghliCDV8YB8Ihn160s,4541
12
- ScriptCollection/ScriptCollectionCore.py,sha256=j0HB03ntr9wYBB8TxHKbIY0oCpCwpMkPTvSSrBnsH_8,140598
12
+ ScriptCollection/ScriptCollectionCore.py,sha256=GQ5obYMsmHQWU5N9sS6JM-bkf0pX_f2LKkNAJL9ObVw,141223
13
13
  ScriptCollection/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
14
  ScriptCollection/TFCPS/TFCPS_CodeUnitSpecific_Base.py,sha256=Cj89Xhzf5CRSDVH_-0JachQMsPHfjkz8jtRi_BpiGvY,25979
15
15
  ScriptCollection/TFCPS/TFCPS_CodeUnit_BuildCodeUnit.py,sha256=4rYKgTAga11NiDx8YUqz3K_Q4eX_n3kC6lvNdXEa24s,7389
@@ -17,10 +17,10 @@ ScriptCollection/TFCPS/TFCPS_CodeUnit_BuildCodeUnits.py,sha256=DGaQk85r8P5ANDhga
17
17
  ScriptCollection/TFCPS/TFCPS_CreateRelease.py,sha256=bcJlfI062Eoq7MOIhun-_iNG7SdO1ZIuC_cylaoLI1s,6332
18
18
  ScriptCollection/TFCPS/TFCPS_Generic.py,sha256=O-0guM_LJCcZmPZJhMgTvXD2RXUJEBWWv6Bt6hDFhvM,1943
19
19
  ScriptCollection/TFCPS/TFCPS_MergeToMain.py,sha256=41g219jaBRZ2VQCrWM4-Trvervrt8b5oATPwIIGNpag,7244
20
- ScriptCollection/TFCPS/TFCPS_MergeToStable.py,sha256=enp9vWDOZc_Bc_HVbrnbbDi0vj63WpEWRITpPB3NfU4,21682
20
+ ScriptCollection/TFCPS/TFCPS_MergeToStable.py,sha256=ifB1K6A903vvfH0LvtiFbZgYSgR94thfEI-jjf40LpU,21653
21
21
  ScriptCollection/TFCPS/TFCPS_PreBuildCodeunitsScript.py,sha256=CxdwUklhZVuJGp0vcokoH_KMXFzmlUlZwj77xFYijho,2242
22
22
  ScriptCollection/TFCPS/TFCPS_Tools_Dependencies.py,sha256=o7HI3ki3WWqlAiUsrh3Lky_w6UhYh9hdjYPGOhubQGA,414
23
- ScriptCollection/TFCPS/TFCPS_Tools_General.py,sha256=PmS034kSaSeL2P_h-6nWi_-RsPmKS08NGk51EfmDeEU,69477
23
+ ScriptCollection/TFCPS/TFCPS_Tools_General.py,sha256=AeO4U8oF6v4iyKOunn0h-U_5miAtBmMGmjSUmmHosw0,69455
24
24
  ScriptCollection/TFCPS/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
25
  ScriptCollection/TFCPS/Docker/TFCPS_CodeUnitSpecific_Docker.py,sha256=-g8h2gCf9rh0KJXUBeQD5d0qLJgBU3Q8DNZXM1UXC04,5259
26
26
  ScriptCollection/TFCPS/Docker/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -35,8 +35,8 @@ ScriptCollection/TFCPS/NodeJS/TFCPS_CodeUnitSpecific_NodeJS.py,sha256=dnuDlQXThF
35
35
  ScriptCollection/TFCPS/NodeJS/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
36
36
  ScriptCollection/TFCPS/Python/TFCPS_CodeUnitSpecific_Python.py,sha256=q7msAxCb5VIZ-xhFg1MfzUvWomQRKYldqmW42KFhyMU,6868
37
37
  ScriptCollection/TFCPS/Python/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
38
- scriptcollection-4.0.35.dist-info/METADATA,sha256=f4zbt7ywLUkUPlI9pAXjDwTh02hA9niuU6XcXJARdn8,7688
39
- scriptcollection-4.0.35.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
40
- scriptcollection-4.0.35.dist-info/entry_points.txt,sha256=NeU26D6q7d8n2cmKQiOvHK21w1C7D2kxoNRJaKiyZ5w,4295
41
- scriptcollection-4.0.35.dist-info/top_level.txt,sha256=hY2hOVH0V0Ce51WB76zKkIWTUNwMUdHo4XDkR2vYVwg,17
42
- scriptcollection-4.0.35.dist-info/RECORD,,
38
+ scriptcollection-4.0.37.dist-info/METADATA,sha256=cOs_YxL-H9lvyW52nwyLQQXVGoJnBT-chT-SJcExgiI,7688
39
+ scriptcollection-4.0.37.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
40
+ scriptcollection-4.0.37.dist-info/entry_points.txt,sha256=NeU26D6q7d8n2cmKQiOvHK21w1C7D2kxoNRJaKiyZ5w,4295
41
+ scriptcollection-4.0.37.dist-info/top_level.txt,sha256=hY2hOVH0V0Ce51WB76zKkIWTUNwMUdHo4XDkR2vYVwg,17
42
+ scriptcollection-4.0.37.dist-info/RECORD,,