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.