add script for marking tasks as TODO based on student's index number
This commit is contained in:
parent
a4b5bcbf89
commit
e9b789f89c
72
kurwix.py
Normal file
72
kurwix.py
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
import os
|
||||||
|
|
||||||
|
def find_tasks_to_do(indeks: int):
|
||||||
|
tasks_to_do = []
|
||||||
|
|
||||||
|
for task_id in range(49):
|
||||||
|
task_id_str = f"{task_id:02d}"
|
||||||
|
with open(f"TaskC{task_id_str}/description.txt", "r") as file:
|
||||||
|
description = file.read()
|
||||||
|
for line in description.splitlines():
|
||||||
|
if "REMAINDER" in line:
|
||||||
|
remainder, divisor = parse_remainder(line)
|
||||||
|
if verify_task_should_be_done(indeks, remainder, divisor):
|
||||||
|
tasks_to_do.append(task_id)
|
||||||
|
|
||||||
|
return tasks_to_do
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def parse_remainder(line: str):
|
||||||
|
parts = line.split(":")[1].strip().split("/")
|
||||||
|
remainder = int(parts[0])
|
||||||
|
divisor = int(parts[1])
|
||||||
|
return remainder, divisor
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def verify_task_should_be_done(indeks: int, remainder: int, divisor: int):
|
||||||
|
return indeks % divisor == remainder
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def display_tasks_to_do(task_ids):
|
||||||
|
print("Twoje zadania to:")
|
||||||
|
for task_id in task_ids:
|
||||||
|
task_id_str = f"{task_id:02d}"
|
||||||
|
old_dir = f"TaskC{task_id_str}"
|
||||||
|
new_dir = f"{old_dir}_TODO"
|
||||||
|
os.rename(old_dir, new_dir)
|
||||||
|
print(f"- {task_id_str}")
|
||||||
|
print("Foldery z zadaniamy zostały oznaczone jako TODO.\nPowodzenia!")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def run():
|
||||||
|
RED = "\033[31m"
|
||||||
|
RESET = "\033[39m"
|
||||||
|
|
||||||
|
while True:
|
||||||
|
try:
|
||||||
|
indeks = int(input("Podaj swój numer indeksu: "))
|
||||||
|
break
|
||||||
|
except ValueError:
|
||||||
|
print(RED + "Proszę podać prawidłowy numer indeksu.\n" + RESET)
|
||||||
|
|
||||||
|
display_tasks_to_do(find_tasks_to_do(indeks))
|
||||||
|
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
print('''----------------------------------
|
||||||
|
_ _
|
||||||
|
| | ___ _ _ ____ _(_)_ __
|
||||||
|
| |/ / | | | '__\ \ /\ / / \ \/ /
|
||||||
|
| <| |_| | | \ V V /| |> <
|
||||||
|
|_|\_\\\\__,_|_| \_/\_/ |_/_/\_\\
|
||||||
|
|
||||||
|
----------------------------------\n''')
|
||||||
|
run()
|
Loading…
Reference in New Issue
Block a user