cmsdials 1.2.0__tar.gz → 1.3.0__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.
- {cmsdials-1.2.0 → cmsdials-1.3.0}/PKG-INFO +1 -1
- {cmsdials-1.2.0 → cmsdials-1.3.0}/cmsdials/clients/file_index/models.py +1 -1
- cmsdials-1.3.0/cmsdials/clients/oms_proxy/client.py +46 -0
- cmsdials-1.3.0/cmsdials/clients/oms_proxy/models.py +14 -0
- {cmsdials-1.2.0 → cmsdials-1.3.0}/cmsdials/cmsdials.py +2 -0
- {cmsdials-1.2.0 → cmsdials-1.3.0}/cmsdials/filters.py +3 -0
- cmsdials-1.3.0/cmsdials/utils/__init__.py +0 -0
- {cmsdials-1.2.0 → cmsdials-1.3.0}/pyproject.toml +1 -1
- {cmsdials-1.2.0 → cmsdials-1.3.0}/LICENSE +0 -0
- {cmsdials-1.2.0 → cmsdials-1.3.0}/README.md +0 -0
- {cmsdials-1.2.0 → cmsdials-1.3.0}/cmsdials/__init__.py +0 -0
- {cmsdials-1.2.0 → cmsdials-1.3.0}/cmsdials/auth/__init__.py +0 -0
- {cmsdials-1.2.0 → cmsdials-1.3.0}/cmsdials/auth/_base.py +0 -0
- {cmsdials-1.2.0 → cmsdials-1.3.0}/cmsdials/auth/bearer.py +0 -0
- {cmsdials-1.2.0 → cmsdials-1.3.0}/cmsdials/auth/client.py +0 -0
- {cmsdials-1.2.0 → cmsdials-1.3.0}/cmsdials/auth/exceptions.py +0 -0
- {cmsdials-1.2.0 → cmsdials-1.3.0}/cmsdials/auth/models.py +0 -0
- {cmsdials-1.2.0 → cmsdials-1.3.0}/cmsdials/auth/secret_key.py +0 -0
- {cmsdials-1.2.0 → cmsdials-1.3.0}/cmsdials/clients/__init__.py +0 -0
- {cmsdials-1.2.0 → cmsdials-1.3.0}/cmsdials/clients/file_index/__init__.py +0 -0
- {cmsdials-1.2.0 → cmsdials-1.3.0}/cmsdials/clients/file_index/client.py +0 -0
- {cmsdials-1.2.0 → cmsdials-1.3.0}/cmsdials/clients/h1d/__init__.py +0 -0
- {cmsdials-1.2.0 → cmsdials-1.3.0}/cmsdials/clients/h1d/client.py +0 -0
- {cmsdials-1.2.0 → cmsdials-1.3.0}/cmsdials/clients/h1d/models.py +0 -0
- {cmsdials-1.2.0 → cmsdials-1.3.0}/cmsdials/clients/h2d/__init__.py +0 -0
- {cmsdials-1.2.0 → cmsdials-1.3.0}/cmsdials/clients/h2d/client.py +0 -0
- {cmsdials-1.2.0 → cmsdials-1.3.0}/cmsdials/clients/h2d/models.py +0 -0
- {cmsdials-1.2.0 → cmsdials-1.3.0}/cmsdials/clients/lumisection/__init__.py +0 -0
- {cmsdials-1.2.0 → cmsdials-1.3.0}/cmsdials/clients/lumisection/client.py +0 -0
- {cmsdials-1.2.0 → cmsdials-1.3.0}/cmsdials/clients/lumisection/models.py +0 -0
- {cmsdials-1.2.0 → cmsdials-1.3.0}/cmsdials/clients/mes/__init__.py +0 -0
- {cmsdials-1.2.0 → cmsdials-1.3.0}/cmsdials/clients/mes/client.py +0 -0
- {cmsdials-1.2.0 → cmsdials-1.3.0}/cmsdials/clients/mes/models.py +0 -0
- {cmsdials-1.2.0/cmsdials/clients/run → cmsdials-1.3.0/cmsdials/clients/oms_proxy}/__init__.py +0 -0
- {cmsdials-1.2.0/cmsdials/utils → cmsdials-1.3.0/cmsdials/clients/run}/__init__.py +0 -0
- {cmsdials-1.2.0 → cmsdials-1.3.0}/cmsdials/clients/run/client.py +0 -0
- {cmsdials-1.2.0 → cmsdials-1.3.0}/cmsdials/clients/run/models.py +0 -0
- {cmsdials-1.2.0 → cmsdials-1.3.0}/cmsdials/utils/_json.py +0 -0
- {cmsdials-1.2.0 → cmsdials-1.3.0}/cmsdials/utils/api_client.py +0 -0
- {cmsdials-1.2.0 → cmsdials-1.3.0}/cmsdials/utils/base_model.py +0 -0
- {cmsdials-1.2.0 → cmsdials-1.3.0}/cmsdials/utils/logger.py +0 -0
|
@@ -14,7 +14,7 @@ class FileIndex(BaseModel):
|
|
|
14
14
|
creation_date: datetime
|
|
15
15
|
last_modification_date: datetime
|
|
16
16
|
logical_file_name: str
|
|
17
|
-
status: str = Field(..., max_length=
|
|
17
|
+
status: str = Field(..., max_length=255)
|
|
18
18
|
err_trace: Optional[str] = Field(..., max_length=5000)
|
|
19
19
|
|
|
20
20
|
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
from typing import Optional
|
|
2
|
+
|
|
3
|
+
import requests
|
|
4
|
+
from requests.exceptions import HTTPError
|
|
5
|
+
|
|
6
|
+
from ...auth._base import BaseCredentials
|
|
7
|
+
from ...utils.api_client import BaseAPIClient
|
|
8
|
+
from ...utils.logger import logger
|
|
9
|
+
from .models import OMSFilter, OMSPage
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class OMSProxyClient(BaseAPIClient):
|
|
13
|
+
default_timeout = 30
|
|
14
|
+
lookup_url = "oms-proxy/"
|
|
15
|
+
|
|
16
|
+
def __init__(
|
|
17
|
+
self,
|
|
18
|
+
creds: BaseCredentials,
|
|
19
|
+
*args: str,
|
|
20
|
+
**kwargs: str,
|
|
21
|
+
) -> None:
|
|
22
|
+
super().__init__(*args, **kwargs)
|
|
23
|
+
self.creds = creds
|
|
24
|
+
|
|
25
|
+
def _build_headers(self) -> dict:
|
|
26
|
+
base = {"accept": "application/json"}
|
|
27
|
+
self.creds.before_request(base)
|
|
28
|
+
return base
|
|
29
|
+
|
|
30
|
+
def query(self, endpoint: str, filters: list[OMSFilter], pages: Optional[list[OMSPage]] = None):
|
|
31
|
+
headers = self._build_headers()
|
|
32
|
+
endpoint_url = self.api_url + self.lookup_url
|
|
33
|
+
|
|
34
|
+
# Format filters
|
|
35
|
+
filters = {f"filter[{_filter.attribute_name}][{_filter.operator}]": _filter.value for _filter in filters}
|
|
36
|
+
pages = {f"page[{page.attribute_name}]": page.value for page in pages} if pages and len(pages) > 0 else {}
|
|
37
|
+
params = {"endpoint": endpoint, **filters, **pages}
|
|
38
|
+
|
|
39
|
+
response = requests.get(endpoint_url, headers=headers, params=params, timeout=self.default_timeout)
|
|
40
|
+
try:
|
|
41
|
+
response.raise_for_status()
|
|
42
|
+
except HTTPError as err:
|
|
43
|
+
logger.info(f"Api raw response: {response.text}")
|
|
44
|
+
raise err
|
|
45
|
+
|
|
46
|
+
return response.json()
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
from typing import Literal, Union
|
|
2
|
+
|
|
3
|
+
from pydantic import BaseModel
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class OMSFilter(BaseModel):
|
|
7
|
+
attribute_name: str
|
|
8
|
+
value: Union[str, int, float]
|
|
9
|
+
operator: Literal["EQ", "NEQ", "LT", "GT", "LE", "GE", "LIKE"]
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class OMSPage(BaseModel):
|
|
13
|
+
attribute_name: str
|
|
14
|
+
value: int
|
|
@@ -6,6 +6,7 @@ from .clients.h1d.client import LumisectionHistogram1DClient
|
|
|
6
6
|
from .clients.h2d.client import LumisectionHistogram2DClient
|
|
7
7
|
from .clients.lumisection.client import LumisectionClient
|
|
8
8
|
from .clients.mes.client import MonitoringElementClient
|
|
9
|
+
from .clients.oms_proxy.client import OMSProxyClient
|
|
9
10
|
from .clients.run.client import RunClient
|
|
10
11
|
|
|
11
12
|
|
|
@@ -17,3 +18,4 @@ class Dials:
|
|
|
17
18
|
self.lumi = LumisectionClient(creds, workspace, *args, **kwargs)
|
|
18
19
|
self.run = RunClient(creds, workspace, *args, **kwargs)
|
|
19
20
|
self.mes = MonitoringElementClient(creds, workspace, *args, **kwargs)
|
|
21
|
+
self.oms = OMSProxyClient(creds, *args, **kwargs)
|
|
@@ -3,6 +3,7 @@ from .clients.h1d.models import LumisectionHistogram1DFilters
|
|
|
3
3
|
from .clients.h2d.models import LumisectionHistogram2DFilters
|
|
4
4
|
from .clients.lumisection.models import LumisectionFilters
|
|
5
5
|
from .clients.mes.models import MEFilters
|
|
6
|
+
from .clients.oms_proxy.models import OMSFilter, OMSPage
|
|
6
7
|
from .clients.run.models import RunFilters
|
|
7
8
|
|
|
8
9
|
|
|
@@ -13,4 +14,6 @@ __all__ = [
|
|
|
13
14
|
"LumisectionFilters",
|
|
14
15
|
"RunFilters",
|
|
15
16
|
"MEFilters",
|
|
17
|
+
"OMSFilter",
|
|
18
|
+
"OMSPage",
|
|
16
19
|
]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cmsdials-1.2.0/cmsdials/clients/run → cmsdials-1.3.0/cmsdials/clients/oms_proxy}/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|