X-Git-Url: https://us-delaporte.pagekite.me/gitweb/dotfiles.git/blobdiff_plain/57f650073afc9f8fb2c1bb9e970661c038cad316..b4a9d4827c68ed11eb639bf2ef55c2c9e0aae413:/files/ts/tasks.py diff --git a/files/ts/tasks.py b/files/ts/tasks.py index 7818213..1a75292 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,11 @@ 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) def folder(c, path): @@ -42,11 +45,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,6 +67,7 @@ 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) def daily(c): @@ -61,11 +75,20 @@ def daily(c): 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 +111,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"') +