Automate CLI
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.