Beispiel #1
0
class UFGoogleDataSerializer(object):
    def __init__(self, symbol):
        self.symbol = symbol

    def fetch(self):
        self.financials = GoogleFinance().getFinancials(self.symbol)

    def serialize_financials(self):
        self.result = {}
        h = HTMLParser.HTMLParser()
        for item_name, values in self.financials.iteritems():
            item_name = h.unescape(item_name)
            statement_type = GoogleLedgerItem.get_statement_type(item_name)
            for date, value in values.iteritems():
                if value:
                    d = GoogleDateParser(date)
                    self._store_result(d, statement_type, item_name, value)
        print self.result

    def _store_result(self, date, statement_type, item_name,
            value):
        day = date.getDay()
        period = date.getPeriod()
        if day not in self.result:
            self.result[day] = {}
        if statement_type not in self.result[day]:
            self.result[day][statement_type] = {}
        if period not in self.result[day][statement_type]:
            self.result[day][statement_type][period] = {}
        assert item_name not in self.result[day][statement_type][period]
        self.result[day][statement_type][period][item_name] = value