]> us-delaporte.pagekite.me Git - dotfiles.git/blobdiff - invoke/school/tasks.py
Update PDF generation
[dotfiles.git] / invoke / school / tasks.py
index 95bbef76d971dcc811de1592f93f7e0bceae3f8f..d311f61cb2439b2322203c6f18fb35b35180a8d0 100644 (file)
@@ -2,7 +2,7 @@
 from invoke import task
 from pandas_ods_reader import read_ods
 import pandas as pd
-import pdfkit
+from weasyprint import HTML
 
 from datetime import datetime as dt
 from datetime import timedelta
@@ -27,8 +27,9 @@ def code(c, path):
 
 
 def folder(c, path):
-    c.run(f'dolphin {path}', asynchronous=True)
+    # c.run(f'dolphin {path}', asynchronous=True)
     # c.run(f"nemo {path}")
+    c.run(f'konsole --workdir {path}',asynchronous=True)
 
 
 @task
@@ -84,7 +85,11 @@ def preview_all(c, monday):
 def make_all(c, monday):
     html_all(c, monday)
     for person in STUDENTS:
-        pdfkit.from_file(f'{SCHOOL_DIR}/{person}.{monday}.html', f'{SCHOOL_DIR}/{person}.{monday}.pdf', options={"enable-local-file-access": True})
+        html = f'{SCHOOL_DIR}/{person}.{monday}.html'
+        pdf = f'{SCHOOL_DIR}/{person}.{monday}.pdf'
+        HTML(html).write_pdf(pdf)
+        c.run(f'librewolf {SCHOOL_DIR}/{person}.{monday}.pdf', asynchronous=True)
+        
 
 def get_todays_assignments(df, date, person):
     mine = df[df['person'] == person]
@@ -95,7 +100,7 @@ def get_todays_assignments(df, date, person):
 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']:
+    for subject in ['College Prep', 'Life Skills', 'Job Prep', 'Health']:
         if not 'All Day Event' in today['subject'].values and not subject in today['subject'].values:
             print(f'Missing {subject} for {person} on {day}')
 
@@ -155,5 +160,18 @@ def files(c):
 def cleanup(c):
     c.run(f'mv {SCHOOL_DIR}/*.md {ARCHIVE}')
     c.run(f'mv {SCHOOL_DIR}/*.html {ARCHIVE}')
+
+@task
+def fresh_week(c):
+    cleanup(c)
     c.run(f'mv {SCHOOL_DIR}/*.pdf {ARCHIVE}')
 
+
+@task
+def checklist(c):
+    print('- [ ] `fresh-week` to clean up old files.')
+    print('- [ ] start libreoffice and open `assignements.ods`')
+    print('- [ ] copy a previous sheet to be the new first sheet, and update the date Monday date.')
+    print('- [ ] `invoke missing YYYY.MM.DD` the .ods file.')
+    print('- [ ] `invoke preview-all YYYY.MM.DD`')
+