Skip to content

Commit b837752

Browse files
authored
Merge pull request #93 from NodeJSmith/fix/pass_otf_to_create_method
Fix/pass otf to create method
2 parents a846be2 + 7c009e7 commit b837752

File tree

8 files changed

+17
-16
lines changed

8 files changed

+17
-16
lines changed

.bumpversion.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[tool.bumpversion]
2-
current_version = "0.13.0"
2+
current_version = "0.13.1"
33

44
parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<patch>\\d+)(?:-(?P<rc_l>rc)(?P<rc>0|[1-9]\\d*))?"
55

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "otf-api"
3-
version = "0.13.0"
3+
version = "0.13.1"
44
description = "Python OrangeTheory Fitness API Client"
55
authors = [{ name = "Jessica Smith", email = "[email protected]" }]
66
requires-python = ">=3.11"

source/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
project = "OrangeTheory API"
1515
copyright = "2025, Jessica Smith"
1616
author = "Jessica Smith"
17-
release = "0.13.0"
17+
release = "0.13.1"
1818

1919
# -- General configuration ---------------------------------------------------
2020
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration

src/otf_api/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ def _setup_logging() -> None:
3636

3737
_setup_logging()
3838

39-
__version__ = "0.13.0"
39+
__version__ = "0.13.1"
4040

4141

4242
__all__ = ["Otf", "OtfUser", "models"]

src/otf_api/api/bookings/booking_api.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ def get_bookings_new(
8080
ends_before=end_date, starts_after=start_date, include_canceled=include_canceled, expand=expand
8181
)
8282

83-
results = [models.BookingV2.create(**b, api=self) for b in bookings_resp]
83+
results = [models.BookingV2.create(**b, api=self.otf) for b in bookings_resp]
8484

8585
if not remove_duplicates:
8686
return results
@@ -228,7 +228,7 @@ def get_booking(self, booking_uuid: str) -> models.Booking:
228228
raise ValueError("booking_uuid is required")
229229

230230
data = self.client.get_booking(booking_uuid)
231-
return models.Booking.create(**data, api=self)
231+
return models.Booking.create(**data, api=self.otf)
232232

233233
def get_booking_from_class(self, otf_class: str | models.OtfClass) -> models.Booking:
234234
"""Get a specific booking by class_uuid or OtfClass object.
@@ -337,7 +337,7 @@ def book_class_new(self, class_id: str | models.BookingV2Class) -> models.Bookin
337337

338338
resp = self.client.post_class_new(body)
339339

340-
new_booking = models.BookingV2.create(**resp, api=self)
340+
new_booking = models.BookingV2.create(**resp, api=self.otf)
341341

342342
return new_booking
343343

@@ -443,7 +443,7 @@ def get_bookings(
443443
b["class"]["studio"] = studios[b["class"]["studio"]["studioUUId"]]
444444
b["is_home_studio"] = b["class"]["studio"].studio_uuid == self.otf.home_studio_uuid
445445

446-
bookings = [models.Booking.create(**b, api=self) for b in resp]
446+
bookings = [models.Booking.create(**b, api=self.otf) for b in resp]
447447
bookings = sorted(bookings, key=lambda x: x.otf_class.starts_at)
448448

449449
if exclude_cancelled:

src/otf_api/api/members/member_api.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ def update_member_name(self, first_name: str | None = None, last_name: str | Non
134134

135135
res = self.client.put_member_name(first_name, last_name)
136136

137-
return models.MemberDetail.create(**res, api=self)
137+
return models.MemberDetail.create(**res, api=self.otf)
138138

139139
def get_member_detail(self) -> models.MemberDetail:
140140
"""Get the member details.
@@ -148,7 +148,7 @@ def get_member_detail(self) -> models.MemberDetail:
148148
home_studio_uuid = data["homeStudio"]["studioUUId"]
149149
data["home_studio"] = self.otf.studios.get_studio_detail(home_studio_uuid)
150150

151-
return models.MemberDetail.create(**data, api=self)
151+
return models.MemberDetail.create(**data, api=self.otf)
152152

153153
def get_member_membership(self) -> models.MemberMembership:
154154
"""Get the member's membership details.

src/otf_api/api/studios/studio_api.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ def add_favorite_studio(self, studio_uuids: list[str] | str) -> list[models.Stud
5656

5757
new_faves = resp.get("studios", [])
5858

59-
return [models.StudioDetail.create(**studio, api=self) for studio in new_faves]
59+
return [models.StudioDetail.create(**studio, api=self.otf) for studio in new_faves]
6060

6161
def remove_favorite_studio(self, studio_uuids: list[str] | str) -> None:
6262
"""Remove a studio from the member's favorite studios.
@@ -116,7 +116,7 @@ def get_studio_detail(self, studio_uuid: str | None = None) -> models.StudioDeta
116116
except exc.ResourceNotFoundError:
117117
return models.StudioDetail.create_empty_model(studio_uuid)
118118

119-
return models.StudioDetail.create(**res, api=self)
119+
return models.StudioDetail.create(**res, api=self.otf)
120120

121121
def get_studios_by_geo(
122122
self, latitude: float | None = None, longitude: float | None = None
@@ -141,7 +141,7 @@ def search_studios_by_geo(
141141
longitude = longitude or self.otf.home_studio.location.longitude
142142

143143
results = self.client.get_studios_by_geo(latitude, longitude, distance)
144-
return [models.StudioDetail.create(**studio, api=self) for studio in results]
144+
return [models.StudioDetail.create(**studio, api=self.otf) for studio in results]
145145

146146
def _get_all_studios(self) -> list[models.StudioDetail]:
147147
"""Gets all studios. Marked as private to avoid random users calling it.
@@ -153,7 +153,7 @@ def _get_all_studios(self) -> list[models.StudioDetail]:
153153
"""
154154
# long/lat being None will cause the endpoint to return all studios
155155
results = self.client.get_studios_by_geo(None, None)
156-
return [models.StudioDetail.create(**studio, api=self) for studio in results]
156+
return [models.StudioDetail.create(**studio, api=self.otf) for studio in results]
157157

158158
def _get_studio_detail_threaded(self, studio_uuids: list[str]) -> dict[str, models.StudioDetail]:
159159
"""Get detailed information about multiple studios in a threaded manner.
@@ -169,5 +169,6 @@ def _get_studio_detail_threaded(self, studio_uuids: list[str]) -> dict[str, mode
169169
"""
170170
studio_dicts = self.client.get_studio_detail_threaded(studio_uuids)
171171
return {
172-
studio_uuid: models.StudioDetail.create(**studio, api=self) for studio_uuid, studio in studio_dicts.items()
172+
studio_uuid: models.StudioDetail.create(**studio, api=self.otf)
173+
for studio_uuid, studio in studio_dicts.items()
173174
}

src/otf_api/api/workouts/workout_api.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,7 @@ def get_workout_from_booking(self, booking: str | models.BookingV2) -> models.Wo
237237

238238
perf_summary = self.client.get_performance_summary(booking.workout.performance_summary_id)
239239
telemetry = self.get_telemetry(booking.workout.performance_summary_id)
240-
workout = models.Workout.create(**perf_summary, v2_booking=booking, telemetry=telemetry, api=self)
240+
workout = models.Workout.create(**perf_summary, v2_booking=booking, telemetry=telemetry, api=self.otf)
241241

242242
return workout
243243

0 commit comments

Comments
 (0)