ScriptCollection 4.0.36__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.36"
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):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ScriptCollection
3
- Version: 4.0.36
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=8PHRgMJ9hDSQpar_J-N1XQaImRp46JUcg7QyBlvvvQU,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,7 +17,7 @@ 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
23
  ScriptCollection/TFCPS/TFCPS_Tools_General.py,sha256=AeO4U8oF6v4iyKOunn0h-U_5miAtBmMGmjSUmmHosw0,69455
@@ -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.36.dist-info/METADATA,sha256=FZYQ896g_H8inuNsLiK-cWSGiGEfbtNoFXeF9wWLf1g,7688
39
- scriptcollection-4.0.36.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
40
- scriptcollection-4.0.36.dist-info/entry_points.txt,sha256=NeU26D6q7d8n2cmKQiOvHK21w1C7D2kxoNRJaKiyZ5w,4295
41
- scriptcollection-4.0.36.dist-info/top_level.txt,sha256=hY2hOVH0V0Ce51WB76zKkIWTUNwMUdHo4XDkR2vYVwg,17
42
- scriptcollection-4.0.36.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,,