ScriptCollection 4.0.63__py3-none-any.whl → 4.0.64__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.

Potentially problematic release.


This version of ScriptCollection might be problematic. Click here for more details.

@@ -757,7 +757,7 @@ def UpdateImagesInDockerComposeFile() -> int:
757
757
  iu: ImageUpdater = ImageUpdater()
758
758
  parser = argparse.ArgumentParser()
759
759
  parser.add_argument('-f', '--file', required=False, default=None)
760
- parser.add_argument('-v', '--versionecholon', required=False, default=VersionEcholon.Newest.name, dest="Possible values are: " + ", ".join([e.name for e in VersionEcholon]))
760
+ parser.add_argument('-v', '--versionecholon', required=False, default=VersionEcholon.LatestVersion.name, dest="Possible values are: " + ", ".join([e.name for e in VersionEcholon]))
761
761
  parser.add_argument("-s", "--servicename", required=True, default=None)
762
762
  parser.add_argument("-u", "--updatertype", required=True, default=None)
763
763
  args = parser.parse_args()
@@ -27,12 +27,21 @@ import psutil
27
27
  from defusedxml.minidom import parse
28
28
  from OpenSSL import crypto
29
29
 
30
-
31
30
  class VersionEcholon(Enum):
32
- Patch = 0
33
- MinorOrPatch = 1
34
- MajorOrMinorOrPatch = 2
35
-
31
+ LatestPatch = 0
32
+ LatestPatchOrLatestMinor = 1
33
+ LatestPatchOrLatestMinorOrNextMajor = 2
34
+ LatestVersion = 3
35
+
36
+ class Dependency:
37
+ dependencyname:str
38
+ current_version:str
39
+ latest_patch_version_for_current_minor_version:str
40
+ latest_minor_version_for_current_major_version:str
41
+ latest_version:str
42
+
43
+ def get_latest_version(self,echolon:VersionEcholon)->str:
44
+ return self.latest_patch_version_for_current_minor_version#TODO consider echolon
36
45
 
37
46
  class GeneralUtilities:
38
47
 
@@ -1,5 +1,4 @@
1
1
  from abc import abstractmethod
2
- from enum import Enum
3
2
  import json
4
3
  import re
5
4
  from urllib.parse import quote
@@ -7,14 +6,7 @@ import yaml
7
6
  import requests
8
7
  from packaging import version as ve
9
8
  from packaging.version import Version
10
- from .GeneralUtilities import GeneralUtilities
11
-
12
-
13
- class VersionEcholon(Enum):
14
- LatestPatch = 0
15
- LatestPatchOrLatestMinor = 1
16
- LatestPatchOrLatestMinorOrNextMajor = 2
17
- Newest = 3
9
+ from .GeneralUtilities import GeneralUtilities,VersionEcholon
18
10
 
19
11
 
20
12
  class ImageUpdaterHelper:
@@ -70,7 +62,7 @@ class ImageUpdaterHelper:
70
62
  return ImageUpdaterHelper._internal_get_latest_patch_or_latest_minor_version(newer_versions, current_version)
71
63
  elif version_echolon == VersionEcholon.LatestPatchOrLatestMinorOrNextMajor:
72
64
  return ImageUpdaterHelper._internal_get_latest_patch_or_latest_minor_or_next_major_version(newer_versions, current_version)
73
- elif version_echolon == VersionEcholon.Newest:
65
+ elif version_echolon == VersionEcholon.LatestVersion:
74
66
  return ImageUpdaterHelper.get_latest_version(newer_versions)
75
67
  else:
76
68
  raise ValueError(f"Unknown version-echolon")
@@ -96,7 +88,7 @@ class ImageUpdaterHelper:
96
88
 
97
89
  @staticmethod
98
90
  @GeneralUtilities.check_arguments
99
- def get_versions_in_docker_hub(image: str, search_string: str, filter_regex: str, maximal_amount_of_items_to_load: int = 250) -> list[Version]:
91
+ def get_versions_in_docker_hub(image: str, search_string: str, filter_regex: str, maximal_amount_of_items_to_load: int = 250) -> list[Version]:#TODO add option to specify image source url
100
92
  if "/" not in image:
101
93
  image = f"library/{image}"
102
94
  response = requests.get(f"https://hub.docker.com/v2/repositories/{quote(image)}/tags?name={quote(search_string)}&ordering=last_updated&page=1&page_size={str(maximal_amount_of_items_to_load)}", timeout=20, headers={'Cache-Control': 'no-cache'})
@@ -535,7 +527,7 @@ class ImageUpdater:
535
527
  @GeneralUtilities.check_arguments
536
528
  def check_service_for_newest_version(self, dockercompose_file: str, service_name: str) -> bool:
537
529
  imagename, existing_tag, existing_version = self.get_current_version_of_service_from_docker_compose_file(dockercompose_file, service_name) # pylint:disable=unused-variable
538
- newest_version, newest_tag = self.get_latest_version_of_image(imagename, VersionEcholon.Newest, existing_version) # pylint:disable=unused-variable
530
+ newest_version, newest_tag = self.get_latest_version_of_image(imagename, VersionEcholon.LatestVersion, existing_version) # pylint:disable=unused-variable
539
531
  if existing_version < newest_version:
540
532
  GeneralUtilities.write_message_to_stdout(f"Service {service_name} with image {imagename} uses tag {existing_version}. The newest available version of this image is {newest_version}.")
541
533
  return True
ScriptCollection/SCLog.py CHANGED
@@ -1,4 +1,4 @@
1
-
1
+ import traceback
2
2
  from enum import Enum
3
3
  from datetime import datetime
4
4
  from .GeneralUtilities import GeneralUtilities
@@ -36,7 +36,7 @@ class SCLog:
36
36
  self.print_as_color = print_as_color
37
37
 
38
38
  @GeneralUtilities.check_arguments
39
- def log_exception(self, message: str, ex: Exception, current_traceback,loglevel:LogLevel=LogLevel.Error):
39
+ def log_exception(self, message: str, ex: Exception, current_traceback:traceback,loglevel:LogLevel=LogLevel.Error):
40
40
  self.log(f"Exception: {message}; Exception-details: {str(ex)}; Traceback: {current_traceback.format_exc()}", loglevel)
41
41
 
42
42
  @GeneralUtilities.check_arguments
@@ -53,11 +53,11 @@ class SCLog:
53
53
  if loglevel is None:
54
54
  loglevel = LogLevel.Information
55
55
 
56
- if int(self.loglevel)<int(loglevel) :
56
+ if int(self.loglevel)<int(loglevel):
57
57
  return
58
58
 
59
59
  if message.endswith("\n"):
60
- GeneralUtilities.write_message_to_stderr(f"invalid line: '{message}'") # TODO remove this
60
+ GeneralUtilities.write_message_to_stderr(f"invalid line: '{message}'") # TODO remove this
61
61
 
62
62
  part1: str = GeneralUtilities.empty_string
63
63
  part2: str = GeneralUtilities.empty_string
@@ -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.0.63"
39
+ version = "4.0.64"
40
40
  __version__ = version
41
41
 
42
42
 
@@ -1,5 +1,5 @@
1
1
  import os
2
- from ...GeneralUtilities import GeneralUtilities
2
+ from ...GeneralUtilities import GeneralUtilities, Dependency
3
3
  from ...SCLog import LogLevel
4
4
  from ..TFCPS_CodeUnitSpecific_Base import TFCPS_CodeUnitSpecific_Base,TFCPS_CodeUnitSpecific_Base_CLI
5
5
 
@@ -75,7 +75,13 @@ class TFCPS_CodeUnitSpecific_Docker_Functions(TFCPS_CodeUnitSpecific_Base):
75
75
  @GeneralUtilities.check_arguments
76
76
  def run_testcases(self=None) -> None:
77
77
  pass#TODO
78
-
78
+
79
+ def get_dependencies(self)->list[Dependency]:
80
+ raise ValueError(f"Operation is not implemented.")
81
+
82
+ def set_dependency_version(self,name:str,new_version:str)->list[Dependency]:
83
+ raise ValueError(f"Operation is not implemented.")
84
+
79
85
  class TFCPS_CodeUnitSpecific_Docker_CLI:
80
86
 
81
87
  @staticmethod
@@ -6,9 +6,8 @@ import uuid
6
6
  import json
7
7
  from lxml import etree
8
8
  import yaml
9
-
10
9
  from .CertificateGeneratorInformationBase import CertificateGeneratorInformationBase
11
- from ...GeneralUtilities import GeneralUtilities
10
+ from ...GeneralUtilities import Dependency, GeneralUtilities
12
11
  from ...SCLog import LogLevel
13
12
  from ..TFCPS_CodeUnitSpecific_Base import TFCPS_CodeUnitSpecific_Base,TFCPS_CodeUnitSpecific_Base_CLI
14
13
 
@@ -466,6 +465,13 @@ class TFCPS_CodeUnitSpecific_DotNet_Functions(TFCPS_CodeUnitSpecific_Base):
466
465
  filename_relative = f".{file[len(codeunit_folder):]}"
467
466
  return f'filename="{filename_relative}"'
468
467
 
468
+
469
+ def get_dependencies(self)->list[Dependency]:
470
+ raise ValueError(f"Operation is not implemented.")
471
+
472
+ def set_dependency_version(self,name:str,new_version:str)->list[Dependency]:
473
+ raise ValueError(f"Operation is not implemented.")
474
+
469
475
 
470
476
  class TFCPS_CodeUnitSpecific_DotNet_CLI:
471
477
 
@@ -2,7 +2,7 @@ import os
2
2
  import shutil
3
3
  import re
4
4
  import zipfile
5
- from ...GeneralUtilities import GeneralUtilities
5
+ from ...GeneralUtilities import Dependency, GeneralUtilities
6
6
  from ...SCLog import LogLevel
7
7
  from ..TFCPS_CodeUnitSpecific_Base import TFCPS_CodeUnitSpecific_Base,TFCPS_CodeUnitSpecific_Base_CLI
8
8
 
@@ -112,6 +112,13 @@ class TFCPS_CodeUnitSpecific_Flutter_Functions(TFCPS_CodeUnitSpecific_Base):
112
112
  self.tfcps_Tools_General.calculate_entire_line_rate(coverage_file)
113
113
  self.run_testcases_common_post_task(repository_folder, codeunit_name, True, self.get_target_environment_type())
114
114
 
115
+
116
+ def get_dependencies(self)->list[Dependency]:
117
+ raise ValueError(f"Operation is not implemented.")
118
+
119
+ def set_dependency_version(self,name:str,new_version:str)->list[Dependency]:
120
+ raise ValueError(f"Operation is not implemented.")
121
+
115
122
  class TFCPS_CodeUnitSpecific_Flutter_CLI:
116
123
 
117
124
  @staticmethod
@@ -1,7 +1,7 @@
1
1
  import os
2
2
  import re
3
3
  from lxml import etree
4
- from ...GeneralUtilities import GeneralUtilities
4
+ from ...GeneralUtilities import Dependency, GeneralUtilities
5
5
  from ...SCLog import LogLevel
6
6
  from ..TFCPS_CodeUnitSpecific_Base import TFCPS_CodeUnitSpecific_Base,TFCPS_CodeUnitSpecific_Base_CLI
7
7
 
@@ -112,6 +112,13 @@ class TFCPS_CodeUnitSpecific_NodeJS_Functions(TFCPS_CodeUnitSpecific_Base):
112
112
  self._protected_sc.run_with_epew("cyclonedx-npm", f"--output-format xml --output-file {relative_path_to_bom_file}", self.get_codeunit_folder(),print_live_output=self._protected_sc.log.loglevel==LogLevel.Diagnostic,encode_argument_in_base64=True)
113
113
  self._protected_sc.format_xml_file(self.get_codeunit_folder()+"/"+relative_path_to_bom_file)
114
114
 
115
+
116
+ def get_dependencies(self)->list[Dependency]:
117
+ raise ValueError(f"Operation is not implemented.")
118
+
119
+ def set_dependency_version(self,name:str,new_version:str)->list[Dependency]:
120
+ raise ValueError(f"Operation is not implemented.")
121
+
115
122
  class TFCPS_CodeUnitSpecific_NodeJS_CLI:
116
123
 
117
124
  @staticmethod
@@ -1,5 +1,5 @@
1
1
  import os
2
- from ...GeneralUtilities import GeneralUtilities
2
+ from ...GeneralUtilities import Dependency, GeneralUtilities
3
3
  from ...SCLog import LogLevel
4
4
  from ..TFCPS_CodeUnitSpecific_Base import TFCPS_CodeUnitSpecific_Base,TFCPS_CodeUnitSpecific_Base_CLI
5
5
 
@@ -99,7 +99,14 @@ class TFCPS_CodeUnitSpecific_Python_Functions(TFCPS_CodeUnitSpecific_Base):
99
99
  os.rename(os.path.join(repository_folder, codeunitname, "coverage.xml"), coveragefile)
100
100
  self.tfcps_Tools_General.merge_packages(coveragefile,codeunitname)
101
101
  self.run_testcases_common_post_task(repository_folder, codeunitname, True, self.get_type_environment_type())
102
-
102
+
103
+
104
+ def get_dependencies(self)->list[Dependency]:
105
+ raise ValueError(f"Operation is not implemented.")
106
+
107
+ def set_dependency_version(self,name:str,new_version:str)->list[Dependency]:
108
+ raise ValueError(f"Operation is not implemented.")
109
+
103
110
  class TFCPS_CodeUnitSpecific_Python_CLI:
104
111
 
105
112
  @staticmethod
@@ -5,14 +5,14 @@ import shutil
5
5
  import re
6
6
  import json
7
7
  import argparse
8
- from abc import ABC
8
+ from abc import ABC, abstractmethod
9
9
  import xmlschema
10
10
  from lxml import etree
11
- from ..GeneralUtilities import GeneralUtilities
11
+ from ..GeneralUtilities import Dependency, GeneralUtilities, VersionEcholon
12
12
  from ..ScriptCollectionCore import ScriptCollectionCore
13
13
  from ..SCLog import LogLevel
14
14
  from .TFCPS_Tools_General import TFCPS_Tools_General
15
- from .TFCPS_Tools_Dependencies import TFCPS_Tools_Dependencies,Dependency
15
+
16
16
 
17
17
  class TFCPS_CodeUnitSpecific_Base(ABC):
18
18
 
@@ -56,19 +56,30 @@ class TFCPS_CodeUnitSpecific_Base(ABC):
56
56
  enabled=False
57
57
  raise ValueError(f"Can not find codeunit-folder for folder \"{self.__current_file}\".")
58
58
 
59
- def update_dependencies_default(self):
60
- d:TFCPS_Tools_Dependencies=TFCPS_Tools_Dependencies()
61
- dependencies:list[Dependency]=d.get_dependencies()
59
+ @abstractmethod
60
+ def get_dependencies(self)->list[Dependency]:
61
+ raise ValueError(f"Operation is abstract.")
62
+
63
+ @abstractmethod
64
+ def set_dependency_version(self,name:str,new_version:str)->list[Dependency]:
65
+ raise ValueError(f"Operation is abstract.")
66
+
67
+ def update_dependencies(self):
68
+ dependencies:list[Dependency]=self.get_dependencies()
69
+ ignored_dependencies=self.tfcps_Tools_General.get_dependencies_which_are_ignored_from_updates(self.get_codeunit_folder())
70
+ for ignored_dependency in ignored_dependencies:
71
+ self._protected_sc.log.log(f"Codeunit {self.get_codeunit_name()} contains the dependency {ignored_dependency} which is ignored for updates.", LogLevel.Warning)
72
+ used_echolon:VersionEcholon=VersionEcholon.LatestPatchOrLatestMinor
62
73
  for dependency in dependencies:
63
74
  if dependency.current_version!=dependency.latest_version:
64
- pass#TODO update dependency
75
+ latest_version:str=dependency.get_latest_version(used_echolon)
76
+ self.set_dependency_version(dependency.dependencyname,latest_version)
65
77
 
66
78
  def get_version_of_project(self)->str:
67
79
  return self.tfcps_Tools_General.get_version_of_project(self.get_repository_folder())
68
80
 
69
81
  @GeneralUtilities.check_arguments
70
82
  def do_common_tasks_base(self,current_codeunit_version:str):
71
-
72
83
  repository_folder: str =self.get_repository_folder()
73
84
  self._protected_sc.assert_is_git_repository(repository_folder)
74
85
  codeunit_name: str = self.get_codeunit_name()
@@ -191,15 +202,10 @@ class TFCPS_CodeUnitSpecific_Base(ABC):
191
202
  # Generate diff-report
192
203
  self.tfcps_Tools_General.generate_diff_report(repository_folder, codeunit_name, self.tfcps_Tools_General.get_version_of_codeunit(self.get_codeunit_file()))
193
204
 
194
- d:TFCPS_Tools_Dependencies=TFCPS_Tools_Dependencies()
195
- dependencies:list[Dependency]=d.get_dependencies()
205
+ dependencies:list[Dependency]=self.get_dependencies()
196
206
  for dependency in dependencies:
197
- #TODO show warning if the latest version of dependency is too old
198
207
  if dependency.current_version!=dependency.latest_version:
199
- dependency_is_disabled_for_update=False#TODO read this value from codeunit-file
200
- if not dependency_is_disabled_for_update:
201
- self._protected_sc.log.log(f"Dependency \"{dependency.name}\" is used in the outdated version v{dependency.current_version} and can be upudated to v{dependency.latest_version}",LogLevel.Warning)
202
-
208
+ self._protected_sc.log.log(f"Dependency \"{dependency.name}\" is used in the outdated version v{dependency.current_version} and can be upudated to v{dependency.latest_version}",LogLevel.Warning)
203
209
 
204
210
 
205
211
  @GeneralUtilities.check_arguments
@@ -217,10 +223,6 @@ class TFCPS_CodeUnitSpecific_Base(ABC):
217
223
  def use_cache(self)->bool:
218
224
  return self.__use_cache
219
225
 
220
- @GeneralUtilities.check_arguments
221
- def update_dependencies_base(self):
222
- self.update_dependencies_default()
223
-
224
226
  @GeneralUtilities.check_arguments
225
227
  def get_codeunit_folder(self)->str:
226
228
  return self.__codeunit_folder
@@ -1299,7 +1299,7 @@ class TFCPS_Tools_General:
1299
1299
  GeneralUtilities.write_text_to_file(resrepo_commit_id_file, latest_version)
1300
1300
 
1301
1301
  @GeneralUtilities.check_arguments
1302
- def get_dependencies_which_are_ignored_from_updates(self, codeunit_folder: str, print_warnings_for_ignored_dependencies: bool) -> list[str]:
1302
+ def get_dependencies_which_are_ignored_from_updates(self, codeunit_folder: str) -> list[str]:
1303
1303
  self.assert_is_codeunit_folder(codeunit_folder)
1304
1304
  namespaces = {'cps': 'https://projects.aniondev.de/PublicProjects/Common/ProjectTemplates/-/tree/main/Conventions/RepositoryStructure/CommonProjectStructure', 'xsi': 'http://www.w3.org/2001/XMLSchema-instance'}
1305
1305
  codeunit_name = os.path.basename(codeunit_folder)
@@ -1307,15 +1307,13 @@ class TFCPS_Tools_General:
1307
1307
  root: etree._ElementTree = etree.parse(codeunit_file)
1308
1308
  ignoreddependencies = root.xpath('//cps:codeunit/cps:properties/cps:updatesettings/cps:ignoreddependencies/cps:ignoreddependency', namespaces=namespaces)
1309
1309
  result = [x.text.replace("\\n", GeneralUtilities.empty_string).replace("\\r", GeneralUtilities.empty_string).replace("\n", GeneralUtilities.empty_string).replace("\r", GeneralUtilities.empty_string).strip() for x in ignoreddependencies]
1310
- if print_warnings_for_ignored_dependencies and len(result) > 0:
1311
- self.__sc.log.log(f"Codeunit {codeunit_name} contains the following dependencies which will are ignoed for automatic updates: "+', '.join(result), LogLevel.Warning)
1312
1310
  return result
1313
1311
 
1314
1312
  @GeneralUtilities.check_arguments
1315
- def update_dependencies_of_package_json(self, folder_of_package_json: str) -> None:
1313
+ def update_dependencies_of_package_json(self, folder_of_package_json: str) -> None:#TODO this should probably be implemented in TFCPS_CodeUnitSpecific_NodeJS_Functions
1316
1314
  #TODO move this to TFCPS_CodeUnitSpecific_NodeJS_Functions
1317
1315
  if self.is_codeunit_folder(folder_of_package_json):
1318
- ignored_dependencies = self.get_dependencies_which_are_ignored_from_updates(folder_of_package_json, True)
1316
+ ignored_dependencies = self.get_dependencies_which_are_ignored_from_updates(folder_of_package_json)
1319
1317
  else:
1320
1318
  ignored_dependencies = []
1321
1319
  # TODO consider ignored_dependencies
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ScriptCollection
3
- Version: 4.0.63
3
+ Version: 4.0.64
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
@@ -1,17 +1,17 @@
1
1
  ScriptCollection/AnionBuildPlatform.py,sha256=olCBNO6dG4F9ZAFERE8DlgDf7ViiftQ6Vza9SctU4aU,12527
2
2
  ScriptCollection/CertificateUpdater.py,sha256=GXPxmYaW-ufOqsiP9kUYdtI6eNg1-GzrrCqsZdwW_HY,9199
3
- ScriptCollection/Executables.py,sha256=7SXsAA2UxtAMQ8d7agexYtGiXdjF3JE_TVJOF_KJNJs,42059
4
- ScriptCollection/GeneralUtilities.py,sha256=9Xd9aKPj3TkpVtdHXzFMILrRoXAfJCph69XRTstdsBo,49280
5
- ScriptCollection/ImageUpdater.py,sha256=qTe3yoqzQJY7LZdXBbjbWvrsSQaeHy1VwmOxaRzU2ig,29305
3
+ ScriptCollection/Executables.py,sha256=oAC4lr7V0DF3fHabk44cKVkEiIMt5761VPYYHeme0kQ,42066
4
+ ScriptCollection/GeneralUtilities.py,sha256=DVW6cDu_7f6-z-ZnOMtfNQreVsO2Dr81Wj-O02DJ3tw,49694
5
+ ScriptCollection/ImageUpdater.py,sha256=0KPybKb_9IALhSTNflST-mewQVZ4kvXzNtfcN0-Ut8k,29215
6
6
  ScriptCollection/ProcessesRunner.py,sha256=3mu4ZxzZleQo0Op6o9EYTCFiJfb6kx5ov2YfZfT89mU,1395
7
7
  ScriptCollection/ProgramRunnerBase.py,sha256=4A2eQgSg_rRgQcgSi-LYtUlM-uSQEpS7qFWn0tWt4uo,2171
8
8
  ScriptCollection/ProgramRunnerMock.py,sha256=uTu-aFle1W_oKjeQEmuPsFPQpvo0kRf2FrRjAPIwT5Y,37
9
9
  ScriptCollection/ProgramRunnerPopen.py,sha256=BPY7-ZMIlqT7JOKz8qlB5c0laF2Js-ijzqk09GxZC48,3821
10
10
  ScriptCollection/ProgramRunnerSudo.py,sha256=_khC3xuTdrPoLluBJZWfldltmmuKltABJPcbjZSFW-4,4835
11
- ScriptCollection/SCLog.py,sha256=dxGOI4E9lG5v9jk_LajXCkM5nghliCDV8YB8Ihn160s,4541
12
- ScriptCollection/ScriptCollectionCore.py,sha256=eAzas59cGTHlNblgt--Txp4mQaVddl1HpgavZV9xIGA,142342
11
+ ScriptCollection/SCLog.py,sha256=RnX7sKEqr9f9JtJi0_lfb7DXyN8YqKKvmRmoNN-yRcI,4565
12
+ ScriptCollection/ScriptCollectionCore.py,sha256=fEa6D28_HC8F0EK5StbKuH-a1wSt8WlGBBQv2v84XVw,142342
13
13
  ScriptCollection/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
- ScriptCollection/TFCPS/TFCPS_CodeUnitSpecific_Base.py,sha256=VyoVQPQ5t3VmRsR599tzsjRlnL42Hj3kubMmeoTQW7A,25441
14
+ ScriptCollection/TFCPS/TFCPS_CodeUnitSpecific_Base.py,sha256=Zt8Yh4twfbQjKP4ZsTqTxLY5UhPTAXFW15A9IReV8gQ,25762
15
15
  ScriptCollection/TFCPS/TFCPS_CodeUnit_BuildCodeUnit.py,sha256=m3bZZCoKV0mxME6HtDa3BAsGD4DSbiSp4XkqKOJyc9Y,7369
16
16
  ScriptCollection/TFCPS/TFCPS_CodeUnit_BuildCodeUnits.py,sha256=f9oGnopuzn3iDHC1AksU7Qr60LbDe0eLjYeXGiDPhAk,7526
17
17
  ScriptCollection/TFCPS/TFCPS_CreateRelease.py,sha256=bcJlfI062Eoq7MOIhun-_iNG7SdO1ZIuC_cylaoLI1s,6332
@@ -19,24 +19,23 @@ ScriptCollection/TFCPS/TFCPS_Generic.py,sha256=O-0guM_LJCcZmPZJhMgTvXD2RXUJEBWWv
19
19
  ScriptCollection/TFCPS/TFCPS_MergeToMain.py,sha256=7F9cwFy-7bxN5mkK9V_n7ffMPvBxLwzQvrAe60fbEMM,7245
20
20
  ScriptCollection/TFCPS/TFCPS_MergeToStable.py,sha256=nNS8NavE7MKUOkisH5h8RZa9dcHQd5r8yFZWO4RQSpY,21645
21
21
  ScriptCollection/TFCPS/TFCPS_PreBuildCodeunitsScript.py,sha256=CxdwUklhZVuJGp0vcokoH_KMXFzmlUlZwj77xFYijho,2242
22
- ScriptCollection/TFCPS/TFCPS_Tools_Dependencies.py,sha256=o7HI3ki3WWqlAiUsrh3Lky_w6UhYh9hdjYPGOhubQGA,414
23
- ScriptCollection/TFCPS/TFCPS_Tools_General.py,sha256=cfZl0EM1I9USzFh6cp31BT5kpR0QnVUJDjWeLKiHUs8,85283
22
+ ScriptCollection/TFCPS/TFCPS_Tools_General.py,sha256=w-eRd9i1bROioCisZyLVQcJybItBu-E2S5Ubj7L_3nQ,85065
24
23
  ScriptCollection/TFCPS/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
- ScriptCollection/TFCPS/Docker/TFCPS_CodeUnitSpecific_Docker.py,sha256=ylPvcdiN7RuqXpM-3uNqs40v1kyhaC0guV4JA2pIt_M,5234
24
+ ScriptCollection/TFCPS/Docker/TFCPS_CodeUnitSpecific_Docker.py,sha256=MEmsZUHDVus2TN7-ZxNQyW5DQp7j75z8DEvv55OSIzw,5509
26
25
  ScriptCollection/TFCPS/Docker/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
26
  ScriptCollection/TFCPS/DotNet/CertificateGeneratorInformationBase.py,sha256=bT6Gd5pQpZCw4OQz6HWkPCSn5z__eUUEisABLDSxd0o,200
28
27
  ScriptCollection/TFCPS/DotNet/CertificateGeneratorInformationGenerate.py,sha256=QyjOfMY22JWCvKjMelHiDWbJiWqotOfebpJpgDUaoO4,237
29
28
  ScriptCollection/TFCPS/DotNet/CertificateGeneratorInformationNoGenerate.py,sha256=i0zEGehj0sttxjjZtoq2KFSKp_ulxVyWp_ZgAhIY_So,241
30
- ScriptCollection/TFCPS/DotNet/TFCPS_CodeUnitSpecific_DotNet.py,sha256=XLAtSvYKq4CgpGffdUxqT2DeOVE6Vdr0TBW0_Wb7aWA,30938
29
+ ScriptCollection/TFCPS/DotNet/TFCPS_CodeUnitSpecific_DotNet.py,sha256=4XE1wXi-8VfLpAXJ5GGmYzzGverIPQamnybWKs2ur2o,31209
31
30
  ScriptCollection/TFCPS/DotNet/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
32
- ScriptCollection/TFCPS/Flutter/TFCPS_CodeUnitSpecific_Flutter.py,sha256=TIR95f6TVOnW25ieX9q4RUi1FogbYEfrlZOcZ1aE014,6969
31
+ ScriptCollection/TFCPS/Flutter/TFCPS_CodeUnitSpecific_Flutter.py,sha256=2c-3Ii4Ipc9F0AjkzZU66evAvwPMpISqQ6ApKgeF_T4,7245
33
32
  ScriptCollection/TFCPS/Flutter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
- ScriptCollection/TFCPS/NodeJS/TFCPS_CodeUnitSpecific_NodeJS.py,sha256=aF53bvcuZiDDiv1KZvZ0I-aiNLvYVP0pOHiRKCU6FHM,6655
33
+ ScriptCollection/TFCPS/NodeJS/TFCPS_CodeUnitSpecific_NodeJS.py,sha256=-dK1rtfpf1zCufobUmftc8ImUFskeGPADej-a7Dxbl8,6931
35
34
  ScriptCollection/TFCPS/NodeJS/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
36
- ScriptCollection/TFCPS/Python/TFCPS_CodeUnitSpecific_Python.py,sha256=q7msAxCb5VIZ-xhFg1MfzUvWomQRKYldqmW42KFhyMU,6868
35
+ ScriptCollection/TFCPS/Python/TFCPS_CodeUnitSpecific_Python.py,sha256=5hIkOnXi8mwDFLDUpESVhYxJJrGKYhvjRWVepmcBxNw,7136
37
36
  ScriptCollection/TFCPS/Python/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
38
- scriptcollection-4.0.63.dist-info/METADATA,sha256=C_wKjT8g6UXaxKRMceZvT6a29u5kmmzAtjkrCvSF39U,7688
39
- scriptcollection-4.0.63.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
40
- scriptcollection-4.0.63.dist-info/entry_points.txt,sha256=_izhaQEyHiyBIfM2zTYDaJ7qvgsP1WntkVChFnkWymE,4431
41
- scriptcollection-4.0.63.dist-info/top_level.txt,sha256=hY2hOVH0V0Ce51WB76zKkIWTUNwMUdHo4XDkR2vYVwg,17
42
- scriptcollection-4.0.63.dist-info/RECORD,,
37
+ scriptcollection-4.0.64.dist-info/METADATA,sha256=BYBRzdYRace9-7eDq1Y0CfLVatuH1nkctWTgmnTuIG4,7688
38
+ scriptcollection-4.0.64.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
39
+ scriptcollection-4.0.64.dist-info/entry_points.txt,sha256=_izhaQEyHiyBIfM2zTYDaJ7qvgsP1WntkVChFnkWymE,4431
40
+ scriptcollection-4.0.64.dist-info/top_level.txt,sha256=hY2hOVH0V0Ce51WB76zKkIWTUNwMUdHo4XDkR2vYVwg,17
41
+ scriptcollection-4.0.64.dist-info/RECORD,,
@@ -1,16 +0,0 @@
1
- from datetime import datetime
2
-
3
- class Dependency:
4
- name:str
5
- current_version:str
6
- latest_patch_version_for_current_minor_version:str
7
- latest_minor_version_for_current_major_version:str
8
- latest_version:str
9
- date_of_latest_version:datetime
10
-
11
- class TFCPS_Tools_Dependencies:
12
-
13
- def get_dependencies(self)->list[Dependency]:
14
- result:list[Dependency]=[]
15
- #TODO
16
- return result