ECE 2524

Introduction to Unix for Engineers

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 and mp3tag.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: