style: refactor codebase to adhere to PEP 8 formatting standards throughout all source files
This commit is contained in:
@@ -37,8 +37,10 @@ class StravaClient:
|
||||
async def get_valid_token(self) -> str:
|
||||
"""Returns a valid access token, refreshing it if necessary."""
|
||||
if not self.refresh_token:
|
||||
raise ValueError("No Strava refresh token found. Please run 'uv run auth' on your local machine to authenticate first.")
|
||||
|
||||
raise ValueError(
|
||||
"No Strava refresh token found. Please run 'uv run auth' on your local machine to authenticate first."
|
||||
)
|
||||
|
||||
if not self.access_token or time.time() > self.expires_at - 60:
|
||||
await self._refresh_access_token()
|
||||
return self.access_token
|
||||
@@ -99,15 +101,27 @@ class StravaClient:
|
||||
"""Gets the heart rate and power zones for a specific activity."""
|
||||
return await self._get(f"activities/{activity_id}/zones")
|
||||
|
||||
async def get_activity_comments(self, activity_id: int, page: int = 1, per_page: int = 30) -> List[Dict[str, Any]]:
|
||||
async def get_activity_comments(
|
||||
self, activity_id: int, page: int = 1, per_page: int = 30
|
||||
) -> List[Dict[str, Any]]:
|
||||
"""Gets comments on a specific activity."""
|
||||
return await self._get(f"activities/{activity_id}/comments", params={"page": page, "per_page": per_page})
|
||||
return await self._get(
|
||||
f"activities/{activity_id}/comments",
|
||||
params={"page": page, "per_page": per_page},
|
||||
)
|
||||
|
||||
async def get_activity_kudoers(self, activity_id: int, page: int = 1, per_page: int = 30) -> List[Dict[str, Any]]:
|
||||
async def get_activity_kudoers(
|
||||
self, activity_id: int, page: int = 1, per_page: int = 30
|
||||
) -> List[Dict[str, Any]]:
|
||||
"""Gets athletes who kudoed a specific activity."""
|
||||
return await self._get(f"activities/{activity_id}/kudos", params={"page": page, "per_page": per_page})
|
||||
return await self._get(
|
||||
f"activities/{activity_id}/kudos",
|
||||
params={"page": page, "per_page": per_page},
|
||||
)
|
||||
|
||||
async def get_activity_streams(self, activity_id: int, keys: List[str]) -> Dict[str, Any]:
|
||||
async def get_activity_streams(
|
||||
self, activity_id: int, keys: List[str]
|
||||
) -> Dict[str, Any]:
|
||||
"""Gets data streams for a specific activity."""
|
||||
return await self._get(
|
||||
f"activities/{activity_id}/streams",
|
||||
@@ -116,28 +130,45 @@ class StravaClient:
|
||||
|
||||
# ── Clubs ─────────────────────────────────────────────────────────────────
|
||||
|
||||
async def get_athlete_clubs(self, page: int = 1, per_page: int = 30) -> List[Dict[str, Any]]:
|
||||
async def get_athlete_clubs(
|
||||
self, page: int = 1, per_page: int = 30
|
||||
) -> List[Dict[str, Any]]:
|
||||
"""Gets clubs the current athlete belongs to."""
|
||||
return await self._get("athlete/clubs", params={"page": page, "per_page": per_page})
|
||||
return await self._get(
|
||||
"athlete/clubs", params={"page": page, "per_page": per_page}
|
||||
)
|
||||
|
||||
async def get_club(self, club_id: int) -> Dict[str, Any]:
|
||||
"""Gets a specific club by ID."""
|
||||
return await self._get(f"clubs/{club_id}")
|
||||
|
||||
async def get_club_activities(self, club_id: int, page: int = 1, per_page: int = 30) -> List[Dict[str, Any]]:
|
||||
async def get_club_activities(
|
||||
self, club_id: int, page: int = 1, per_page: int = 30
|
||||
) -> List[Dict[str, Any]]:
|
||||
"""Gets recent activities from a club."""
|
||||
return await self._get(f"clubs/{club_id}/activities", params={"page": page, "per_page": per_page})
|
||||
return await self._get(
|
||||
f"clubs/{club_id}/activities", params={"page": page, "per_page": per_page}
|
||||
)
|
||||
|
||||
async def get_club_members(self, club_id: int, page: int = 1, per_page: int = 30) -> List[Dict[str, Any]]:
|
||||
async def get_club_members(
|
||||
self, club_id: int, page: int = 1, per_page: int = 30
|
||||
) -> List[Dict[str, Any]]:
|
||||
"""Gets members of a club."""
|
||||
return await self._get(f"clubs/{club_id}/members", params={"page": page, "per_page": per_page})
|
||||
return await self._get(
|
||||
f"clubs/{club_id}/members", params={"page": page, "per_page": per_page}
|
||||
)
|
||||
|
||||
# ── Routes ────────────────────────────────────────────────────────────────
|
||||
|
||||
async def get_routes_by_athlete(self, page: int = 1, per_page: int = 30) -> List[Dict[str, Any]]:
|
||||
async def get_routes_by_athlete(
|
||||
self, page: int = 1, per_page: int = 30
|
||||
) -> List[Dict[str, Any]]:
|
||||
"""Gets routes created by the current athlete."""
|
||||
athlete = await self.get_athlete()
|
||||
return await self._get(f"athletes/{athlete['id']}/routes", params={"page": page, "per_page": per_page})
|
||||
return await self._get(
|
||||
f"athletes/{athlete['id']}/routes",
|
||||
params={"page": page, "per_page": per_page},
|
||||
)
|
||||
|
||||
async def get_route_by_id(self, route_id: str) -> Dict[str, Any]:
|
||||
"""Gets a specific route by its ID."""
|
||||
@@ -153,19 +184,26 @@ class StravaClient:
|
||||
"""Gets a specific segment by ID."""
|
||||
return await self._get(f"segments/{segment_id}")
|
||||
|
||||
async def get_starred_segments(self, page: int = 1, per_page: int = 30) -> List[Dict[str, Any]]:
|
||||
async def get_starred_segments(
|
||||
self, page: int = 1, per_page: int = 30
|
||||
) -> List[Dict[str, Any]]:
|
||||
"""Gets segments starred by the current athlete."""
|
||||
return await self._get("segments/starred", params={"page": page, "per_page": per_page})
|
||||
return await self._get(
|
||||
"segments/starred", params={"page": page, "per_page": per_page}
|
||||
)
|
||||
|
||||
async def explore_segments(self, bounds: str, activity_type: str = "riding") -> Dict[str, Any]:
|
||||
async def explore_segments(
|
||||
self, bounds: str, activity_type: str = "riding"
|
||||
) -> Dict[str, Any]:
|
||||
"""Explores segments within a given bounding box."""
|
||||
return await self._get(
|
||||
"segments/explore",
|
||||
params={"bounds": bounds, "activity_type": activity_type},
|
||||
)
|
||||
|
||||
|
||||
async def get_segment_streams(self, segment_id: int, keys: List[str]) -> Dict[str, Any]:
|
||||
async def get_segment_streams(
|
||||
self, segment_id: int, keys: List[str]
|
||||
) -> Dict[str, Any]:
|
||||
"""Gets data streams for a specific segment."""
|
||||
return await self._get(
|
||||
f"segments/{segment_id}/streams",
|
||||
@@ -193,7 +231,9 @@ class StravaClient:
|
||||
params["end_date_local"] = end_date_local
|
||||
return await self._get("segment_efforts", params=params)
|
||||
|
||||
async def get_segment_effort_streams(self, effort_id: str, keys: List[str]) -> Dict[str, Any]:
|
||||
async def get_segment_effort_streams(
|
||||
self, effort_id: str, keys: List[str]
|
||||
) -> Dict[str, Any]:
|
||||
"""Gets data streams for a specific segment effort."""
|
||||
return await self._get(
|
||||
f"segment_efforts/{effort_id}/streams",
|
||||
|
||||
Reference in New Issue
Block a user