Example #1
0
def yahoofin_dp(input):
    return parse("year-month-day", str(input), normalize=True)
Example #2
0
def nyfed_dp(input):
    s = str(input).split(":")[0].split("T")[0]
    return parse("year-month-day", s, normalize=True)
Example #3
0
def yfi(input):
    return parse("year-month-day", str(input), normalize=True)
Example #4
0
def fred(input):
    return parse("year-month-day", str(input.split(" ")[0]), normalize=True)
Example #5
0
    def meta_line_chart(self, saveloc, options):
        from fdates import parse
        import json

        json_object = {
            "type": "line-chart",
            "pure": [],
            "headers": [],
            "options": {
                # "vAxis": { "logScale": True, "minValue": 0 },
                "chart": {
                    "title": False
                },
                "series": {

                },
                "axes": {
                    "y": {

                    }
                }
            }
        }

        # meta get

        mid = options["use"]
        md = self.meta[mid]
        mdheaders, container = md["headers"], md["container"]

        # SOLVING THE PURE OBJECT

        definitions = options["names"]

        # inserting the pure line-by-line objects
        pure_cache = []
        _pure_row = []
        for row in container:
            # print(row)
            _row = []
            for i, typestr in enumerate(definitions):
                if typestr == False: continue
                # print(typestr)
                type, name = typestr.split(":")
                # type defs for google chart
                if type == "date":
                    pieces = parse("year/month/day", row[i])
                    _row.append([pieces["year"], pieces["month"]-1, pieces["day"]])
                elif type == "number":
                    # if row[i] == ".":
                        # _row.append( float("{:.2f}".format(float(last_value))) )
                    # else:
                    # print(row[i])
                    _row.append( float("{:.2f}".format(float(row[i]))) )
                elif type == "string":
                    _row.append( str(row[i]) )
                elif type == "ignore":
                    continue
                # last_value = row[i]
            pure_cache.append(_row)

        json_object["pure"] = pure_cache

        # HEADERS
        headers = []
        for i, typestr in enumerate(definitions):
            if typestr == False: continue
            type, name = typestr.split(":")
            if type != "ignore":
                headers.append([type, name])
        json_object["headers"] = headers

        # OPTIONS
        json_object["options"]["width"] = "100%"
        json_object["options"]["height"] = 300
        json_object["options"]["chart"]["title"] = ""

        # managing left series
        if "left" in options:
            for rowid in options["left"]:
                json_object["options"]["series"][str(rowid-1)] = {"axis":"Left"}
            json_object["options"]["axes"]["y"]["Left"] = {"label": ""}

        # managing right series
        if "right" in options:
            for rowid in options["right"]:
                json_object["options"]["series"][str(rowid-1)] = {"axis":"Right"}
                json_object["options"]["axes"]["y"]["Right"] = {"label": ""}

        # managing random series
        if "random" in options:
            import random
            for rowid in options["random"]:
                randomseries = str(random.randint(1, 100))
                json_object["options"]["series"][str(rowid-1)] = {"axis": randomseries}
                json_object["options"]["axes"]["y"][randomseries] = {"label": ""}

        open(saveloc, "w+").write(json.dumps(json_object, indent=3))
Example #6
0
def gold(input):
    # print(input)
    s = str(input).split("T")[0]
    return parse("year-month-day", s, normalize=True)