Skip to content

Commit b088384

Browse files
committed
Supersedes #19
1 parent bd4c0f0 commit b088384

3 files changed

Lines changed: 14 additions & 9 deletions

File tree

src/fr24sdk/models/flight_category.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
from enum import Enum
77

88

9-
class FlightCategory(Enum):
9+
class FlightCategory(str, Enum):
1010
"""Enumeration of FlightRadar24 flight categories.
1111
1212
Maps character literals used by the FR24 API to identify different
@@ -25,3 +25,6 @@ class FlightCategory(Enum):
2525
GROUND_VEHICLES = "V"
2626
OTHER = "O"
2727
NON_CATEGORIZED = "N"
28+
29+
def __str__(self) -> str:
30+
return self.value

src/fr24sdk/resources/historic/positions.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
Boundary,
2424
AltitudeRange,
2525
)
26+
from ...models.flight_category import FlightCategory
2627
from ...models.regex_patterns import (
2728
FLIGHT_NUMBER_PATTERN,
2829
CALLSIGN_PATTERN,
@@ -73,7 +74,7 @@ class _HistoricPositionsParams(BaseModel):
7374
list[Annotated[str, StringConstraints(pattern=SQUAWK_PATTERN)]]
7475
] = Field(default=None, max_length=15)
7576
categories: Optional[
76-
list[Annotated[str, StringConstraints(pattern=SERVICE_TYPES_PATTERN)]]
77+
list[Union[FlightCategory, Annotated[str, StringConstraints(pattern=SERVICE_TYPES_PATTERN)]]]
7778
] = Field(default=None, max_length=15)
7879
data_sources: Optional[
7980
list[Annotated[str, StringConstraints(pattern=DATA_SOURCE_PATTERN)]]
@@ -136,7 +137,7 @@ def get_light(
136137
aircraft: Optional[str] = None,
137138
altitude_ranges: Optional[list[Union[AltitudeRange, str]]] = None,
138139
squawks: Optional[list[str]] = None,
139-
categories: Optional[list[str]] = None,
140+
categories: Optional[list[Union[FlightCategory, str]]] = None,
140141
data_sources: Optional[list[str]] = None,
141142
gspeed: Optional[Union[int, str]] = None,
142143
limit: Optional[int] = None,
@@ -183,7 +184,7 @@ def get_full(
183184
aircraft: Optional[str] = None,
184185
altitude_ranges: Optional[list[Union[AltitudeRange, str]]] = None,
185186
squawks: Optional[list[str]] = None,
186-
categories: Optional[list[str]] = None,
187+
categories: Optional[list[Union[FlightCategory, str]]] = None,
187188
data_sources: Optional[list[str]] = None,
188189
gspeed: Optional[Union[int, str]] = None,
189190
limit: Optional[int] = None,
@@ -230,7 +231,7 @@ def count(
230231
aircraft: Optional[str] = None,
231232
altitude_ranges: Optional[list[Union[AltitudeRange, str]]] = None,
232233
squawks: Optional[list[str]] = None,
233-
categories: Optional[list[str]] = None,
234+
categories: Optional[list[Union[FlightCategory, str]]] = None,
234235
data_sources: Optional[list[str]] = None,
235236
gspeed: Optional[Union[int, str]] = None,
236237
) -> CountResponse:

src/fr24sdk/resources/live/positions.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
FlightPositionsFullResponse,
1818
CountResponse,
1919
)
20+
from ...models.flight_category import FlightCategory
2021
from ...models.geographic import (
2122
Boundary,
2223
AltitudeRange,
@@ -67,7 +68,7 @@ class _LivePositionsParams(BaseModel):
6768
list[Annotated[str, StringConstraints(pattern=SQUAWK_PATTERN)]]
6869
] = Field(default=None, max_length=15)
6970
categories: Optional[
70-
list[Annotated[str, StringConstraints(pattern=SERVICE_TYPES_PATTERN)]]
71+
list[Union[FlightCategory, Annotated[str, StringConstraints(pattern=SERVICE_TYPES_PATTERN)]]]
7172
] = Field(default=None, max_length=15)
7273
data_sources: Optional[
7374
list[Annotated[str, StringConstraints(pattern=DATA_SOURCE_PATTERN)]]
@@ -111,7 +112,7 @@ def get_light(
111112
aircraft: Optional[str] = None,
112113
altitude_ranges: Optional[list[Union[AltitudeRange, str]]] = None,
113114
squawks: Optional[list[str]] = None,
114-
categories: Optional[list[str]] = None,
115+
categories: Optional[list[Union[FlightCategory, str]]] = None,
115116
data_sources: Optional[list[str]] = None,
116117
airspaces: Optional[list[str]] = None,
117118
gspeed: Optional[Union[int, str]] = None,
@@ -156,7 +157,7 @@ def get_full(
156157
aircraft: Optional[str] = None,
157158
altitude_ranges: Optional[list[Union[AltitudeRange, str]]] = None,
158159
squawks: Optional[list[str]] = None,
159-
categories: Optional[list[str]] = None,
160+
categories: Optional[list[Union[FlightCategory, str]]] = None,
160161
data_sources: Optional[list[str]] = None,
161162
airspaces: Optional[list[str]] = None,
162163
gspeed: Optional[Union[int, str]] = None,
@@ -201,7 +202,7 @@ def count(
201202
aircraft: Optional[str] = None,
202203
altitude_ranges: Optional[list[Union[AltitudeRange, str]]] = None,
203204
squawks: Optional[list[str]] = None,
204-
categories: Optional[list[str]] = None,
205+
categories: Optional[list[Union[FlightCategory, str]]] = None,
205206
data_sources: Optional[list[str]] = None,
206207
gspeed: Optional[Union[int, str]] = None,
207208
) -> CountResponse:

0 commit comments

Comments
 (0)