class IncomeStatementPipeline(StateMachine): def __init__(self, memento_path='./stockcat/data/memento/income_statement.json'): self.helper = EntryListHelper() memento_param = { 'path' : memento_path, 'default_value' : self.__get_default_value(), 'filter_key_list' : [ 'state', 'all_entry_list', 'todo_entry_list', 'last_updated_date' ], } param = { 'memento' : memento_param, 'spider' : IncomeStatementSpider(), 'assembler' : IncomeStatementAssembler(), 'feed_builder' : IncomeStatementFeedBuilder(), } StateMachine.__init__(self, param) def __get_default_value(self): all_entry_list = self.helper.get_all_financial_statement_entry_list() todo_entry_list = self.helper.get_legacy_financial_statement_entry_list() # !!! DEBUG ONLY !!! all_entry_list = all_entry_list[67:68] todo_entry_list = todo_entry_list[67:68] return { 'state' : 'spider', 'all_entry_list' : list(all_entry_list), 'todo_entry_list' : list(todo_entry_list), 'last_updated_date' : datetime.date(1949, 12, 7) }
def __init__(self, memento_path='./stockcat/data/memento/cash_flow.json'): self.helper = EntryListHelper() memento_param = { 'path' : memento_path, 'default_value' : self.__get_default_value(), 'filter_key_list' : [ 'state', 'all_entry_list', 'todo_entry_list', 'last_updated_date' ], } transition_table = [ ('InitialState', 'LoadState', ''), ('LoadState', 'SpiderState', 'spider'), ('LoadState', 'AssemblerState', 'assembler'), ('LoadState', 'AssemblerState', 'database'), ('LoadState', 'FinalState', 'final'), ('SpiderState', 'AssemblerState', ''), ('AssemblerState', 'DatabaseState', ''), ('DatabaseState', 'FinalState', ''), ] param = { 'memento' : memento_param, 'transition_table' : transition_table, 'spider' : CashFlowSpider(), 'assembler' : CashFlowAssembler(), 'feed_builder' : CashFlowFeedBuilder(), } StateMachine.__init__(self, param)
class OperatingRevenuePipeline(StateMachine): def __init__(self, memento_path='./stockcat/data/memento/operating_revenue.json'): self.helper = EntryListHelper() memento_param = { 'path' : memento_path, 'default_value' : self.__get_default_value(), 'filter_key_list' : [ 'state', 'all_entry_list', 'todo_entry_list', 'last_updated_date' ], } param = { 'memento' : memento_param, 'spider' : OperatingRevenueSummarySpider(), 'assembler' : OperatingRevenueSummaryAssembler(), 'feed_builder' : OperatingRevenueSummaryFeedBuilder(), } StateMachine.__init__(self, param) def __get_default_value(self): entry_list = self.helper.get_operating_revenue_entry_list() # !!! DEBUG ONLY !!! entry_list = entry_list[:2] return { 'state' : 'spider', 'all_entry_list' : list(entry_list), 'todo_entry_list' : list(entry_list), 'last_updated_date' : datetime.date(1949, 12, 7) }
class CashFlowPipeline(StateMachine): def __init__(self, memento_path='./stockcat/data/memento/cash_flow.json'): self.helper = EntryListHelper() memento_param = { 'path' : memento_path, 'default_value' : self.__get_default_value(), 'filter_key_list' : [ 'state', 'all_entry_list', 'todo_entry_list', 'last_updated_date' ], } transition_table = [ ('InitialState', 'LoadState', ''), ('LoadState', 'SpiderState', 'spider'), ('LoadState', 'AssemblerState', 'assembler'), ('LoadState', 'AssemblerState', 'database'), ('LoadState', 'FinalState', 'final'), ('SpiderState', 'AssemblerState', ''), ('AssemblerState', 'DatabaseState', ''), ('DatabaseState', 'FinalState', ''), ] param = { 'memento' : memento_param, 'transition_table' : transition_table, 'spider' : CashFlowSpider(), 'assembler' : CashFlowAssembler(), 'feed_builder' : CashFlowFeedBuilder(), } StateMachine.__init__(self, param) def __get_default_value(self): all_entry_list = self.helper.get_all_financial_statement_entry_list() todo_entry_list = self.helper.get_legacy_financial_statement_entry_list() # !!! DEBUG ONLY !!! #all_entry_list = all_entry_list[67:68] #todo_entry_list = todo_entry_list[67:68] return { 'state' : 'spider', 'all_entry_list' : list(all_entry_list), 'todo_entry_list' : list(todo_entry_list), 'last_updated_date' : datetime.date(1949, 12, 7) }
def __init__(self, memento_path='./stockcat/data/memento/income_statement.json'): self.helper = EntryListHelper() memento_param = { 'path' : memento_path, 'default_value' : self.__get_default_value(), 'filter_key_list' : [ 'state', 'all_entry_list', 'todo_entry_list', 'last_updated_date' ], } param = { 'memento' : memento_param, 'spider' : IncomeStatementSpider(), 'assembler' : IncomeStatementAssembler(), 'feed_builder' : IncomeStatementFeedBuilder(), } StateMachine.__init__(self, param)
def __init__(self, memento_path='./stockcat/data/memento/operating_revenue.json'): self.helper = EntryListHelper() memento_param = { 'path' : memento_path, 'default_value' : self.__get_default_value(), 'filter_key_list' : [ 'state', 'all_entry_list', 'todo_entry_list', 'last_updated_date' ], } param = { 'memento' : memento_param, 'spider' : OperatingRevenueSummarySpider(), 'assembler' : OperatingRevenueSummaryAssembler(), 'feed_builder' : OperatingRevenueSummaryFeedBuilder(), } StateMachine.__init__(self, param)