Tag it again, sam
Usage
-
The README contained everything I needed to easily use the program:
Formatting could be improved: write link to URLs, use lists, etc. No documentation provided for getting/setting tags with
mp3tag.py
-
The program compiles/runs without errors:
executable bit should be set on
lastFMscrape.py
andmp3tag.py
-
The program worked as advertised:
README indicates getting/setting individual tags, but that feature doesn't appear to be implemented.
Style
-
The code is cleaning divided into modules and multiple files:
There is potential for a shared module used by both applications to handle marshelling/unmarshelling of tag data
-
Variable and function names are meaningful:
-
Comments are used where appropriate:
Philosophy
-
The program most closely follows the
cat-like
interface pattern:both programs would be much more flexible if a truer cat-like pattern were followed:
lastFMscrape.py
could accept one or more entries on standard input,mp3tag.py
could accept one or more file names as command line arguments. -
This choice of pattern is a good one for this application:
-
This program follows the Rule of Silence and Least Surprise:
the
Track Info :
output is unnecessary -
This program follows the Rules of Modularity and Composition:
using in a pipeline would be easier if complete output of
lastFMscrape.py
was valid JSON or YAML. The extra 'Track Info : ' would complicate interfacing with another program -
This program follows the Rules of Representation and Simplicity: