def test_form4(self): downloader = EdgarDownloader(".", ["424B2"], self.dbClientMock, self.edgarRetrieverMock) downloader._removeFile = MagicMock(name="downloader.remove_file") downloader._removeFile.return_value = True filingPath = "edgar/data/1000275/0001214659-14-008227.txt" content = {"foo": "bar"} self.edgarRetrieverMock.extractContent.return_value = content self.edgarRetrieverMock.initialise.return_value(True) downloader.extractFilingData() self.edgarRetrieverMock.extractContent.assert_called_with(filingPath) self.dbClientMock.insertFiling.assert_called_with( "1000275", "20141208", "ROYAL BANK OF CANADA", "424B2", content )
import logging from edgar_filing_retriever import EdgarFilingRetriever from dbclient import DbClient logging.basicConfig(level=logging.INFO) logger = logging.getLogger(__name__) if __name__ == '__main__': import sys if len(sys.argv) < 2: print 'Usage: python demo -downloadDirectory <dirname>' else: from edgar_index_downloader import EdgarIndexFileDownloader from edgar_downloader import EdgarDownloader downloadDir = sys.argv[2] indexFileDownloader = EdgarIndexFileDownloader(downloadDir) #logger.info('Retrieving filing from last 5 days from edgar....') indexFileDownloader.downloadEdgarIndexes() filingTypes = ['3','4', '5', '10-K','10-Q'] logger.info('Finished downloading index files.... now download filing ...%s', filingTypes) edgarFilingDownloader = EdgarDownloader(downloadDir, filingTypes, DbClient(), EdgarFilingRetriever()) edgarFilingDownloader.extractFilingData() logger.inof('========== Finished writing data ================')