commonlib-reader 1.1.1__tar.gz → 1.1.2__tar.gz
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.
- {commonlib_reader-1.1.1 → commonlib_reader-1.1.2}/PKG-INFO +1 -1
- {commonlib_reader-1.1.1 → commonlib_reader-1.1.2}/commonlib_reader/__init__.py +2 -2
- commonlib_reader-1.1.2/commonlib_reader/discipline.py +64 -0
- {commonlib_reader-1.1.1 → commonlib_reader-1.1.2}/commonlib_reader/facility.py +2 -2
- {commonlib_reader-1.1.1 → commonlib_reader-1.1.2}/commonlib_reader/tag.py +2 -2
- {commonlib_reader-1.1.1 → commonlib_reader-1.1.2}/commonlib_reader/utils.py +16 -7
- {commonlib_reader-1.1.1 → commonlib_reader-1.1.2}/pyproject.toml +1 -1
- {commonlib_reader-1.1.1 → commonlib_reader-1.1.2}/README.md +0 -0
- {commonlib_reader-1.1.1 → commonlib_reader-1.1.2}/commonlib_reader/connector.py +0 -0
- {commonlib_reader-1.1.1 → commonlib_reader-1.1.2}/commonlib_reader/ims.py +0 -0
- {commonlib_reader-1.1.1 → commonlib_reader-1.1.2}/commonlib_reader/unit.py +0 -0
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
from commonlib_reader.utils import (
|
|
2
2
|
get_code,
|
|
3
3
|
get_code_param,
|
|
4
|
-
get_disciplines,
|
|
5
4
|
get_library_names,
|
|
6
5
|
)
|
|
7
6
|
|
|
8
7
|
|
|
8
|
+
from .discipline import Discipline
|
|
9
9
|
from .tag import TagType, TagCategory, TagFormat
|
|
10
10
|
from .ims import IMS
|
|
11
11
|
from .facility import Facility
|
|
12
12
|
from .unit import Unit
|
|
13
13
|
|
|
14
14
|
__all__ = [
|
|
15
|
+
"Discipline",
|
|
15
16
|
"Facility",
|
|
16
17
|
"IMS",
|
|
17
18
|
"TagType",
|
|
@@ -20,6 +21,5 @@ __all__ = [
|
|
|
20
21
|
"Unit",
|
|
21
22
|
"get_code",
|
|
22
23
|
"get_code_param",
|
|
23
|
-
"get_disciplines",
|
|
24
24
|
"get_library_names",
|
|
25
25
|
]
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
from typing import List
|
|
2
|
+
|
|
3
|
+
from commonlib_reader.utils import get_code
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Discipline:
|
|
7
|
+
def __init__(self, data: dict):
|
|
8
|
+
if not isinstance(data, dict):
|
|
9
|
+
raise ValueError("Input data shall be dictionary.")
|
|
10
|
+
|
|
11
|
+
self._data = data
|
|
12
|
+
|
|
13
|
+
def __eq__(self, other):
|
|
14
|
+
if isinstance(other, Discipline):
|
|
15
|
+
return self._data == other._data
|
|
16
|
+
|
|
17
|
+
return False
|
|
18
|
+
|
|
19
|
+
def __str__(self):
|
|
20
|
+
return f"Discipline: {self.name}-{self.description}"
|
|
21
|
+
|
|
22
|
+
@property
|
|
23
|
+
def name(self) -> str:
|
|
24
|
+
return self._data.get("name", "")
|
|
25
|
+
|
|
26
|
+
@property
|
|
27
|
+
def description(self) -> str:
|
|
28
|
+
return self._data.get("description", "")
|
|
29
|
+
|
|
30
|
+
@property
|
|
31
|
+
def identity(self) -> str:
|
|
32
|
+
return self._data.get("identity", "")
|
|
33
|
+
|
|
34
|
+
@property
|
|
35
|
+
def is_valid(self) -> bool:
|
|
36
|
+
return self._data.get("isValid", False)
|
|
37
|
+
|
|
38
|
+
@classmethod
|
|
39
|
+
def get_all(cls, scope: str, only_valid: bool = True) -> List["Discipline"]:
|
|
40
|
+
"""Get all disciplines for
|
|
41
|
+
|
|
42
|
+
Raises:
|
|
43
|
+
ValueError: _description_
|
|
44
|
+
|
|
45
|
+
Returns:
|
|
46
|
+
List["Discipline"]: List of discipline objects
|
|
47
|
+
"""
|
|
48
|
+
dis_data = get_code("Discipline", scope=scope)
|
|
49
|
+
|
|
50
|
+
if not isinstance(dis_data, list) or not all(
|
|
51
|
+
isinstance(x, dict) for x in dis_data
|
|
52
|
+
):
|
|
53
|
+
raise ValueError("Invalid discipline data from api")
|
|
54
|
+
|
|
55
|
+
if len(dis_data) == 0:
|
|
56
|
+
raise ValueError(
|
|
57
|
+
f"No discipline data found for scope {scope}. Verify that scope is correct."
|
|
58
|
+
)
|
|
59
|
+
|
|
60
|
+
dis = [Discipline(x) for x in dis_data] # type: ignore
|
|
61
|
+
if only_valid:
|
|
62
|
+
dis = [x for x in dis if x.is_valid]
|
|
63
|
+
|
|
64
|
+
return sorted(dis, key=lambda d: d.identity)
|
|
@@ -227,12 +227,12 @@ class Facility:
|
|
|
227
227
|
def get_sap_facilities(cls) -> List["Facility"]:
|
|
228
228
|
fac = cls.get_all_facilities()
|
|
229
229
|
return [f for f in fac if len(f.sap) > 0]
|
|
230
|
-
|
|
230
|
+
|
|
231
231
|
@classmethod
|
|
232
232
|
def get_ioc_facilities(cls) -> List["Facility"]:
|
|
233
233
|
fac = cls.get_all_facilities()
|
|
234
234
|
return [f for f in fac if len(f.ioc_plant) > 0]
|
|
235
|
-
|
|
235
|
+
|
|
236
236
|
@classmethod
|
|
237
237
|
def get_gov_facilities(cls) -> List["Facility"]:
|
|
238
238
|
fac = cls.get_all_facilities()
|
|
@@ -140,7 +140,7 @@ class TagFormat:
|
|
|
140
140
|
def __str__(self):
|
|
141
141
|
return f"{self.description} - {self.tag_category}"
|
|
142
142
|
|
|
143
|
-
def is_valid(self, tagNo: str):
|
|
143
|
+
def is_valid(self, tagNo: str) -> bool:
|
|
144
144
|
"""Check if input tag number matches this tag format.
|
|
145
145
|
Args:
|
|
146
146
|
tagNo (str): Tag number to check.
|
|
@@ -148,7 +148,7 @@ class TagFormat:
|
|
|
148
148
|
bool: True if tag number matches this tag format, else False.
|
|
149
149
|
"""
|
|
150
150
|
|
|
151
|
-
return re.fullmatch(self.regex, tagNo)
|
|
151
|
+
return bool(re.fullmatch(self.regex, tagNo))
|
|
152
152
|
|
|
153
153
|
def get_id(self) -> int:
|
|
154
154
|
"""Get tagformat identity.
|
|
@@ -7,15 +7,15 @@ import requests
|
|
|
7
7
|
from commonlib_reader.connector import get_connector
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
def get_library_names():
|
|
10
|
+
def get_library_names() -> list[str]:
|
|
11
11
|
library_names = get_connector().get_json(url="/api/Library/NameList")
|
|
12
|
-
if isinstance(library_names, list)
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
if isinstance(library_names, list) and all(
|
|
13
|
+
[isinstance(x, str) for x in library_names]
|
|
14
|
+
):
|
|
15
|
+
library_names.sort() # type: ignore
|
|
16
|
+
return library_names # type: ignore
|
|
15
17
|
|
|
16
|
-
|
|
17
|
-
def get_disciplines():
|
|
18
|
-
return get_code("Discipline")
|
|
18
|
+
raise ValueError("Wrong data from API when getting library names.")
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
def get_code(code: str, scope: Optional[str] = None, name: Optional[str] = None):
|
|
@@ -29,6 +29,15 @@ def get_code(code: str, scope: Optional[str] = None, name: Optional[str] = None)
|
|
|
29
29
|
|
|
30
30
|
|
|
31
31
|
def get_code_param(code, params=None):
|
|
32
|
+
"""_summary_
|
|
33
|
+
|
|
34
|
+
Args:
|
|
35
|
+
code (_type_): _description_
|
|
36
|
+
params (_type_, optional): _description_. Defaults to None.
|
|
37
|
+
|
|
38
|
+
Returns:
|
|
39
|
+
_type_: _description_
|
|
40
|
+
"""
|
|
32
41
|
if params is None:
|
|
33
42
|
params = {}
|
|
34
43
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|