cannect 1.0.0__py3-none-any.whl → 1.0.2__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.
cannect/__init__.py CHANGED
@@ -1,11 +1,13 @@
1
1
  __all__ = [
2
+ "env",
3
+ "mount",
2
4
 
3
5
  # .core
4
6
  "Ascet",
5
- "AscetCAN",
6
- "DataBaseCAN",
7
- "IR",
7
+ "AscetCAN", "DataBaseCAN",
8
+ "IntegrationRequest", "ChangeHistoryManager",
8
9
  "Subversion",
10
+ "TestCase", "TestCasePlot", "TestCaseUnit",
9
11
 
10
12
  # .utils
11
13
  "ComExcel",
@@ -16,15 +18,14 @@ __all__ = [
16
18
  "DataDictionary",
17
19
  ]
18
20
 
19
- from cannect.config import mount
21
+ from cannect.config import env, mount
20
22
  from cannect.core import ascet as Ascet
21
23
  from cannect.core.can import AscetCAN, DataBaseCAN
24
+ from cannect.core.ir import IntegrationRequest, ChangeHistoryManager
22
25
  from cannect.core.subversion import Subversion
23
- from cannect.core.testcase import TestCase, UnitTestCase, Plot
24
- from cannect.core.ir import IR
25
- from cannect.core.ir.changehistory import ChangeHistoryManager
26
-
26
+ from cannect.core.testcase import TestCase, TestCasePlot, TestCaseUnit
27
27
  from cannect.schema import DataDictionary
28
-
29
28
  from cannect.utils import ComExcel, Logger
30
29
  from cannect.utils import tools as Tools
30
+
31
+ mount()
cannect/config.py CHANGED
@@ -55,7 +55,7 @@ def mount(svn_path=None):
55
55
  E.get('USERDOMAIN', '') == 'HKEFICO' and
56
56
  E.get('USERDOMAIN_ROAMINGPROFILE', '') == 'HKEFICO'
57
57
  ):
58
- raise PermissionError(f'USER: {e.get("USERNAME")} NOT AUTHORIZED')
58
+ raise PermissionError(f'USER: {E.get("USERNAME")} NOT AUTHORIZED')
59
59
 
60
60
  # 전역 환경 변수 설정
61
61
  E.DOWNLOADS = E.USERPROFILE / 'Downloads'
@@ -65,7 +65,7 @@ def mount(svn_path=None):
65
65
  E.SVN_CONF = svn_path / 'GSL_Build/1_AswCode_SVN/PostAppSW/0_XML/DEM_Rename'
66
66
  E.SVN_HISTORY = svn_path / 'GSL_Release/4_SW변경이력'
67
67
  E.SVN_IR = svn_path / 'GSL_Build/8_IntegrationRequest'
68
- E.SVN_MODEL = svn_path / 'model/ascet/trunk'
68
+ E.SVN_MODEL = svn_path / 'model'
69
69
  E.SVN_UNECE = svn_path / 'Autron_CoWork/사이버보안/Module_Test_Results'
70
70
  E.SVN_SDD = svn_path / 'GSL_Build/7_Notes'
71
71
  for p in psutil.disk_partitions():
@@ -79,26 +79,8 @@ def mount(svn_path=None):
79
79
  if key.startswith("SVN"):
80
80
  if not path.exists():
81
81
  raise InternalServerError(f"{{{path}}} NOT EXIST IN {E.COMPANY} SERVER")
82
-
83
- # 접근 권한 2차 확인; SVN 권한 확인
84
- for path in [
85
- E.SVN_CAN,
86
- E.SVN_CONF,
87
- E.SVN_HISTORY,
88
- E.SVN_IR,
89
- E.SVN_MODEL,
90
- E.SVN_UNECE,
91
- E.SVN_SDD
92
- ]:
93
- if not (path / ".svn").is_dir():
94
- raise InternalServerError(f"{{{path}}} IS NOT LINKED TO SVN")
95
- return
96
82
 
97
- # Initialize
98
- if E.USERNAME == '22011148':
99
- mount(svn_path=Path(r"E:\SVN"))
100
- else:
101
- mount()
83
+ return
102
84
 
103
85
 
104
86
  if __name__ == "__main__":
@@ -1,3 +1,7 @@
1
- from .amd import Amd, AmdIO, AmdEL, AmdSC
2
- from .oid import generateOID
1
+ __all__ = [
2
+ "Amd",
3
+ "AmdIO",
4
+ "WorkspaceIO"
5
+ ]
6
+ from .amd import Amd, AmdIO
3
7
  from .ws import WorkspaceIO
cannect/core/ascet/ws.py CHANGED
@@ -1,4 +1,4 @@
1
- from cannect.core.ascet import AmdIO, AmdSC
1
+ from cannect.core.ascet.amd import AmdIO, AmdSC
2
2
  from cannect.core.subversion import Subversion
3
3
  from cannect.config import env
4
4
  from cannect.errors import AscetWorspaceFormatError, AmdDuplicationError, AmdNotFoundError
@@ -12,19 +12,22 @@ class WorkspaceIO:
12
12
 
13
13
  def __init__(self, path:str=""):
14
14
  self.path = path = env.SVN_MODEL if not path else Path(path)
15
-
16
- listdir = os.listdir(path)
17
- if not "HNB_GASOLINE" in listdir:
18
- raise AscetWorspaceFormatError('NO {HNB_GASOLINE} IN WORKSPACE DIRECTORY')
19
- if not "HMC_ECU_Library" in listdir:
20
- raise AscetWorspaceFormatError('NO {HMC_ECU_Library} IN WORKSPACE DIRECTORY')
21
-
22
- fdb = ''
23
- if '.svn' in listdir:
24
- fdb = Path(path) / '.svn/wc.db'
25
- for f in listdir:
26
- if f.endswith('.aws'):
27
- fdb = Path(path) / f
15
+ if path != env.SVN_MODEL:
16
+ listdir = os.listdir(path)
17
+ if not "HNB_GASOLINE" in listdir:
18
+ raise AscetWorspaceFormatError('NO {HNB_GASOLINE} IN WORKSPACE DIRECTORY')
19
+ if not "HMC_ECU_Library" in listdir:
20
+ raise AscetWorspaceFormatError('NO {HMC_ECU_Library} IN WORKSPACE DIRECTORY')
21
+
22
+ if path == env.SVN_MODEL:
23
+ fdb = r'\\kefico\keti\ENT\SDT\SVN\model\.svn\wc.db'
24
+ else:
25
+ fdb = ''
26
+ if '.svn' in listdir:
27
+ fdb = Path(path) / '.svn/wc.db'
28
+ for f in listdir:
29
+ if f.endswith('.aws'):
30
+ fdb = Path(path) / f
28
31
 
29
32
  if not fdb:
30
33
  raise AscetWorspaceFormatError('NO .aws OR wc.db IN WORKSPACE DIRECTORY')
@@ -145,6 +148,7 @@ if __name__ == "__main__":
145
148
 
146
149
 
147
150
  io = WorkspaceIO()
151
+ print(io.db)
148
152
  print(io["CanHSFPCMD"])
149
153
  # print(io.bcPath(33))
150
154
  # print(io.bcTree(33))
@@ -1,2 +1,6 @@
1
+ __all__ = [
2
+ "AscetCAN",
3
+ "DataBaseCAN"
4
+ ]
1
5
  from . import ascet as AscetCAN
2
6
  from . import db as DataBaseCAN
@@ -1,3 +1,8 @@
1
+ __all__ = [
2
+ "ComDef",
3
+ "ComDiag",
4
+ "ComRx",
5
+ ]
1
6
  from .diag import CANDiag as ComDiag
2
7
  from .comrx import ComRx
3
8
  from .comdef import ComDef
@@ -13,8 +13,7 @@ from xml.etree.ElementTree import Element
13
13
  import math
14
14
 
15
15
 
16
- F = formula_dictionary(env.SVN_CAN / "CAN_Model/Formula/HNB_I4GDI_I4MPI.xml")
17
-
16
+ F = None
18
17
  def elementWrapper(**kwargs) -> DataDictionary:
19
18
  return DataDictionary(
20
19
  kwargs=DataDictionary(**kwargs),
@@ -71,6 +70,10 @@ def crcClassElement(n:Union[int, str], oid_tag:Optional[Dict[str, str]]=None) ->
71
70
 
72
71
 
73
72
  def SignalElement(signal:CanSignal, oid_tag:Optional[Dict[str, str]]=None) -> DataDictionary:
73
+ global F
74
+ if F is None:
75
+ F = formula_dictionary(env.SVN_CAN / "CAN_Model/Formula/HNB_I4GDI_I4MPI.xml")
76
+
74
77
  if not oid_tag:
75
78
  oid_tag = {}
76
79
  kwargs = DataDictionary()
@@ -1,5 +1,6 @@
1
1
  from cannect.config import env
2
2
  from cannect.core.ascet.amd import Amd
3
+ from cannect.core.ascet.ws import WorkspaceIO
3
4
  from cannect.core.can.ascet import _db2code, _db2elem
4
5
  from cannect.core.can.db.reader import CANDBReader
5
6
  from cannect.schema.datadictionary import DataDictionary
@@ -31,7 +32,7 @@ class ComDef:
31
32
  name = os.path.basename(base_model).split(".")[0]
32
33
  else:
33
34
  name = f"ComDef{'_HEV' if engine_spec == 'HEV' else ''}"
34
- base_model = env.SVN_MODEL / rf'HNB_GASOLINE/_29_CommunicationVehicle/StandardDB/NetworkDefinition/{name}/{name}.zip'
35
+ base_model = WorkspaceIO()[name]
35
36
 
36
37
  # 공용 속성 생성
37
38
  self.db = db
@@ -76,7 +77,7 @@ class ComDef:
76
77
  logger.end(">>> Defining Signal Elements...")
77
78
  return
78
79
 
79
- def autorun(self):
80
+ def generate(self):
80
81
  self.main.find('Component/Comment').text = _db2code.INFO(self.db.revision)
81
82
  self.define_elements('MethodSignature')
82
83
  self.define_elements('Element')
@@ -245,7 +246,7 @@ if __name__ == "__main__":
245
246
  # # base_model=r'D:\SVN\model\ascet\trunk\HNB_GASOLINE\_29_CommunicationVehicle\StandardDB\NetworkDefinition\ComDef\ComDef-22368\ComDef.main.amd'
246
247
  # # base_model=ENV['ASCET_EXPORT_PATH']
247
248
  # )
248
- # model.autorun()
249
+ # model.generate()
249
250
 
250
251
  model = ComDef(
251
252
  db=db,
@@ -253,4 +254,4 @@ if __name__ == "__main__":
253
254
  exclude_tsw=True,
254
255
  # base_model=env.ASCET / f"Export/ComDef_G/ComDef_G.main.amd"
255
256
  )
256
- model.autorun()
257
+ model.generate()
@@ -1,5 +1,6 @@
1
1
  from cannect.config import env
2
2
  from cannect.core.ascet.amd import Amd
3
+ from cannect.core.ascet.ws import WorkspaceIO
3
4
  from cannect.core.can.ascet._db2code import MessageCode
4
5
  from cannect.core.can.db.reader import CANDBReader
5
6
  from cannect.utils.logger import Logger
@@ -29,7 +30,7 @@ class ComRx:
29
30
  name = os.path.basename(base_model).split(".")[0]
30
31
  else:
31
32
  name = f"ComRx{'_HEV' if engine_spec == 'HEV' else ''}"
32
- base_model = env.SVN_MODEL / rf'HNB_GASOLINE/_29_CommunicationVehicle/StandardDB/MessageInterface/MessageReceive/{name}/{name}.zip'
33
+ base_model = WorkspaceIO()[name]
33
34
  host = name.replace("Rx", "Def")
34
35
 
35
36
  # 공용 속성 생성
@@ -99,7 +100,7 @@ class ComRx:
99
100
  method.find('CodeBlock').text = curr.get(name, "")
100
101
  return
101
102
 
102
- def export(self):
103
+ def generate(self):
103
104
  self.main.export_to_downloads()
104
105
  self.impl.export_to_downloads()
105
106
  self.data.export_to_downloads()
@@ -136,4 +137,4 @@ if __name__ == "__main__":
136
137
  # base_model="",
137
138
  # base_model=env.ASCET / f"Export/ComRx_G/ComRx_G.main.amd"
138
139
  )
139
- model.export()
140
+ model.generate()
@@ -1,6 +1,7 @@
1
1
  from cannect.config import env
2
2
  from cannect.core.ascet.amd import Amd
3
3
  from cannect.core.ascet.oid import generateOID
4
+ from cannect.core.ascet.ws import WorkspaceIO
4
5
  from cannect.core.can.db.reader import CANDBReader
5
6
  from cannect.core.can.ascet._db2code import INFO
6
7
  from cannect.core.can.rule import naming
@@ -25,7 +26,7 @@ class CANDiag(Amd):
25
26
  template = env.SVN_CAN / "CAN_Model/_29_CommunicationVehicle/StandardDB/StandardTemplate/CANDiagTmplt/CANDiagTmplt.main.amd"
26
27
  super().__init__(str(template))
27
28
 
28
- self.dsm = env.SVN_MODEL / "HMC_ECU_Library/HMC_DiagLibrary/DSM_Types"
29
+ self.ws = WorkspaceIO()
29
30
 
30
31
  # LOGGER 생성
31
32
  base = Amd(src)
@@ -481,9 +482,9 @@ CHANNEL : {db[f'{self.hw} Channel']}-CAN
481
482
  return
482
483
 
483
484
  def copy_dsm(self):
484
- fid_md = Amd(os.path.join(self.dsm, "Fid_Typ.zip"))
485
+ fid_md = Amd(self.ws["Fid_Typ.zip"])
485
486
  fid = fid_md.impl.dataframe("ImplementationSet", depth="shallow").set_index("name")["OID"]
486
- deve_md = Amd(os.path.join(self.dsm, "DEve_Typ.zip"))
487
+ deve_md = Amd(self.ws["DEve_Typ.zip"])
487
488
  deve = deve_md.impl.dataframe("ImplementationSet", depth="shallow").set_index("name")["OID"]
488
489
 
489
490
  for elem in self.impl.iter('ElementImplementation'):
@@ -587,7 +588,7 @@ CHANNEL : {db[f'{self.hw} Channel']}-CAN
587
588
  self.logger(f'>>> ... NO EXCEPTION FOUND')
588
589
  return
589
590
 
590
- def create(self, path:str=''):
591
+ def generate(self, path:str=''):
591
592
 
592
593
  # BASE 모델의 기본 정보들을 CANDiag으로 복사
593
594
  self.logger('>>> COPY BASE MODEL TO TEMPLATE')
@@ -684,8 +685,8 @@ if __name__ == "__main__":
684
685
  proj = WorkspaceIO()
685
686
  data = CANDBReader().to_developer_mode("HEV")
686
687
 
687
- template = CANDiag(data, proj["CanFDMCU_HEV"], "MCU_01_P_10ms", "MCU_01_H_10ms", "MCU_02_P_10ms", "MCU_02_H_10ms")
688
- template.create()
688
+ template = CANDiag(data, proj["CanFDMCUD_HEV"], "MCU_01_P_10ms", "MCU_01_H_10ms", "MCU_02_P_10ms", "MCU_02_H_10ms", "MCU_03_100ms")
689
+ template.generate()
689
690
 
690
691
 
691
692
 
@@ -1,4 +1,10 @@
1
+ __all__ = [
2
+ "Reader",
3
+ "Specification",
4
+ "SCHEMA",
5
+ "VersionControl"
6
+ ]
1
7
  from .reader import CANDBReader as Reader
2
- from .schema import SCHEMA, toJSpreadSheet, standardize
3
- from .vcs import CANDBVcs as VCS
8
+ from .schema import SCHEMA
9
+ from .vcs import CANDBVcs as VersionControl
4
10
  from .specification.wrapper import Specification
@@ -3,6 +3,7 @@ from cannect.core.can.db.schema import standardize
3
3
  from cannect.core.subversion import Subversion
4
4
  from cannect.errors import CANDBError
5
5
  from cannect.utils.excel import ComExcel
6
+ from cannect.utils.tools import path_abbreviate
6
7
 
7
8
  from datetime import datetime
8
9
  from pandas import DataFrame
@@ -86,7 +87,7 @@ class CANDBVcs:
86
87
  source.to_json(jsonpath, orient='index')
87
88
  if not self.silence:
88
89
  self.logger("Manually Updated CAN DB from clipboard.")
89
- self.logger(f"- Saved as : {jsonpath}")
90
+ self.logger(f"- Saved as : {path_abbreviate(jsonpath)}")
90
91
  return
91
92
 
92
93
  # def commit_json(self):
@@ -1,2 +1,6 @@
1
- from .ir import IntegrationRequest as IR
1
+ __all__ = [
2
+ "ChangeHistoryManager",
3
+ "IntegrationRequest"
4
+ ]
5
+ from .ir import IntegrationRequest
2
6
  from .changehistory import ChangeHistoryManager
cannect/core/ir/ir.py CHANGED
@@ -355,7 +355,7 @@ class IntegrationRequest:
355
355
  for n, row in enumerate(self):
356
356
  self.logger.hold(f">>> %{row['FunctionName']: <{self._space}} ")
357
357
  if col == '' or col == 'SCMName':
358
- self.table.loc[n, 'SCMRev'] = _get_log(env.SVN_MODEL / f'{row["SCMName"]}.zip')
358
+ self.table.loc[n, 'SCMRev'] = _get_log(env.SVN_MODEL / f'ascet/trunk/{row["SCMName"]}.zip')
359
359
  if col == '' or col == 'DSMName':
360
360
  if pd.isna(row["DSMName"]) or (row["DSMName"] == ''):
361
361
  self.logger.hold(f'|{" " * (self._space + 13 + 11)}')
@@ -1,3 +1,8 @@
1
+ __all__ = [
2
+ "TestCase",
3
+ "TestCasePlot",
4
+ "TestCaseUnit"
5
+ ]
6
+ from .plotter import Plot as TestCasePlot
1
7
  from .testcase import TestCase
2
- from .unitcase import UnitTestCase
3
- from .plotter import Plot
8
+ from .unitcase import UnitTestCase as TestCaseUnit
cannect/utils/tools.py CHANGED
@@ -18,8 +18,8 @@ def unzip(src: Union[str, Path], to: Union[str, Path] = "") -> bool:
18
18
  os.makedirs(to, exist_ok=True)
19
19
 
20
20
  src = str(src)
21
- if not os.path.isfile(src):
22
- raise KeyError(f"src: {src}는 경로가 포함된 파일(Full-Directory)이어야 합니다.")
21
+ # if not os.path.isfile(src):
22
+ # raise KeyError(f"src: {src}는 경로가 포함된 파일(Full-Directory)이어야 합니다.")
23
23
  if src.endswith('.zip'):
24
24
  zip_obj = zipfile.ZipFile(src)
25
25
  zip_obj.extractall(to)
@@ -1,8 +1,8 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cannect
3
- Version: 1.0.0
3
+ Version: 1.0.2
4
4
  Summary: HYUNDAI-KEFICO EMS/ASW CONVENIENCE TOOL
5
- Requires-Python: >=3.8
5
+ Requires-Python: >=3.10
6
6
  Description-Content-Type: text/markdown
7
7
  License-File: LICENSE
8
8
  Requires-Dist: kaleido
@@ -1,27 +1,27 @@
1
- cannect/__init__.py,sha256=DgCJOsGMvnA14wtXMRwePW7VekFIIxTMCK_SuN1z318,654
2
- cannect/config.py,sha256=HF_oRF3Ll0qvsEMlTaF8BV-XmrCm5M3sA5Dfhr2iLuI,3566
1
+ cannect/__init__.py,sha256=6KvuqTfSrh-63J8pqT_tGJpXZyU28iOqqT2j21-OYxw,757
2
+ cannect/config.py,sha256=dUKptaCQKKIPRGhs7AJdHhtGJZp5lcOoza9ei2d1ZJw,3114
3
3
  cannect/errors.py,sha256=KSTkdSd45h1I6E0g50-CsMxJ9SOYy2Nx4oqzwdl7YZ8,311
4
4
  cannect/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  cannect/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
6
  cannect/core/mdf.py,sha256=Cg7lgyExyliOnuLs7eneNDTlmNV2vg89qc2fJCzECj0,1856
7
7
  cannect/core/subversion.py,sha256=oX_VehhrWT8mE81EwX_x2VIY7V9-NdoemplfN3VUgBk,4665
8
- cannect/core/ascet/__init__.py,sha256=GqjldG-06JyQGWRyU-horPESNhEB1Vp6PvKVusu25kQ,98
8
+ cannect/core/ascet/__init__.py,sha256=fyh9sg4WAqGTBajLlIAddlDS4D_-bkyZ4Ihmrx7s2GY,111
9
9
  cannect/core/ascet/amd.py,sha256=99sOjjhELyLIjhE4AJ2hEYw6q12A5U9t0Zxhhdian6Q,27305
10
10
  cannect/core/ascet/formula.py,sha256=rSU7tjwfkDRoCU4KJQLqpTL7cTWMbQvFr8PFhHjnTsA,1131
11
11
  cannect/core/ascet/oid.py,sha256=GDpIR4IU703oGcpWlAFkx0Qf8Lo2VVAJX9J35lyVoNU,974
12
- cannect/core/ascet/ws.py,sha256=JY-0BQZqb8BYxNz0D37WDjIrBbPvjIepGVGwaw_3D6I,6265
13
- cannect/core/can/__init__.py,sha256=4TGM8NohF83hsDHOx2O5rBrtdQxNoQ9n0wye0Nx-_jw,63
12
+ cannect/core/ascet/ws.py,sha256=jFk8Pd9krfXc4Y30Mzz1yd1Q0YZ2mSQ9kT7Ffnk0EBc,6475
13
+ cannect/core/can/__init__.py,sha256=swAqVDK77d8wsXvHQyth6NzNPd1IVfDa6M4mL9OWYdY,111
14
14
  cannect/core/can/rule.py,sha256=oE8dGNQIm11EAUEF3Qlf-3eiOE4IlBTZC8P3ckE3Vq0,9833
15
- cannect/core/can/ascet/__init__.py,sha256=l9tdnV_e4a9Ov6Y_U9CjdukqSYDitdKQG72ID9o09ew,88
15
+ cannect/core/can/ascet/__init__.py,sha256=k4l7AuUKE_UPkYEEHxDXxU6LWCVT1IX54w-5ylcjPww,144
16
16
  cannect/core/can/ascet/_db2code.py,sha256=FQDHNlee8ABUnQ9Snplqu12wMG8wNhhha1hXTgSJgNE,12209
17
- cannect/core/can/ascet/_db2elem.py,sha256=T9kxrRxKOSk8GvaGQIRSptuITH3f8xfpNneis2f6Hsc,15061
18
- cannect/core/can/ascet/comdef.py,sha256=nYvVGQJAjETk76AY-MoFvF-G_3aMZFfqVXKtEsd9sqc,10059
19
- cannect/core/can/ascet/comrx.py,sha256=XD3zXfrdwxNU-bgm4FZ3UDw6ExJufiYoiczZwO9zzK0,4964
20
- cannect/core/can/ascet/diag.py,sha256=XjJenzVlLqEm3llV2JAxS-8j8ysbZ1wt0lWY2UC2xXI,31268
21
- cannect/core/can/db/__init__.py,sha256=3e0S15jm_a6qk5bZ2cp2RtOQLAFwuj0r5qAyo93LGgc,179
17
+ cannect/core/can/ascet/_db2elem.py,sha256=MegNiktDiS-UGyQaEVjwUnMWtw8wPZX37U2iGVAI6lw,15109
18
+ cannect/core/can/ascet/comdef.py,sha256=-8u58oLFX97-LjD7VeQrVZ55sc1rEnpYMDZUWowo59I,10023
19
+ cannect/core/can/ascet/comrx.py,sha256=uyZTU0Tv1jZFaZ1kNiRXuRJ_qzHojOj80q13KblToSA,4915
20
+ cannect/core/can/ascet/diag.py,sha256=nLnwcXmev_szlbDfz_0lIjDgrTHvWz8JvUATSoyoZyk,31258
21
+ cannect/core/can/db/__init__.py,sha256=3CiP8_BtvGOy_jxDJb113J0JinUFJ7Nf5FKyXfv9Gwg,245
22
22
  cannect/core/can/db/reader.py,sha256=luLTiHc3n1c0P3V8Alc6H_vDbOyeqjTkxlBKWFYDzUg,5392
23
23
  cannect/core/can/db/schema.py,sha256=YT-oI5ffXprfOU4JbXj56sGKy9oF53-tjFzeH3QsHvI,5911
24
- cannect/core/can/db/vcs.py,sha256=Xd-eMugKZgHeqKWq36R4XwgV7sbztFAnlbL8BvpnXok,3902
24
+ cannect/core/can/db/vcs.py,sha256=N0djhH_Hv-9xgyVbSTpm9NQ_i7dcP5vhP8F1ttSmt28,3967
25
25
  cannect/core/can/db/specification/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
26
26
  cannect/core/can/db/specification/message.py,sha256=XiPfhV3I-tQVW2_mBIGo1e826ifX7VrmPu4KaQv7nW0,9225
27
27
  cannect/core/can/db/specification/styles.py,sha256=-rrX8g_ZLL6xcrdHIe5YBtwIBVSUrotzZ2EurDIlVFA,3288
@@ -32,13 +32,13 @@ cannect/core/can/testcase/unitcase/asw2can.py,sha256=HCfFkOcIYSSw7geGjMAiKjwNaEq
32
32
  cannect/core/can/testcase/unitcase/decode.py,sha256=R1DbiiBYflwI1f9z7-0hPpncKddb9W0T642E0uWBwSc,3044
33
33
  cannect/core/can/testcase/unitcase/diagnosis.py,sha256=kmpdkb96A5KJU7O82vJm8CNc_9H0BLcq5s0a0HDXx9M,19900
34
34
  cannect/core/can/testcase/unitcase/encode.py,sha256=hmTKqwF-v-kkW5lAcLosI6G0-QTUqEMtyPxOda3X6YU,2824
35
- cannect/core/ir/__init__.py,sha256=gjmXlbqYwPg2ekJGEQNx5E2RaISQo7u9hBMiHMk8rUQ,88
35
+ cannect/core/ir/__init__.py,sha256=etkIUl0teb06nEB4a4YgbAmZnFaHBIR7VHDztyhccgs,149
36
36
  cannect/core/ir/changehistory.py,sha256=aUqJjn10beIAidqB75Jps4pDRMm38zoMqzHEVKs4Wnk,12562
37
37
  cannect/core/ir/delivereables.py,sha256=1fEyCutNOoZNbFcKRQ3pZAPzR_Q4wSlC4Tp_5fCl9_g,2596
38
38
  cannect/core/ir/diff.py,sha256=r34h5AknXcld7RJvwsZ-JYXclAHVHx2CgY6xZDe3icU,3705
39
- cannect/core/ir/ir.py,sha256=G_VKcwydFI263jrXHmqSk1grh-tu4RNqSQgKRom32Y8,22276
39
+ cannect/core/ir/ir.py,sha256=r1tr_W3G81uC2WB99c69-jWgA4LVvCZeFM1wrnhaHX8,22288
40
40
  cannect/core/ir/sdd.py,sha256=rDkjnV2EKx25yRrIH25FGv38kRAhm1o9xsDCTilmBJw,6041
41
- cannect/core/testcase/__init__.py,sha256=XYSrw1vf128ct8hzhkBwKwgaxz_SrEdIR6WkSJZI5Bo,91
41
+ cannect/core/testcase/__init__.py,sha256=2dnD5l0kpPp7eIFdvkS3XvZ9MYbtDRzyg5BiWlm_28Y,192
42
42
  cannect/core/testcase/plotter.py,sha256=SNHmffhBqpySUPu_XDK-nvy_i0Rfo0MoHz_4DVOH-iU,8589
43
43
  cannect/core/testcase/style.py,sha256=sGwrG9YQ81xfY6LYNYCmNpbz8wC9UN2M8PdUohRHriQ,31422
44
44
  cannect/core/testcase/testcase.py,sha256=M96VmIXBskkaiIOV9aOqMOTWPQwUgYSWMu4ajU2Pnh8,4875
@@ -50,9 +50,9 @@ cannect/utils/__init__.py,sha256=vApTSz3uU9IsK8PGjw43VkTdfeBiYlXkgLzVehZciQ0,86
50
50
  cannect/utils/excel.py,sha256=sCWXZTqeiyPFNGVfnor9nmScfLl7_ERMiNEDrhURjU8,772
51
51
  cannect/utils/logger.py,sha256=QeYTFA6l2wFMdeqBYcwIEu3a_XUpEljvFmAIii9YSIc,2325
52
52
  cannect/utils/ppt.py,sha256=M4qrnENzHLa9-qKETgY_UrpONk6C3PcI7qD-JylnM_o,7121
53
- cannect/utils/tools.py,sha256=wWSD27supU76-J41KKnX7ksk6ZzKwPeGqfbKHOMiatk,7095
54
- cannect-1.0.0.dist-info/licenses/LICENSE,sha256=_UNFlbKK2ShYTDPH44e6OFWDtiLzYkDPnilDcrLaCG8,1064
55
- cannect-1.0.0.dist-info/METADATA,sha256=Yeo7xPtDtENl2XMGItx3PBrJqZ_QtTbEiCcNqyavezc,15929
56
- cannect-1.0.0.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
57
- cannect-1.0.0.dist-info/top_level.txt,sha256=QdGPQ02TsYi490A5C1BePgszlXQz7R9BijvgEP4-hQs,8
58
- cannect-1.0.0.dist-info/RECORD,,
53
+ cannect/utils/tools.py,sha256=oltW209RvbFD_L88RFxL6_CKjVo0iD1adUMMiHv-q40,7099
54
+ cannect-1.0.2.dist-info/licenses/LICENSE,sha256=_UNFlbKK2ShYTDPH44e6OFWDtiLzYkDPnilDcrLaCG8,1064
55
+ cannect-1.0.2.dist-info/METADATA,sha256=MGS4H9yjwP9BfWX841qxm6to5D8DNPRQs-Mgxxq22Hk,15930
56
+ cannect-1.0.2.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
57
+ cannect-1.0.2.dist-info/top_level.txt,sha256=QdGPQ02TsYi490A5C1BePgszlXQz7R9BijvgEP4-hQs,8
58
+ cannect-1.0.2.dist-info/RECORD,,