- Class design and object creation
- Enum & custom exception classes
- Property decorators
- Recursive sorting
- Deepcopies
- File I/O
- Unit Tests
- List & set comprehension
- PEP-8 convention
- '/help' function
- 'style' class (for colored text in event output)
- a = b if c else d assignment pattern
To get a local copy up and running, follow these steps
- Clone the repo
git clone https://github.com/willtholke/NY-rent-data.git
- Navigate to the directory where requirements.txt is located using Command Prompt (Windows) or Terminal (Mac)
- Automatically install the libraries used in this project
pip install -r requirements.txt
- The new global string object called 'filename' (which refers to the new airbnb data source, 'AB_NYC_2019.csv') is utilized in load_file(), the new method in the DataSet class that loads data from filename.
- Added InvalidDataLength class to the DataSet class (lines 96, 97) as a logical error to be raised (lines 178-180) if the length of the file referred to by 'filename' is not 48895.
- Set global variable line_count equal to len(self.data) to avoid "Expected type 'Sized', got 'None' instead" error that occurred when attempting to print len(self.data) on line 477. The value of line_count is manipulated twice in the program, which does not affect the output in any unintended way.