From 2206bf6319f38512e6c4956e67e9c4c0d4e943b4 Mon Sep 17 00:00:00 2001 From: Rhinemann Date: Mon, 8 May 2023 10:22:23 +0300 Subject: [PATCH] Typos. --- modules/auto-schedule-pro-v2/main.py | 68 ++++++++++++---------------- 1 file changed, 30 insertions(+), 38 deletions(-) diff --git a/modules/auto-schedule-pro-v2/main.py b/modules/auto-schedule-pro-v2/main.py index 9bd46d0..3f5a529 100644 --- a/modules/auto-schedule-pro-v2/main.py +++ b/modules/auto-schedule-pro-v2/main.py @@ -1,33 +1,31 @@ from datetime import datetime import json + def readfile(filename): with open(module_path + filename) as f: return f.read() + # global constants # Accusative - znahidnyj -WEEKDAYS_ACCUSATIVE = ["понеділок", "вівторок", "середу", "четвер", - "п'ятницю", "суботу", "неділю"] +WEEKDAYS_ACCUSATIVE = ["понеділок", "вівторок", "середу", "четвер", "п'ятницю", "суботу", "неділю"] # Genitive - rodovyj -WEEKDAYS_GENITIVE_NEXT = ["наступного понеділка", "наступного вівторка", - "наступної середи", "наступного четверга", - "наступної п'ятниці", "наступної суботи", - "наступної неділі"] - -WEEKDAYS_GENITIVE_THIS = ["цього понеділка", "цього вівторка", - "цієї середи", "цього четверга", - "цієї п'ятниці", "цієї суботи", - "цієї неділі"] +WEEKDAYS_GENITIVE_NEXT = ["наступного понеділка", "наступного вівторка", "наступної середи", "наступного четверга", + "наступної п'ятниці", "наступної суботи", "наступної неділі"] +WEEKDAYS_GENITIVE_THIS = ["цього понеділка", "цього вівторка", "цієї середи", "цього четверга", "цієї п'ятниці", + "цієї суботи", "цієї неділі"] # global variables module_path = "" + def get_human_readable_date(start_datetime, end_datetime, current_day, current_week): human_readable_date = "" - if ((current_day + 2) == int(start_datetime.strftime("%u"))) or ((current_day == 6) and (start_datetime.strftime("%u") == "1")): + if ((current_day + 2) == int(start_datetime.strftime("%u"))) or ( + (current_day == 6) and (start_datetime.strftime("%u") == "1")): human_readable_date += "завтра " elif current_week != int(start_datetime.strftime("%W")) % 2: human_readable_date += f"{WEEKDAYS_GENITIVE_NEXT[int(start_datetime.strftime('%u')) - 1]} " @@ -45,9 +43,7 @@ def get_human_readable_date(start_datetime, end_datetime, return human_readable_date -def generate_lesson_description(lesson, start_datetime, end_datetime, - current_day, current_week, overrides = {}): - +def generate_lesson_description(lesson, start_datetime, end_datetime, current_day, current_week, overrides={}): output_settings = {"name": True, "date": True, "teacher": True, "link": True} output_settings.update(overrides) @@ -68,19 +64,19 @@ def generate_lesson_description(lesson, start_datetime, end_datetime, result += f"Посилання на пару: {lesson['link']}" return result - + def get_schedule_data_from(filename): raw_schedule = json.loads(readfile(filename)) baked_schedule = {} - for daynum, lesson_times in enumerate(raw_schedule): + for day_number, lesson_times in enumerate(raw_schedule): for lesson_time in lesson_times: - timestamp = daynum*86400 + int(lesson_time.split(":")[0])*3600 \ - + int(lesson_time.split(":")[1])*60 + timestamp = day_number * 86400 + int(lesson_time.split(":")[0]) * 3600 \ + + int(lesson_time.split(":")[1]) * 60 - new_record = dict(raw_schedule[daynum][lesson_time]) + new_record = dict(raw_schedule[day_number][lesson_time]) new_record["source"] = filename.split(".json")[0] baked_schedule[timestamp] = new_record @@ -97,7 +93,7 @@ def process_arguments(args, base_day): selected_day -= int(arg[1:]) else: preferences[arg[1:]] = False - + elif arg[0] == "+": if arg[1:].isdigit(): selected_day += int(arg[1:]) @@ -109,21 +105,20 @@ def process_arguments(args, base_day): return preferences, selected_day -def get_lesson_description(schedule, reference_time, lesson_time, - current_day, current_week, overrides = {}): +def get_lesson_description(schedule, reference_time, lesson_time, current_day, current_week, overrides={}): lesson_record = schedule[lesson_time] lesson_start_datetime = datetime.fromtimestamp(reference_time + lesson_time) lesson_end_datetime = datetime.fromtimestamp(reference_time + lesson_time + 5400) return generate_lesson_description(lesson_record, lesson_start_datetime, lesson_end_datetime, - current_day, current_week, overrides = overrides) + current_day, current_week, overrides=overrides) def process(message, path): message_text = message["text"] full_command = message_text.split() - + # there is no need to check if the full_command list if empty as it # never will be - Telegram requires all messages to have at least # one printable symbol, so this is already protected @@ -139,30 +134,29 @@ def process(message, path): schedule.update(get_schedule_data_from("additions.json")) current_time = datetime.now() - + current_week = current_time.isocalendar()[1] % 2 current_day = current_time.weekday() - current_seconds = current_week*604800 + current_day*86400 \ - + current_time.hour*3600 + current_time.minute*60 \ - + current_time.second + current_seconds = current_week * 604800 + current_day * 86400 + current_time.hour * 3600 + current_time.minute \ + * 60 + current_time.second reference_time = int(current_time.strftime("%s")) - current_seconds if base_command == "!пара": - upcoming_lessons = [timestamp for timestamp in schedule if timestamp > current_seconds-5400] + upcoming_lessons = [timestamp for timestamp in schedule if timestamp > current_seconds - 5400] if len(upcoming_lessons) > 0: closest_lesson_time = min(upcoming_lessons) else: closest_lesson_time = min(schedule) - + return "Актуальна пара: " + get_lesson_description(schedule, reference_time, closest_lesson_time, current_day, current_week) elif base_command == "!пари": - base_day = current_week*7 + current_day + base_day = current_week * 7 + current_day if len(full_command) >= 2: args = [i for i in full_command[1:] if len(i) > 1] @@ -171,12 +165,10 @@ def process(message, path): preferences = {} selected_day = base_day - lesson_list = [i for i in schedule if selected_day*86400 <= i < (selected_day+1)*86400] + lesson_list = [i for i in schedule if selected_day * 86400 <= i < (selected_day + 1) * 86400] - lesson_descriptions_list = ["Назва: " + get_lesson_description(schedule, reference_time, - lesson_time, current_day, - current_week, overrides = preferences) + lesson_descriptions_list = ["Назва: " + get_lesson_description(schedule, reference_time, lesson_time, + current_day, current_week, overrides=preferences) for lesson_time in lesson_list] - return f"Пари у {WEEKDAYS_ACCUSATIVE[selected_day % 7]}:\n" \ - + "\n\n".join(lesson_descriptions_list) + return f"Пари у {WEEKDAYS_ACCUSATIVE[selected_day % 7]}:\n" + "\n\n".join(lesson_descriptions_list)