<div dir="ltr"><div>Hi all,</div><div><br></div><div>Many thanks to Christoph for prompting us to think about refactoring and clearer organization for the different classes and scripts we are using for ingesting, parsing, saving and converting email archive formats.</div><div><br></div><div>A few notes from our chat today below:</div><div><span class="gmail-mx_MTextBody gmail-mx_EventTile_content"><span class="gmail-mx_EventTile_body gmail-markdown-body" dir="auto"><ol><li>useful to use existing python email message classes and subclasses, e.g. <a href="https://docs.python.org/3.7/library/mailbox.html">https://docs.python.org/3.7/library/mailbox.html</a> It's Pythonic and let's us take advantage of the existing work/gotchas of other Python people handling email<br></li></ol>
</span></span><span class="gmail-mx_MTextBody gmail-mx_EventTile_content"><span class="gmail-mx_EventTile_body gmail-markdown-body" dir="auto"><ol start="2"><li><code>mailman.py</code> should be refactored to separate mail collecting/provenance stuff <em>and</em> mailman-specific crawling/parsing</li></ol>
</span></span><span class="gmail-mx_MTextBody gmail-mx_EventTile_content"><span class="gmail-mx_EventTile_body gmail-markdown-body" dir="auto"><ol start="3"><li>could be a useful Archive class to handle to/from different formats and maybe also switching between scrapers/crawlers based on the URL or the archive software (whether that's an Archive class and a Collector class or just an Archive class, we're not sure, but it also probably doesn't matter much)<span class="gmail-mx_MTextBody gmail-mx_EventTile_content"><span class="gmail-mx_EventTile_body gmail-markdown-body" dir="auto"></span></span><span class="gmail-mx_MTextBody gmail-mx_EventTile_content"><span class="gmail-mx_EventTile_body" dir="auto"></span></span></li><li><span class="gmail-mx_MTextBody gmail-mx_EventTile_content"><span class="gmail-mx_EventTile_body" dir="auto">mbox format seems to capture all the contents of the scraping (whether from w3c or listserv) -- lossless, we're not losing important information if we save and later re-open from that format</span></span></li></ol></span></span></div><div>And I believe Christoph is going to open some issues; these tasks aren't likely to be finishable during our hackathon, but will be useful for future milestones so that it'll be faster and more comprehensible for those who want to contribute new classes to ingest mailing list archives stored in different systems.</div><div><br></div><div>Happy hacking,</div><div>Nick<br></div></div>