Skip to content

Commit

Permalink
Merge pull request #12 from KarimullinArthur/fix-offset
Browse files Browse the repository at this point in the history
Fix offset
  • Loading branch information
KarimullinArthur authored Feb 13, 2025
2 parents 5402caa + dc4f798 commit 73b13f0
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 193 deletions.
19 changes: 18 additions & 1 deletion bonchapi/bonchapi.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,11 +66,28 @@ async def get_raw_timetable(self, week_number: int = False) -> str:
await self.login(self.mail, self.password)
await self.get_raw_timetable(week_number)
return await resp.text()

async def find_first_week_id(self) -> int:
'''
Получение ID первой учебной недели в *семестре*
'''
MAX_WEEK = 50

for i in (0,-1,-2,1,2):
id = MAX_WEEK//2+i
guess = await parser.get_week(await self.get_raw_timetable(id))
if guess == 0:
return id
return 0

async def get_timetable(self, week_number: int = False, *, week_offset: int = False) -> List[schemas.Lesson]:
if week_offset:

if not hasattr(self, "_first_week"):
self._first_week = await self.find_first_week_id()

current_week = await parser.get_week(await self.get_raw_timetable(week_number))
desired_week = current_week + week_offset
desired_week = current_week + week_offset + self._first_week
return await parser.get_my_lessons(await self.get_raw_timetable(desired_week))

else:
Expand Down
192 changes: 0 additions & 192 deletions index.html

This file was deleted.

0 comments on commit 73b13f0

Please sign in to comment.