start project, add all command, add get schedule, add set group, add auto update and add auto send notification
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
from bs4 import BeautifulSoup
|
||||
|
||||
from get import fetch_timetable_data, parse_day_data
|
||||
from DB import UseDB
|
||||
|
||||
|
||||
def update_database(group_id: int) -> None:
|
||||
day_mass = ["monday", "tuesday", "wednesday", "thursday", "friday", "saturday"]
|
||||
db = UseDB("saved_data")
|
||||
soup: BeautifulSoup = fetch_timetable_data(group_id)
|
||||
for week_tab_id in ["week_1_tab", "week_2_tab"]:
|
||||
week_data: BeautifulSoup = soup.find('div', {"id": week_tab_id})
|
||||
for day_name in day_mass:
|
||||
day_data = parse_day_data(week_data.find(
|
||||
'div',
|
||||
{
|
||||
"class": day_name
|
||||
}
|
||||
))
|
||||
for lesson_time, data in day_data.items():
|
||||
lesson_name = data[0]
|
||||
lesson_author = data[1]
|
||||
lesson_nav = data[2]
|
||||
if db.find_document({
|
||||
"group_id": group_id,
|
||||
"week_tab_id": week_tab_id,
|
||||
"day_name": day_name,
|
||||
"lesson_name": lesson_name,
|
||||
"lesson_author": lesson_author,
|
||||
"lesson_nav": lesson_nav,
|
||||
"lesson_time": lesson_time
|
||||
}):
|
||||
db.update_document(
|
||||
{
|
||||
"group_id": group_id,
|
||||
"week_tab_id": week_tab_id,
|
||||
"day_name": day_name
|
||||
},
|
||||
{
|
||||
"lesson_time": lesson_time,
|
||||
"lesson_name": lesson_name,
|
||||
"lesson_author": lesson_author,
|
||||
"lesson_nav": lesson_nav
|
||||
}
|
||||
)
|
||||
else:
|
||||
db.insert_document(
|
||||
{
|
||||
"group_id": group_id,
|
||||
"week_tab_id": week_tab_id,
|
||||
"day_name": day_name,
|
||||
"lesson_time": lesson_time,
|
||||
"lesson_name": lesson_name,
|
||||
"lesson_author": lesson_author,
|
||||
"lesson_nav": lesson_nav
|
||||
}
|
||||
)
|
||||
Reference in New Issue
Block a user