def yahoofin_dp(input): return parse("year-month-day", str(input), normalize=True)
def nyfed_dp(input): s = str(input).split(":")[0].split("T")[0] return parse("year-month-day", s, normalize=True)
def yfi(input): return parse("year-month-day", str(input), normalize=True)
def fred(input): return parse("year-month-day", str(input.split(" ")[0]), normalize=True)
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))
def gold(input): # print(input) s = str(input).split("T")[0] return parse("year-month-day", s, normalize=True)