Skip to content

Commit a1fb0d0

Browse files
committed
release bump
1 parent a65df73 commit a1fb0d0

24 files changed

+1651
-6
lines changed

.idea/misc.xml

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ftc_api/custom_templates/pyproject.toml.jinja

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
name = "ftc_api"
33
description = "A python client to access the FIRST Tech Challenge API"
44
authors = [
5-
{name = "Ashwin Naren", email="[email protected]"}
5+
{ name = "Ashwin Naren", email = "[email protected]" }
66
]
77
license = {file = "LICENSE"}
88
readme = "README.md"

ftc_api/models/__init__.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,13 @@
1111
from .award_assignment_list import AwardAssignmentList
1212
from .award_list import AwardList
1313
from .barcode_element import BarcodeElement
14+
from .coordinate import Coordinate
15+
from .coordinate_equality_comparer import CoordinateEqualityComparer
16+
from .coordinate_sequence import CoordinateSequence
17+
from .coordinate_sequence_factory import CoordinateSequenceFactory
18+
from .dimension import Dimension
1419
from .endgame_parked_status import EndgameParkedStatus
20+
from .envelope import Envelope
1521
from .event import Event
1622
from .event_list import EventList
1723
from .event_ranking_list import EventRankingList
@@ -23,6 +29,9 @@
2329
FreightFrenzySingleTeamScoreDetails,
2430
)
2531
from .ftc_event_level import FTCEventLevel
32+
from .geometry import Geometry
33+
from .geometry_factory import GeometryFactory
34+
from .geometry_overlay import GeometryOverlay
2635
from .get_v20_season_schedule_event_code_tournament_level_hybrid_tournament_level import (
2736
GetV20SeasonScheduleEventCodeTournamentLevelHybridTournamentLevel,
2837
)
@@ -40,10 +49,16 @@
4049
from .match_result_list import MatchResultList
4150
from .match_result_team import MatchResultTeam
4251
from .match_score_list import MatchScoreList
52+
from .nts_geometry_services import NtsGeometryServices
53+
from .ogc_geometry_type import OgcGeometryType
54+
from .ordinates import Ordinates
55+
from .point import Point
4356
from .power_play_alliance_score_breakdown import PowerPlayAllianceScoreBreakdown
4457
from .power_play_alliance_score_details import PowerPlayAllianceScoreDetails
4558
from .power_play_remote_score_breakdown import PowerPlayRemoteScoreBreakdown
4659
from .power_play_single_team_score_details import PowerPlaySingleTeamScoreDetails
60+
from .precision_model import PrecisionModel
61+
from .precision_models import PrecisionModels
4762
from .scheduled_match import ScheduledMatch
4863
from .scheduled_match_list import ScheduledMatchList
4964
from .scheduled_match_team import ScheduledMatchTeam
@@ -74,7 +89,13 @@
7489
"AwardAssignmentList",
7590
"AwardList",
7691
"BarcodeElement",
92+
"Coordinate",
93+
"CoordinateEqualityComparer",
94+
"CoordinateSequence",
95+
"CoordinateSequenceFactory",
96+
"Dimension",
7797
"EndgameParkedStatus",
98+
"Envelope",
7899
"Event",
79100
"EventList",
80101
"EventRankingList",
@@ -84,6 +105,9 @@
84105
"FreightFrenzyRemoteScoreBreakdown",
85106
"FreightFrenzySingleTeamScoreDetails",
86107
"FTCEventLevel",
108+
"Geometry",
109+
"GeometryFactory",
110+
"GeometryOverlay",
87111
"GetV20SeasonScheduleEventCodeTournamentLevelHybridTournamentLevel",
88112
"GetV20SeasonScoresEventCodeTournamentLevelTournamentLevel",
89113
"HybridSchedule",
@@ -97,10 +121,16 @@
97121
"MatchResultList",
98122
"MatchResultTeam",
99123
"MatchScoreList",
124+
"NtsGeometryServices",
125+
"OgcGeometryType",
126+
"Ordinates",
127+
"Point",
100128
"PowerPlayAllianceScoreBreakdown",
101129
"PowerPlayAllianceScoreDetails",
102130
"PowerPlayRemoteScoreBreakdown",
103131
"PowerPlaySingleTeamScoreDetails",
132+
"PrecisionModel",
133+
"PrecisionModels",
104134
"ScheduledMatch",
105135
"ScheduledMatchList",
106136
"ScheduledMatchTeam",

ftc_api/models/coordinate.py

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
from typing import Any, Dict, Type, TypeVar, Union
2+
3+
import attr
4+
5+
from ..types import UNSET, Unset
6+
7+
T = TypeVar("T", bound="Coordinate")
8+
9+
10+
@attr.s(auto_attribs=True)
11+
class Coordinate:
12+
"""
13+
Attributes:
14+
x (Union[Unset, float]):
15+
y (Union[Unset, float]):
16+
z (Union[Unset, float]):
17+
m (Union[Unset, float]):
18+
coordinate_value (Union[Unset, Coordinate]):
19+
"""
20+
21+
x: Union[Unset, float] = UNSET
22+
y: Union[Unset, float] = UNSET
23+
z: Union[Unset, float] = UNSET
24+
m: Union[Unset, float] = UNSET
25+
coordinate_value: Union[Unset, "Coordinate"] = UNSET
26+
27+
def to_dict(self) -> Dict[str, Any]:
28+
x = self.x
29+
y = self.y
30+
z = self.z
31+
m = self.m
32+
coordinate_value: Union[Unset, Dict[str, Any]] = UNSET
33+
if not isinstance(self.coordinate_value, Unset):
34+
coordinate_value = self.coordinate_value.to_dict()
35+
36+
field_dict: Dict[str, Any] = {}
37+
field_dict.update({})
38+
if x is not UNSET:
39+
field_dict["x"] = x
40+
if y is not UNSET:
41+
field_dict["y"] = y
42+
if z is not UNSET:
43+
field_dict["z"] = z
44+
if m is not UNSET:
45+
field_dict["m"] = m
46+
if coordinate_value is not UNSET:
47+
field_dict["coordinateValue"] = coordinate_value
48+
49+
return field_dict
50+
51+
@classmethod
52+
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
53+
d = src_dict.copy()
54+
x = d.pop("x", UNSET)
55+
56+
y = d.pop("y", UNSET)
57+
58+
z = d.pop("z", UNSET)
59+
60+
m = d.pop("m", UNSET)
61+
62+
_coordinate_value = d.pop("coordinateValue", UNSET)
63+
coordinate_value: Union[Unset, Coordinate]
64+
if isinstance(_coordinate_value, Unset):
65+
coordinate_value = UNSET
66+
else:
67+
coordinate_value = Coordinate.from_dict(_coordinate_value)
68+
69+
coordinate = cls(
70+
x=x,
71+
y=y,
72+
z=z,
73+
m=m,
74+
coordinate_value=coordinate_value,
75+
)
76+
77+
return coordinate
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
from typing import Any, Dict, Type, TypeVar
2+
3+
import attr
4+
5+
T = TypeVar("T", bound="CoordinateEqualityComparer")
6+
7+
8+
@attr.s(auto_attribs=True)
9+
class CoordinateEqualityComparer:
10+
""" """
11+
12+
def to_dict(self) -> Dict[str, Any]:
13+
field_dict: Dict[str, Any] = {}
14+
field_dict.update({})
15+
16+
return field_dict
17+
18+
@classmethod
19+
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
20+
src_dict.copy()
21+
coordinate_equality_comparer = cls()
22+
23+
return coordinate_equality_comparer
Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
from typing import Any, Dict, Type, TypeVar, Union
2+
3+
import attr
4+
5+
from ..models.ordinates import Ordinates
6+
from ..types import UNSET, Unset
7+
8+
T = TypeVar("T", bound="CoordinateSequence")
9+
10+
11+
@attr.s(auto_attribs=True)
12+
class CoordinateSequence:
13+
"""
14+
Attributes:
15+
dimension (Union[Unset, int]):
16+
measures (Union[Unset, int]):
17+
spatial (Union[Unset, int]):
18+
ordinates (Union[Unset, Ordinates]):
19+
has_z (Union[Unset, bool]):
20+
has_m (Union[Unset, bool]):
21+
z_ordinate_index (Union[Unset, int]):
22+
m_ordinate_index (Union[Unset, int]):
23+
count (Union[Unset, int]):
24+
"""
25+
26+
dimension: Union[Unset, int] = UNSET
27+
measures: Union[Unset, int] = UNSET
28+
spatial: Union[Unset, int] = UNSET
29+
ordinates: Union[Unset, Ordinates] = UNSET
30+
has_z: Union[Unset, bool] = UNSET
31+
has_m: Union[Unset, bool] = UNSET
32+
z_ordinate_index: Union[Unset, int] = UNSET
33+
m_ordinate_index: Union[Unset, int] = UNSET
34+
count: Union[Unset, int] = UNSET
35+
36+
def to_dict(self) -> Dict[str, Any]:
37+
dimension = self.dimension
38+
measures = self.measures
39+
spatial = self.spatial
40+
ordinates: Union[Unset, str] = UNSET
41+
if not isinstance(self.ordinates, Unset):
42+
ordinates = self.ordinates.value
43+
44+
has_z = self.has_z
45+
has_m = self.has_m
46+
z_ordinate_index = self.z_ordinate_index
47+
m_ordinate_index = self.m_ordinate_index
48+
count = self.count
49+
50+
field_dict: Dict[str, Any] = {}
51+
field_dict.update({})
52+
if dimension is not UNSET:
53+
field_dict["dimension"] = dimension
54+
if measures is not UNSET:
55+
field_dict["measures"] = measures
56+
if spatial is not UNSET:
57+
field_dict["spatial"] = spatial
58+
if ordinates is not UNSET:
59+
field_dict["ordinates"] = ordinates
60+
if has_z is not UNSET:
61+
field_dict["hasZ"] = has_z
62+
if has_m is not UNSET:
63+
field_dict["hasM"] = has_m
64+
if z_ordinate_index is not UNSET:
65+
field_dict["zOrdinateIndex"] = z_ordinate_index
66+
if m_ordinate_index is not UNSET:
67+
field_dict["mOrdinateIndex"] = m_ordinate_index
68+
if count is not UNSET:
69+
field_dict["count"] = count
70+
71+
return field_dict
72+
73+
@classmethod
74+
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
75+
d = src_dict.copy()
76+
dimension = d.pop("dimension", UNSET)
77+
78+
measures = d.pop("measures", UNSET)
79+
80+
spatial = d.pop("spatial", UNSET)
81+
82+
_ordinates = d.pop("ordinates", UNSET)
83+
ordinates: Union[Unset, Ordinates]
84+
if isinstance(_ordinates, Unset):
85+
ordinates = UNSET
86+
else:
87+
ordinates = Ordinates(_ordinates)
88+
89+
has_z = d.pop("hasZ", UNSET)
90+
91+
has_m = d.pop("hasM", UNSET)
92+
93+
z_ordinate_index = d.pop("zOrdinateIndex", UNSET)
94+
95+
m_ordinate_index = d.pop("mOrdinateIndex", UNSET)
96+
97+
count = d.pop("count", UNSET)
98+
99+
coordinate_sequence = cls(
100+
dimension=dimension,
101+
measures=measures,
102+
spatial=spatial,
103+
ordinates=ordinates,
104+
has_z=has_z,
105+
has_m=has_m,
106+
z_ordinate_index=z_ordinate_index,
107+
m_ordinate_index=m_ordinate_index,
108+
count=count,
109+
)
110+
111+
return coordinate_sequence
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
from typing import Any, Dict, Type, TypeVar, Union
2+
3+
import attr
4+
5+
from ..models.ordinates import Ordinates
6+
from ..types import UNSET, Unset
7+
8+
T = TypeVar("T", bound="CoordinateSequenceFactory")
9+
10+
11+
@attr.s(auto_attribs=True)
12+
class CoordinateSequenceFactory:
13+
"""
14+
Attributes:
15+
ordinates (Union[Unset, Ordinates]):
16+
"""
17+
18+
ordinates: Union[Unset, Ordinates] = UNSET
19+
20+
def to_dict(self) -> Dict[str, Any]:
21+
ordinates: Union[Unset, str] = UNSET
22+
if not isinstance(self.ordinates, Unset):
23+
ordinates = self.ordinates.value
24+
25+
field_dict: Dict[str, Any] = {}
26+
field_dict.update({})
27+
if ordinates is not UNSET:
28+
field_dict["ordinates"] = ordinates
29+
30+
return field_dict
31+
32+
@classmethod
33+
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
34+
d = src_dict.copy()
35+
_ordinates = d.pop("ordinates", UNSET)
36+
ordinates: Union[Unset, Ordinates]
37+
if isinstance(_ordinates, Unset):
38+
ordinates = UNSET
39+
else:
40+
ordinates = Ordinates(_ordinates)
41+
42+
coordinate_sequence_factory = cls(
43+
ordinates=ordinates,
44+
)
45+
46+
return coordinate_sequence_factory

ftc_api/models/dimension.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
from enum import Enum
2+
3+
4+
class Dimension(str, Enum):
5+
P = "P"
6+
CURVE = "Curve"
7+
A = "A"
8+
COLLAPSE = "Collapse"
9+
DONTCARE = "Dontcare"
10+
TRUE = "True"
11+
UNKNOWN = "Unknown"
12+
13+
def __str__(self) -> str:
14+
return str(self.value)

0 commit comments

Comments
 (0)