1. What did you do this week?
A. This week I created plugins' manager
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:
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
io.IOBase and also providing a method
writable to indicate that the object is open for writing.