Weekly Check-in #3

siddharthadr
Published: 06/27/2021

1. What did you do this week?
A. This week I created plugins' manager PostProcessingManager, Plugin interface and builtin compression plugins (gzip, bzip2, lzma). PR availabe here: #5190.

2. What is coming up next?
A. This week I will focus on the tests for the created plugins and manager.

3. Did you get stuck anywhere?
A. While implementing the manager and builtin plugins I had assumed that only two methods will be used ever: write and close. Well it turned out one of the exporters (used for exporting a scraped item to a file), CsvItemExporter also wraps the storage file around io.TextIOWrapper and that actually expects an object with at least the methods and attributes of that of io.IOBase. The problem was fixed by making PostProcessingManager subclass io.IOBase and also providing a method writable to indicate that the object is open for writing.