X-Git-Url: https://apps.delaporte.us/gitweb/dotfiles.git/blobdiff_plain/57f650073afc9f8fb2c1bb9e970661c038cad316..0fc62b2d25ef0fd50b74b2ed52028928a1e00544:/files/ts/tasks.py diff --git a/files/ts/tasks.py b/files/ts/tasks.py index 7818213..dc28db1 100644 --- a/files/ts/tasks.py +++ b/files/ts/tasks.py @@ -14,7 +14,10 @@ YEAR = dt.now().strftime('%Y') JOURNAL = f"{HOME}/Journal/{YEAR}" SECDEV_LIMITED=os.environ.get('SECDEV_LIMITED') - +SECDEV_MESSAGE_TEMPLATES=os.environ.get('SECDEV_MESSAGE_TEMPLATES') +EPICS=os.environ.get('URL_EPICS') +MESSAGE_TEMPLATES=os.environ.get('URL_MESSAGE_TEMPLATES') +OLLAMA=os.environ.get('OLLAMA') # Helper functions for a consistent experience @@ -24,11 +27,12 @@ def journal(c): def browse(c, url): - c.run(f"firefox {url}") + c.run(f"firefox {url}", asynchronous=True) def code(c, path): - c.run(f"codium {path}") + # c.run(f"codium {path}", asynchronous=True) + c.run(f"vi {path}", pty=True) def folder(c, path): @@ -42,11 +46,21 @@ def debug(c): print(result.ok) +@task() +def dash(c): + c.run('wtfutil') + +@task +def calendar_week(c): + browse(c, "https://outlook.office.com/calendar/view/week") + + @task def vasl(c): '''Submit time off''' - c.run(f"firefox https://my.techservices.illinois.edu/vacation/submitdays.asp") + browse(c, "https://my.techservices.illinois.edu/vacation/submitdays.asp") browse(c, "https://outlook.office.com/calendar/view/week") + print('Ctrl+G to repeat a search in FF') @task(vasl) @@ -54,18 +68,28 @@ def timesheets(c): '''Reconcile time off between reporting systems''' browse(c, "https://outlook.office.com/calendar/view/month") code(c, f"{HOME}/src/Learn_RobotFramework_IllinoisPTR") + browse(c, "http://go.illinois.edu/techservtimeentry") -@task(journal) +@task() def daily(c): '''Open daily reminders file for this month''' code(c, f'{JOURNAL}/{MONTH}-daily.md') -@task(daily) + +@task() +def in_progress(c): + '''Show in progress items on the Kan-Ban board''' + browse(c, 'https://github.com/orgs/techservicesillinois/projects/10/views/11') + + +@task(daily, in_progress) def status(c): '''Check on status of priorities''' + browse(c, EPICS) + dash(c) + pass - browse(c, 'https://github.com/orgs/techservicesillinois/projects/10/views/11') @task @@ -88,13 +112,58 @@ def retro(c): browse(c, 'https://github.com/orgs/techservicesillinois/projects/10/views/5') # Shared folder for archiving Retro notes - browse(c, f'{SECDEV_LIMITED}') - + browse(c, SECDEV_LIMITED) @task(journal) +def engagements_ods(c): + '''For recording engagements''' + c.run(f'soffice {JOURNAL}/Data/engagements.ods', asynchronous=True) + # TODO: Launch Jupyter container on this folder as well + +@task +def gather_data(c): + raise NotImplementedError() + # TODO: Add GH command to gather latest data files. + + +@task(engagements_ods) def wins(c): '''For recording team wins''' code(c, f'{JOURNAL}/{YEAR}-Wins.md') +@task +def co_authors(c): + browse(c, 'https://github.com/orgs/techservicesillinois/projects/10?pane=info') + +@task +def limited(c): + browse(c, SECDEV_LIMITED) + +@task(engagements_ods, calendar_week) +def engage(c): + # Cybersecrity Development Message Templates + browse(c, SECDEV_MESSAGE_TEMPLATES) + + +@task +def juice_shop(c): + '''Run a copy of intentionally vulnerable OWASP Juice Shop web app, for demonstrations''' + c.run('podman run -d -p 3000:3000 bkimminich/juice-shop', asynchronous=True) + print('Visit localhost:3000 for juice shop.') + + +@task +def bookmarks(c): + code(c, f'{JOURNAL}/bookmarks.md') + + +@task +def message_templates(c): + browse(c, MESSAGE_TEMPLATES) + +@task +def ollama(c): + print(f'ssh -t {OLLAMA} "ollama run glm-4.7-flash"') +