Weather's just great here now, with the Monsoon arriving here. I can now enjoy the rains while sipping coffee and coding for GSoC with some cozy tunes to go along with.
1. What did you do this week?
A. So the ItemChecker class that I proposed has been included in the codebase with the appropriate modifications in FeedExport, so that it can use those filter classes. I pushed the code and created a draft PR. It can be accessed here: #5178. My mentor left some feedback which I agreed with.
2. What is coming up next?
A. I will look into mentor's feedback and improve the code. After that I'll continue with adding tests and documentations.
3. Did you get stuck anywhere?
A. I did once got stuck when I was manually testing the new implementation. I had actually added a class instance attribute called item_classes to ItemChecker class which I intended to be changed for every Feed slot. The problem I was facing was whenever I changed any one of the item_classes attribute it reflected on other instance's attribute as well. The problem was quite trivial actually and I should have known why it was happening. The reason why it was happening was simply because class attributes are shared amongst all the classes. And not only that I also learned about how default parameter values worked in Python which explains why class attributes work the way they do. For the curious, follow this Stackoverflow thread to understand more about default parameter values in Python.