HOME = os.path.expanduser('~')
TODAY = dt.now().strftime('%Y.%m.%d')
+MONTH = dt.now().strftime('%m')
+YEAR = dt.now().strftime('%Y')
+JOURNAL = f"{HOME}/Journal/{YEAR}"
+
+SECDEV_LIMITED=os.environ.get('SECDEV_LIMITED')
+
+
+# Helper functions for a consistent experience
+
+@task
+def journal(c):
+ code(c, f'{HOME}/Journal')
+
def browse(c, url):
- c.run(f"firefox {url}")
+ c.run(f"firefox {url}", asynchronous=True)
def code(c, path):
print(result.ok)
+@task()
+def dash(c):
+ c.run('wtfutil')
+
+
@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")
browse(c, "https://outlook.office.com/calendar/view/month")
code(c, f"{HOME}/src/Learn_RobotFramework_IllinoisPTR")
+@task(journal)
+def daily(c):
+ '''Open daily reminders file for this month'''
+ code(c, f'{JOURNAL}/{MONTH}-daily.md')
-@task
+
+
+@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, dash)
def status(c):
'''Check on status of priorities'''
- browse('https://github.com/orgs/techservicesillinois/projects/10')
+ pass
+
@task
'''Prep for backlog grooming'''
browse(c, 'https://github.com/orgs/techservicesillinois/projects/10/views/7')
-JOURNAL = f"{HOME}/Journal"
-@task
+@task(journal)
def retro(c):
+ '''Prep for team retrospective meeting'''
+ # Create and open retro notes file
retro_file = f'{JOURNAL}/{TODAY}.Retro.md'
if(not os.path.exists(retro_file)):
c.run(f'{HOME}/envs/jinja/bin/jinja2 -D DATE={TODAY} {JOURNAL}/Retro.Template.md > {retro_file}')
-
code(c, retro_file)
+ # Close issues this sprint
+ browse(c, 'https://github.com/orgs/techservicesillinois/projects/10/views/5')
+
+ # Shared folder for archiving Retro notes
+ browse(c, f'{SECDEV_LIMITED}')
+
+
+@task(journal)
+def data(c):
+ '''For recording engagements'''
+ c.run(f'soffice {JOURNAL}/Data/engagements.ods')
+ # 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(data)
+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')