def write_datatypes_py(outdir, node: PlotlyNode, extra_nodes: Dict[str, 'PlotlyNode'] = {}): # Generate source code # -------------------- datatype_source = build_datatypes_py(node, extra_nodes) if datatype_source: try: formatted_source = format_source(datatype_source) except Exception as e: print(datatype_source) raise e # Write file # ---------- filedir = opath.join(outdir, 'datatypes', *node.dir_path) os.makedirs(filedir, exist_ok=True) filepath = opath.join(filedir, '__init__.py') mode = 'at' if os.path.exists(filepath) else 'wt' with open(filepath, mode) as f: if mode == 'at': f.write("\n\n") f.write(formatted_source) f.flush() os.fsync(f.fileno())
def write_validator_py(outdir, node: PlotlyNode, extra_nodes: Dict[str, 'PlotlyNode'] = {}): # Generate source code # -------------------- validator_source = build_validators_py(node, extra_nodes) if validator_source: try: formatted_source = format_source(validator_source) except Exception as e: print(validator_source) raise e # Write file # ---------- filedir = opath.join(outdir, 'validators', *node.dir_path) # ### Create output directory if opath.exists(filedir): shutil.rmtree(filedir) os.makedirs(filedir) filepath = opath.join(filedir, '__init__.py') os.makedirs(filedir, exist_ok=True) with open(filepath, 'wt') as f: f.write(formatted_source)
def append_traces_validator_py(outdir, base_node: TraceNode): if base_node.node_path: raise ValueError( 'Expected root trace node. Received node with path "%s"' % base_node.dir_str) source = build_traces_validator_py(base_node) formatted_source = format_source(source) # Append to file # -------------- filepath = opath.join(outdir, '__init__.py') with open(filepath, 'a') as f: f.write('\n\n') f.write(formatted_source)
def write_datatypes_py(outdir, node: PlotlyNode, extra_nodes: Dict[str, 'PlotlyNode'] = {}): # Generate source code # -------------------- datatype_source = build_datatypes_py(node, extra_nodes) if datatype_source: try: formatted_source = format_source(datatype_source) except Exception as e: print(datatype_source) raise e # Write file # ---------- filedir = opath.join(outdir, 'datatypes', *node.dir_path) filepath = opath.join(filedir, '__init__.py') os.makedirs(filedir, exist_ok=True) with open(filepath, 'wt') as f: f.write(formatted_source)
def append_figure_class(outdir, trace_node): if trace_node.node_path: raise ValueError( 'Expected root trace node. Received node with path "%s"' % trace_node.dir_str) base_figures = [('basewidget', 'BaseFigureWidget', 'FigureWidget'), ('basedatatypes', 'BaseFigure', 'Figure')] for base_package, base_classname, fig_classname in base_figures: figure_source = build_figure_py(trace_node, base_package, base_classname, fig_classname) formatted_source = format_source(figure_source) # Append to file # -------------- filepath = opath.join(outdir, '__init__.py') with open(filepath, 'a') as f: f.write('\n\n') f.write(formatted_source) f.flush() os.fsync(f.fileno())