Due Date: Wednesday, March 2nd, 11:59:59 PM
Value: 150 points
Github Classroom Assignment Invite Link: https://classroom.github.com/a/4pXslF-M
Github: https://github.com/umbc-cmsc-210-spring-2022/cmsc-210-spring-2022-assignment-2
Collaboration: For Assignment 2, collaboration is not allowed; you must work individually. You may still see your TA and come to office hours for help, but you may not work with any other CMSC 210 students. You may post questions on Slack, but you may not post code.
A TA from ages now long-past has harvested information about songs and albums from the artist deadmau5, who appears to be some sort of folk-singer.
The course staff and UMBC in no way endorse the artist deadmau5 or his views or opinions. The course staff in no way endorses the death of mice.
The goal of your project is to write a command line tool,
grittify
, which will answer queries about songs of deadmau5.
You will be provided with the following csv files:
You may import anything. At all. May the force of all of Python be with you.
We recommend that you use:
You are writing the command grittify which takes a command and then parameter(s). The acceptable commands are:
grittify album [album-name]
Prints all of the songs on the album with [album-name]
grittify albums
Prints all of the albums (but not their songs)
grittify song [song-name]
Prints the data for song with [song-name] This is optional, I didn't provide code
grittify songs
Prints all of the data for all of the songs, including the data for the album they are on
grittify songs after [date]
Prints all songs that occur after a particular date, which will be written in MM-DD-YYYY
format. Album data will be included.
grittify songs before [date]
Prints all songs that occur before a particular date, which will be written in MM-DD-YYYY
format. Album data will be included.
The sample output is available as a separate file in your project template.
You MUST NOT modify any of the supplied code, except for the contents of get_all_albums()
Your output should be as close as possible to the sample outputs, though you can have a different order. This includes printing dates as they are in the sample output.
We will cover the use of github in class and provide walkthroughs for submitting assignments.
Following coding standards | 15 points |
Reading in album information | 15 points |
Reading in song information | 15 points |
Creating an album class that stores relevant album information | 30 points |
Creating a song class that stores relevant album information | 30 points |
Correctly reading and outputting dates | 15 points |
Correctly performing date comparisons | 10 points |
Correct output for all required commands | 20 points |
Total: | 150 points |