⬅ Return

Automate CLI

3 May 2021
View repository
Hero image for the automate command line app.

A command line application using the click module that I use to automate common actions in my role and perform them easily from the command line.

I structured the application using the command design pattern, which allows it to be easily scaled due to decoupling and clear separation of concerns:

  • invoker ('automate/cli.py' entry point)

  • commands ('automate/commands')

  • receivers ('automate/service')

Commands can be specified using flags or input using a custom config file.

The current commands automate a range of aspects:

  • Rename: for automating renaming of files for different awards.

  • Scoring: to calculate scoring from judges' scoresheets.

  • Metadata: to perform different actions / reports on awards metadata.

  • Create: to create scoring assets and scoresheets.