Skip to content

Commit 7ca45be

Browse files
committed
V1.3.2
1 parent aa7d88a commit 7ca45be

13 files changed

+72
-60
lines changed

pyproject.toml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,10 @@ isort = "^5.12.0"
1919
[build-system]
2020
requires = ["poetry-core"]
2121
build-backend = "poetry.core.masonry.api"
22+
23+
[tool.ruff]
24+
ignore = [
25+
"E501",
26+
"E722",
27+
"F401",
28+
]

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
setup(
77
name="ua_alarm",
88
author="user-sspmynxdvb",
9-
version="1.3.1",
9+
version="1.3.2",
1010
description="Implements api.ua_alarm.com API that returns info about Ukraine air raid alarms.",
1111
license="GNUv3",
1212
url="https://github.com/user-sspmynxdvb/ua_alarm",

ua_alarm/client.py

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,12 @@ class Client:
1212
1313
Methods:
1414
__init__(api_token: str): Initialize the UkraineAlertApiClient with an API token.
15-
_make_request(method: str, endpoint: str, params: Optional[dict] = None, data: Optional[dict] = None) -> Union[types.Alert, types.AlertModification, types.RegionAlarmsHistory, types.RegionsView, types.WebHook]: Make a request to the UkraineAlert API.
16-
get_alerts() -> List[types.Alert]: Get a list of alerts.
17-
get_region_alerts(region_id: str|int) -> List[types.Alert]: Get alerts for a specific region.
15+
_make_request(method: str, endpoint: str, params: Optional[dict] = None, data: Optional[dict] = None) -> Union[types.AlertRegionModel, types.AlertModification, types.RegionAlarmsHistory, types.RegionsViewModel, types.WebHook]: Make a request to the UkraineAlert API.
16+
get_alerts() -> List[types.AlertRegionModel]: Get a list of alerts.
17+
get_region_alerts(region_id: str|int) -> List[types.AlertRegionModel]: Get alerts for a specific region.
1818
get_alert_status() -> types.AlertModification: Get the status of alerts.
1919
get_region_history(region_id: str|int) -> types.RegionAlarmsHistory: Get the history of alerts for a specific region.
20-
get_regions() -> types.RegionsView: Get information about regions.
20+
get_regions() -> types.RegionsViewModel: Get information about regions.
2121
subscribe_to_webhook(webhook_data: dict) -> types.WebHook: Subscribe to a webhook.
2222
update_webhook(webhook_data: dict) -> None: Update an existing webhook.
2323
unsubscribe_from_webhook(webhook_data: dict) -> None: Unsubscribe from a webhook.
@@ -35,7 +35,7 @@ def __init__(self, api_token: str):
3535
"Authorization": api_token
3636
}
3737

38-
async def _make_request(self, method: str, endpoint: str, params: Optional[dict] = None, data: Optional[dict] = None) -> Union[types.Alert, types.AlertModification, types.RegionAlarmsHistory, types.RegionsView, types.WebHook]:
38+
async def _make_request(self, method: str, endpoint: str, params: Optional[dict] = None, data: Optional[dict] = None) -> Union[types.AlertRegionModel, types.AlertModification, types.RegionAlarmsHistory, types.RegionsViewModel, types.WebHook]:
3939
"""
4040
Makes a request to the UkraineAlert API.
4141
@@ -46,7 +46,7 @@ async def _make_request(self, method: str, endpoint: str, params: Optional[dict]
4646
data (Optional[dict]): Optional data payload for the request.
4747
4848
Returns:
49-
Union[types.Alert, types.AlertModification, types.RegionAlarmsHistory, types.RegionsView, types.WebHook]: The response from the API based on the endpoint accessed.
49+
Union[types.AlertRegionModel, types.AlertModification, types.RegionAlarmsHistory, types.RegionsViewModel, types.WebHook]: The response from the API based on the endpoint accessed.
5050
"""
5151
url = f"{self.base_url}{endpoint}"
5252
async with ClientSession(headers=self.headers) as session:
@@ -59,30 +59,30 @@ async def _make_request(self, method: str, endpoint: str, params: Optional[dict]
5959
elif endpoint == "/api/v3/alerts/regionHistory":
6060
return [types.RegionAlarmsHistory(**item) for item in response_json]
6161
elif endpoint == "/api/v3/regions":
62-
return types.RegionsView(**response_json)
62+
return types.RegionsViewModel(**response_json)
6363
elif endpoint == "/api/v3/webhook":
6464
return types.WebHook(**response_json)
6565
elif "/api/v3/alerts" in endpoint:
66-
return [types.Alert(**item) for item in response_json]
66+
return [types.AlertRegionModel(**item) for item in response_json]
6767

68-
async def get_alerts(self) -> List[types.Alert]:
68+
async def get_alerts(self) -> List[types.AlertRegionModel]:
6969
"""
7070
Retrieves a list of alerts from the UkraineAlert API.
7171
7272
Returns:
73-
List[types.Alert]: A list of types.Alert objects.
73+
List[types.AlertRegionModel]: A list of types.AlertRegionModel objects.
7474
"""
7575
return await self._make_request("GET", "/api/v3/alerts")
7676

77-
async def get_region_alerts(self, region_id: str|int) -> List[types.Alert]:
77+
async def get_region_alerts(self, region_id: str|int) -> List[types.AlertRegionModel]:
7878
"""
7979
Retrieves alerts for a specific region from the UkraineAlert API.
8080
8181
Args:
8282
region_id (str or int): The ID of the region for which alerts are requested.
8383
8484
Returns:
85-
List[types.Alert]: A list of types.Alert objects for the specified region.
85+
List[types.AlertRegionModel]: A list of types.AlertRegionModel objects for the specified region.
8686
"""
8787
return await self._make_request("GET", f"/api/v3/alerts/{region_id}")
8888

@@ -108,12 +108,12 @@ async def get_region_history(self, region_id: str|int) -> types.RegionAlarmsHist
108108
params = {"regionId": region_id}
109109
return await self._make_request("GET", "/api/v3/alerts/regionHistory", params=params)
110110

111-
async def get_regions(self) -> types.RegionsView:
111+
async def get_regions(self) -> types.RegionsViewModel:
112112
"""
113113
Retrieves information about regions from the UkraineAlert API.
114114
115115
Returns:
116-
types.RegionsView: An object representing information about regions.
116+
types.RegionsViewModel: An object representing information about regions.
117117
"""
118118
return await self._make_request("GET", "/api/v3/regions")
119119

ua_alarm/types/__init__.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
1-
from .active_alert import ActiveAlert
2-
from .alert_modification import AlertModification
31
from .alert import Alert
4-
from .region_alarm import RegionAlarm
2+
from .alert_modification import AlertModification
3+
from .alert_region_model import AlertRegionModel
4+
from .region_alarm_model import RegionAlarmModel
55
from .region_alarms_history import RegionAlarmsHistory
6-
from .region_view import RegionView
7-
from .regions_view import RegionsView
6+
from .region_view_model import RegionViewModel
7+
from .regions_view_model import RegionsViewModel
88
from .time_span import TimeSpan
99
from .web_hook import WebHook
1010

1111
__all__ = [
12-
'ActiveAlert',
13-
'AlertModification',
1412
'Alert',
15-
'RegionAlarm',
13+
'AlertModification',
14+
'AlertRegionModel',
15+
'RegionAlarmModel',
1616
'RegionAlarmsHistory',
17-
'RegionView',
18-
'RegionsView',
17+
'RegionViewModel',
18+
'RegionsViewModel',
1919
'TimeSpan',
2020
'WebHook',
2121
]

ua_alarm/types/active_alert.py

Lines changed: 0 additions & 9 deletions
This file was deleted.

ua_alarm/types/alert.py

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
11
from pydantic import BaseModel
22
from datetime import datetime
3-
from typing import List, Optional
4-
from .active_alert import ActiveAlert
5-
from ..enums import v2RegionType
3+
from ..enums import AlertType, v2RegionType
64

75
class Alert(BaseModel):
8-
regionId: Optional[str]
6+
regionId: str
97
regionType: v2RegionType
10-
regionName: Optional[str]
11-
regionEngName: Optional[str]
12-
lastUpdate: datetime
13-
activeAlerts: Optional[List[ActiveAlert]]
8+
type: AlertType
9+
lastUpdate: datetime

ua_alarm/types/alert_region_model.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
from pydantic import BaseModel
2+
from datetime import datetime
3+
from typing import List, Optional
4+
from .alert import Alert
5+
from ..enums import v2RegionType
6+
7+
class AlertRegionModel(BaseModel):
8+
regionId: Optional[str]
9+
regionType: v2RegionType
10+
regionName: Optional[str]
11+
regionEngName: Optional[str]
12+
lastUpdate: datetime
13+
activeAlerts: Optional[List[Alert]]

ua_alarm/types/region_alarm.py renamed to ua_alarm/types/region_alarm_model.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from pydantic import BaseModel
22
from datetime import datetime
33

4-
class RegionAlarm(BaseModel):
4+
class RegionAlarmModel(BaseModel):
55
regionId: str
66
startDate: datetime
77
endDate: datetime
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
from pydantic import BaseModel
22
from typing import Optional, List
3-
from .region_alarm import RegionAlarm
3+
from .region_alarm_model import RegionAlarmModel
44

55
class RegionAlarmsHistory(BaseModel):
66
regionId: Optional[str]
77
regionName: Optional[str]
8-
alarms: Optional[List[RegionAlarm]]
8+
alarms: Optional[List[RegionAlarmModel]]

ua_alarm/types/region_view.py

Lines changed: 0 additions & 9 deletions
This file was deleted.

ua_alarm/types/region_view_model.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
from pydantic import BaseModel
2+
from typing import Optional, List, Union
3+
from ..enums import v2RegionType
4+
5+
class RegionChildModel(BaseModel):
6+
regionId: str
7+
regionName: str
8+
regionType: v2RegionType
9+
10+
class RegionViewModel(BaseModel):
11+
regionId: Optional[str]
12+
regionName: Optional[str]
13+
regionType: v2RegionType
14+
regionChildIds: Optional[List[Union["RegionViewModel", RegionChildModel]]]

ua_alarm/types/regions_view.py

Lines changed: 0 additions & 6 deletions
This file was deleted.

ua_alarm/types/regions_view_model.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
from pydantic import BaseModel
2+
from typing import Optional, List
3+
from .region_view_model import RegionViewModel
4+
5+
class RegionsViewModel(BaseModel):
6+
states: Optional[List[RegionViewModel]]

0 commit comments

Comments
 (0)