]>
apps.delaporte.us Git - dotfiles.git/blob - files/ts/tasks.py
e7990e7bbb93b7e22586c7209ae79475926ac9df
1 # This file is meant to sit in ~ for use from all shells.
2 # ln -s ~/dotfiles/files/ts/tasks.py ~/tasks.py
4 from invoke
import task
6 from datetime
import datetime
as dt
9 HOME
= os
.path
.expanduser('~')
11 TODAY
= dt
.now().strftime('%Y.%m.%d')
12 MONTH
= dt
.now().strftime('%m')
13 YEAR
= dt
.now().strftime('%Y')
14 JOURNAL
= f
"{HOME}/Journal/{YEAR}"
16 SECDEV_LIMITED
=os
.environ
.get('SECDEV_LIMITED')
17 SECDEV_MESSAGE_TEMPLATES
=os
.environ
.get('SECDEV_MESSAGE_TEMPLATES')
18 EPICS
=os
.environ
.get('URL_EPICS')
19 MESSAGE_TEMPLATES
=os
.environ
.get('URL_MESSAGE_TEMPLATES')
20 OLLAMA
=os
.environ
.get('OLLAMA')
22 # Helper functions for a consistent experience
26 code(c
, f
'{HOME}/Journal')
30 c
.run(f
"firefox {url}", asynchronous
=True)
34 # c.run(f"codium {path}", asynchronous=True)
35 c
.run(f
"vi {path}", pty
=True)
45 result
= c
.run('which minetest')
55 browse(c
, "https://outlook.office.com/calendar/view/week")
61 browse(c
, "https://my.techservices.illinois.edu/vacation/submitdays.asp")
62 browse(c
, "https://outlook.office.com/calendar/view/week")
63 print('Ctrl+G to repeat a search in FF')
68 '''Reconcile time off between reporting systems'''
69 browse(c
, "https://outlook.office.com/calendar/view/month")
70 code(c
, f
"{HOME}/src/Learn_RobotFramework_IllinoisPTR")
71 browse(c
, "http://go.illinois.edu/techservtimeentry")
75 '''Open daily reminders file for this month'''
76 code(c
, f
'{JOURNAL}/{MONTH}-daily.md')
82 '''Show in progress items on the Kan-Ban board'''
83 browse(c
, 'https://github.com/orgs/techservicesillinois/projects/10/views/11')
90 @task(daily
, in_progress
, epics
)
92 '''Check on status of priorities'''
100 '''Prep for backlog grooming'''
101 browse(c
, 'https://github.com/orgs/techservicesillinois/projects/10/views/7')
106 '''Prep for team retrospective meeting'''
108 # Create and open retro notes file
109 retro_file
= f
'{JOURNAL}/{TODAY}.Retro.md'
110 if(not os
.path
.exists(retro_file
)):
111 c
.run(f
'{HOME}/envs/jinja/bin/jinja2 -D DATE={TODAY} {JOURNAL}/Retro.Template.md > {retro_file}')
114 # Close issues this sprint
115 browse(c
, 'https://github.com/orgs/techservicesillinois/projects/10/views/5')
117 # Shared folder for archiving Retro notes
118 browse(c
, SECDEV_LIMITED
)
122 def engagements_ods(c
):
123 '''For recording engagements'''
124 c
.run(f
'soffice {JOURNAL}/Data/engagements.ods', asynchronous
=True)
125 # TODO: Launch Jupyter container on this folder as well
129 raise NotImplementedError()
130 # TODO: Add GH command to gather latest data files.
133 @task(engagements_ods
)
135 '''For recording team wins'''
136 code(c
, f
'{JOURNAL}/{YEAR}-Wins.md')
140 browse(c
, 'https://github.com/orgs/techservicesillinois/projects/10?pane=info')
144 browse(c
, SECDEV_LIMITED
)
146 @task(engagements_ods
, calendar_week
)
148 # Cybersecrity Development Message Templates
149 browse(c
, SECDEV_MESSAGE_TEMPLATES
)
154 '''Run a copy of intentionally vulnerable OWASP Juice Shop web app, for demonstrations'''
155 c
.run('podman run -d -p 3000:3000 bkimminich/juice-shop', asynchronous
=True)
156 print('Visit localhost:3000 for juice shop.')
161 code(c
, f
'{JOURNAL}/bookmarks.md')
165 def message_templates(c
):
166 browse(c
, MESSAGE_TEMPLATES
)
170 print(f
'ssh -t {OLLAMA} "ollama run glm-4.7-flash"')