X-Git-Url: https://us-delaporte.pagekite.me/gitweb/dotfiles.git/blobdiff_plain/d6d2d8e00c52d4f2dc6ad1ef3a91a013a9b7058c..e6eb1ddd96f1a8eeb1ebcd93586f70257feaec1b:/invoke/school/tasks.py?ds=sidebyside diff --git a/invoke/school/tasks.py b/invoke/school/tasks.py index b1dbdca..619b54b 100644 --- a/invoke/school/tasks.py +++ b/invoke/school/tasks.py @@ -12,10 +12,15 @@ DATE_FORMAT = '%Y-%m-%d' TODAY = dt.now().strftime(DATE_FORMAT) SCHOOL_DIR = f'{HOME}/School/Assignments' -ODS_FILE = f'{HOME}/School/Assignments/tasks.ods' +ODS_FILE = f'{HOME}/School/Assignments/assignments.ods' BIN = f'{HOME}/envs/invoke/bin' STUDENTS = os.environ.get('STUDENTS').split('|') +@task +def open_assignments(c): + print("LibreOffice does not like to be launched this way.") + # c.run(f'libreoffice {ODS_FILE}', asynchronous=True) + @task def dump_ods(c): @@ -34,21 +39,21 @@ def print_week(c, person, monday): @task def md_week(c, person, monday): - c.run(f'cd {SCHOOL_DIR};{BIN}/invoke print-week {person} {monday} > {person}.{monday}.md') + c.run(f'cd {SCHOOL_DIR};{BIN}/invoke print-week {person} {monday} > {SCHOOL_DIR}/{person}.{monday}.md') @task def show_all(c, monday): for person in STUDENTS: md_week(c, person, monday) - c.run(f'codium {person}.{monday}.md') + c.run(f'codium {SCHOOL_DIR}/{person}.{monday}.md') @task def html_all(c, monday): for person in STUDENTS: md_week(c, person, monday) - c.run(f'cd {SCHOOL_DIR};{BIN}/markdown_py {person}.{monday}.md > {person}.{monday}.html') - c.run(f'librewolf {person}.{monday}.html') + c.run(f'cd {SCHOOL_DIR};{BIN}/markdown_py {person}.{monday}.md > {SCHOOL_DIR}/{person}.{monday}.html') + c.run(f'librewolf {SCHOOL_DIR}/{person}.{monday}.html', asynchronous=True) def get_todays_assignments(df, date, person): @@ -61,7 +66,7 @@ def missing_on_day(c, person, day): df = read_ods(ODS_FILE) today = get_todays_assignments(df, day, person) for subject in ['College Prep', 'Life Skills', 'Job Prep']: - if not subject in today['subject'].values: + if not 'Skip' in today['subject'].values and not subject in today['subject'].values: print(f'Missing {subject} for {person} on {day}') @task @@ -90,19 +95,24 @@ def print_day(c, person, date): print() print(f"## {person}'s Assignments for {weekday}, {date}") - for _, row in today.iterrows(): + for subject, row in today.groupby('subject'): print() print() - print(f'### {row["subject"]}') + print(f'### {row["subject"].values[0]}') print() - print(row['task']) - if(row['tip']): + for task in row['task'].values: + print(task) + if(len(row['tip'].values) > 0): print() - print(f'> Tip: {row["tip"]}') + for tip in row['tip'].values: + if tip: + print(f'> Tip: {tip}') - if(row['when_done']): + if(len(row['when_done'].values) > 0): print() - print(f'**When done**: {row["when_done"]}') + for tip in row['when_done'].values: + if tip: + print(f'**When done**: {tip}') @task def files(c):