ScriptCollection 4.2.60__py3-none-any.whl → 4.2.62__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/ScriptCollectionCore.py +9 -18
- ScriptCollection/TFCPS/TFCPS_Tools_General.py +7 -8
- {scriptcollection-4.2.60.dist-info → scriptcollection-4.2.62.dist-info}/METADATA +1 -1
- {scriptcollection-4.2.60.dist-info → scriptcollection-4.2.62.dist-info}/RECORD +7 -7
- {scriptcollection-4.2.60.dist-info → scriptcollection-4.2.62.dist-info}/WHEEL +0 -0
- {scriptcollection-4.2.60.dist-info → scriptcollection-4.2.62.dist-info}/entry_points.txt +0 -0
- {scriptcollection-4.2.60.dist-info → scriptcollection-4.2.62.dist-info}/top_level.txt +0 -0
|
@@ -36,7 +36,7 @@ from .ProgramRunnerBase import ProgramRunnerBase
|
|
|
36
36
|
from .ProgramRunnerPopen import ProgramRunnerPopen
|
|
37
37
|
from .SCLog import SCLog, LogLevel
|
|
38
38
|
|
|
39
|
-
version = "4.2.
|
|
39
|
+
version = "4.2.62"
|
|
40
40
|
__version__ = version
|
|
41
41
|
|
|
42
42
|
class VSCodeWorkspaceShellTask:
|
|
@@ -1657,25 +1657,16 @@ class ScriptCollectionCore:
|
|
|
1657
1657
|
self.run_program("docker", f"container rm -f {container_name}")
|
|
1658
1658
|
|
|
1659
1659
|
@GeneralUtilities.check_arguments
|
|
1660
|
-
def
|
|
1661
|
-
|
|
1662
|
-
|
|
1663
|
-
|
|
1660
|
+
def get_latest_apt_package_version_in_debian(self, image: str,package) -> str:
|
|
1661
|
+
#docker run --rm -it debian:13.4-slim bash -c "apt update && apt list -a tor"
|
|
1662
|
+
output=self.run_with_epew("docker", f"run --rm -it {image} bash -c \"apt --color=false update && apt --color=false list -a tor\"",os.getcwd(),encode_argument_in_base64=True)
|
|
1663
|
+
stdout=output[1]
|
|
1664
|
+
version_line=[line.strip() for line in GeneralUtilities.string_to_lines(stdout) if GeneralUtilities.string_has_nonwhitespace_content(line) and line.startswith(package+"/")]
|
|
1665
|
+
GeneralUtilities.assert_condition(len(version_line) ==1, f"No version found for package '{package}' in image '{image}'.")
|
|
1666
|
+
result = version_line[0].split(" ")[1]
|
|
1667
|
+
return result
|
|
1664
1668
|
|
|
1665
1669
|
@GeneralUtilities.check_arguments
|
|
1666
|
-
def get_latest_tor_version_of_debian_repository(self, debian_version: str) -> str:
|
|
1667
|
-
package_url: str = f"https://deb.torproject.org/torproject.org/dists/{debian_version}/main/binary-amd64/Packages"
|
|
1668
|
-
headers = {'Cache-Control': 'no-cache'}
|
|
1669
|
-
r = requests.get(package_url, timeout=5, headers=headers)
|
|
1670
|
-
if r.status_code != 200:
|
|
1671
|
-
raise ValueError(f"Checking for latest tor package resulted in HTTP-response-code {r.status_code}.")
|
|
1672
|
-
lines = GeneralUtilities.string_to_lines(GeneralUtilities.bytes_to_string(r.content))
|
|
1673
|
-
version_line_prefix = "Version: "
|
|
1674
|
-
version_content_line = [line for line in lines if line.startswith(version_line_prefix)][1]
|
|
1675
|
-
version_with_overhead = version_content_line[len(version_line_prefix):]
|
|
1676
|
-
tor_version = version_with_overhead.split("~")[0]
|
|
1677
|
-
return tor_version
|
|
1678
|
-
|
|
1679
1670
|
def run_testcases_for_python_project(self, repository_folder: str):
|
|
1680
1671
|
self.assert_is_git_repository(repository_folder)
|
|
1681
1672
|
self.run_program("coverage", "run -m pytest", repository_folder)
|
|
@@ -1213,15 +1213,14 @@ class TFCPS_Tools_General:
|
|
|
1213
1213
|
image_address for example: "myregistry.example.com/myapp"
|
|
1214
1214
|
tag for example: "1.0.0"
|
|
1215
1215
|
"""
|
|
1216
|
+
GeneralUtilities.write_message_to_stdout(f"Creating multi-arch artifact {image_address}:{tag}...")
|
|
1216
1217
|
arch_tags = []
|
|
1217
|
-
|
|
1218
1218
|
for tar_path, os_name, arch in tar_files:
|
|
1219
1219
|
arch_tag = f"{image_address}:{tag}-{os_name}-{arch}"
|
|
1220
1220
|
arch_tags.append(arch_tag)
|
|
1221
|
-
|
|
1222
1221
|
# Load tar → local image
|
|
1223
|
-
|
|
1224
|
-
result = self.__sc.run_program_argsasarray("docker",[ "load", "-i", tar_path]
|
|
1222
|
+
GeneralUtilities.write_message_to_stdout(f"Loading {tar_path}...")
|
|
1223
|
+
result = self.__sc.run_program_argsasarray("docker",[ "load", "-i", tar_path])
|
|
1225
1224
|
# docker load outputs: "Loaded image: sha256:abc123..." or "Loaded image ID: ..."
|
|
1226
1225
|
# we need the loaded image ID
|
|
1227
1226
|
loaded_id = None
|
|
@@ -1229,19 +1228,15 @@ class TFCPS_Tools_General:
|
|
|
1229
1228
|
if "Loaded image" in line:
|
|
1230
1229
|
loaded_id = line.split(":", 1)[1].strip()
|
|
1231
1230
|
break
|
|
1232
|
-
|
|
1233
1231
|
if not loaded_id:
|
|
1234
1232
|
raise RuntimeError(f"Could not determine loaded image from output: \"{result[1]}\"")
|
|
1235
|
-
|
|
1236
1233
|
# Retag + push
|
|
1237
1234
|
self.__sc.run_program_argsasarray("docker",[ "tag", loaded_id, arch_tag])
|
|
1238
1235
|
self.__sc.run_program_argsasarray("docker",[ "push", arch_tag])
|
|
1239
|
-
|
|
1240
1236
|
# Create multi-arch manifest
|
|
1241
1237
|
final_tag = f"{image_address}:{tag}"
|
|
1242
1238
|
self.__sc.run_program_argsasarray("docker", [ "buildx", "imagetools", "create", "--tag", final_tag] + arch_tags)
|
|
1243
1239
|
|
|
1244
|
-
|
|
1245
1240
|
@GeneralUtilities.check_arguments
|
|
1246
1241
|
def platform_from_filename(self,filename: str) -> Platform:
|
|
1247
1242
|
match = re.search(r'_([^_]+)\.tar', filename)
|
|
@@ -1520,3 +1515,7 @@ class TFCPS_Tools_General:
|
|
|
1520
1515
|
source=f"https://raw.githubusercontent.com/anionDev/CommonProjectStructureExamples/refs/heads/main/Other/Reference/RepositoryStructure.mdd"
|
|
1521
1516
|
target=f"{repository_folder}/Other/Reference/RepositoryStructure.md"
|
|
1522
1517
|
self.download_file(source,target)
|
|
1518
|
+
|
|
1519
|
+
|
|
1520
|
+
def update_dependent_oci_images(self,repo:str):
|
|
1521
|
+
pass#TODO update all image-tags in repo/.ScriptCollection/OCIImages/ImageDefinition.csv if possible using the custom defined registries in ~/.ScriptCollection if possible.
|
|
@@ -9,7 +9,7 @@ ScriptCollection/ProgramRunnerMock.py,sha256=uTu-aFle1W_oKjeQEmuPsFPQpvo0kRf2FrR
|
|
|
9
9
|
ScriptCollection/ProgramRunnerPopen.py,sha256=BPY7-ZMIlqT7JOKz8qlB5c0laF2Js-ijzqk09GxZC48,3821
|
|
10
10
|
ScriptCollection/ProgramRunnerSudo.py,sha256=_khC3xuTdrPoLluBJZWfldltmmuKltABJPcbjZSFW-4,4835
|
|
11
11
|
ScriptCollection/SCLog.py,sha256=8TRy1LeYMsPOIuWUcnUNNbO5pd-cNBS-3cn-kdzP8FU,4768
|
|
12
|
-
ScriptCollection/ScriptCollectionCore.py,sha256=
|
|
12
|
+
ScriptCollection/ScriptCollectionCore.py,sha256=TKeOKBIdL-4wCdt__7tN8xBADf2vHxgudGdnswpxAG8,176461
|
|
13
13
|
ScriptCollection/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
14
14
|
ScriptCollection/OCIImages/AbstractImageHandler.py,sha256=83qDMILwxhH9DbC0sb358Vu8PXEysmJJyap_6gECZqs,1627
|
|
15
15
|
ScriptCollection/OCIImages/OCIImageManager.py,sha256=aBogkSXNDyi8NO11N-s03nuFJEv7PyJ-wjHuYYeZfvs,6662
|
|
@@ -30,7 +30,7 @@ ScriptCollection/TFCPS/TFCPS_Generic.py,sha256=O-0guM_LJCcZmPZJhMgTvXD2RXUJEBWWv
|
|
|
30
30
|
ScriptCollection/TFCPS/TFCPS_MergeToMain.py,sha256=-Ev9D3bZDlUk2WFQhcmvzQ3FCS97OdsVUd0koAdmpZc,7474
|
|
31
31
|
ScriptCollection/TFCPS/TFCPS_MergeToStable.py,sha256=Ajfy2pLajTuU6UpwItHt4C2a-gLF3gPc4z6BktL3Cio,22163
|
|
32
32
|
ScriptCollection/TFCPS/TFCPS_PreBuildCodeunitsScript.py,sha256=f0Uq1cA_4LvmL72cal0crrbKF6PcxL13D9wBKuQ1YBw,2328
|
|
33
|
-
ScriptCollection/TFCPS/TFCPS_Tools_General.py,sha256=
|
|
33
|
+
ScriptCollection/TFCPS/TFCPS_Tools_General.py,sha256=3XOc6eYBfmzpEKmmvpH-kCYymzLj3NRXhgUJXzkUOnI,98348
|
|
34
34
|
ScriptCollection/TFCPS/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
35
35
|
ScriptCollection/TFCPS/Docker/TFCPS_CodeUnitSpecific_Docker.py,sha256=xMuj-GoEwDnmUWbmdF536dNQL7jnTaw9aQ-gcDqUkgQ,11743
|
|
36
36
|
ScriptCollection/TFCPS/Docker/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -47,8 +47,8 @@ ScriptCollection/TFCPS/NodeJS/TFCPS_CodeUnitSpecific_NodeJS.py,sha256=kL37qJNwH6
|
|
|
47
47
|
ScriptCollection/TFCPS/NodeJS/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
48
48
|
ScriptCollection/TFCPS/Python/TFCPS_CodeUnitSpecific_Python.py,sha256=KFKDdfV9DFHE5n7TI6m1Ra1Qw2JwL_JQjneBfqcRQ_w,13467
|
|
49
49
|
ScriptCollection/TFCPS/Python/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
50
|
-
scriptcollection-4.2.
|
|
51
|
-
scriptcollection-4.2.
|
|
52
|
-
scriptcollection-4.2.
|
|
53
|
-
scriptcollection-4.2.
|
|
54
|
-
scriptcollection-4.2.
|
|
50
|
+
scriptcollection-4.2.62.dist-info/METADATA,sha256=qK2TKc3JjC_aXbaHw5oWttsm-s3c1D-jqITQJDNqIsU,7690
|
|
51
|
+
scriptcollection-4.2.62.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
|
|
52
|
+
scriptcollection-4.2.62.dist-info/entry_points.txt,sha256=27XwAJEcaMEc1be0Ec1vKHCbiU4Ziu8jKL-SqsrYOIQ,4680
|
|
53
|
+
scriptcollection-4.2.62.dist-info/top_level.txt,sha256=hY2hOVH0V0Ce51WB76zKkIWTUNwMUdHo4XDkR2vYVwg,17
|
|
54
|
+
scriptcollection-4.2.62.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|