def make_file(n_clicks, fig: dict, filename: str): if n_clicks: fig = go.Figure(fig) if not filename: filename = fig.layout.title.text if not filename: filename = 'DashFigure' fname = filename + f'.{file_type}' bytes_ = False if file_type == 'html': data = fig.to_html() mtype = 'text/html' elif file_type == 'jpg': fig.write_image('temp/dash_temp.jpg', format='jpg') return send_file('temp/dash_temp.jpg', filename=fname, mime_type='image/jpg') elif file_type == 'svg': fig.write_image('temp/dash_temp.svg', format='svg') return send_file('temp/dash_temp.svg', fname, 'image/svg+xml') else: raise ValueError(f'{file_type} not supported') return dict(content=data, filename=fname, mimetype=mtype, byte=bytes_) else: raise PreventUpdate
def test_result(n_clicks, test_data, co, nox, hc, val_number): ctx = dash.callback_context changed_id = ctx.triggered[0]['prop_id'].split('.')[0] if changed_id =='submit_button': layout, rules_st, puc_st = result_layout(test_data, co, nox, hc) if rules_st == 'Passed' and puc_st == 'Passed': make_certificate(val_number) upload_test_result(val_number, True) return layout, send_file(val_number + '.pdf') else: upload_test_result(val_number, False) return layout, send_file('failed_certi.pdf')
def download_results(n_clicks, n_clicks_peakmax, wdir): if (n_clicks is None) and (n_clicks_peakmax is None): raise PreventUpdate ctx = dash.callback_context prop_id = ctx.triggered[0]['prop_id'] if prop_id == 'res-download.n_clicks': fn = T.get_results_fn(wdir) workspace = os.path.basename(wdir) return [ send_file(fn, filename=f'{T.today()}-{workspace}_MINT-results.csv') ] elif prop_id == 'res-download-peakmax.n_clicks': workspace = os.path.basename(wdir) results = T.get_results(wdir) df = results.pivot_table('peak_max', 'peak_label', 'ms_file') df.columns = [P(x).with_suffix('') for x in df.columns] buffer = T.df_to_in_memory_excel_file(df) return [ send_bytes( buffer, filename=f'{T.today()}-{workspace}_MINT-peak-max.xlsx') ]
def cb_downloadspdx(button, spdxfile): if button is None: raise dash.exceptions.PreventUpdate filepath = os.path.join('SPDX', spdxfile) return send_file(filepath)
def download_nodes_csv(n_clicks, json_df): if n_clicks: downloads_dir = os.path.join(os.getcwd(), 'downloads') if not os.path.exists(downloads_dir): os.mkdir(downloads_dir) nodes_df = pd.read_json(json_df) abs_filename = os.path.join(downloads_dir, 'node_details.csv') nodes_df.to_csv(abs_filename, index=False) return send_file(abs_filename)
def download_graphml(n_clicks, json_str_sub_network): if n_clicks: downloads_dir = os.path.join(os.getcwd(), 'downloads') if not os.path.exists(downloads_dir): os.mkdir(downloads_dir) rel_filename = os.path.join('downloads', 'network.graphml') abs_filename = os.path.join(os.getcwd(), rel_filename) sub_network = nx.node_link_graph(json.loads(json_str_sub_network)) nx.write_graphml(sub_network, path=abs_filename) return send_file(abs_filename)
def download_file(n_clicks, data, rows): if n_clicks == 0: raise dash.exceptions.PreventUpdate directory = os.getcwd() + "/data/" files = [data[r]['Filename'] for r in rows] if len(files) == 1: return send_file(directory + files[0]), '' else: # create a ZipFile object zip_obj = ZipFile(directory + 'measurements.zip', 'w') # Add multiple files to the zip for f in files: zip_obj.write(directory + f, arcname=f) # close the Zip File zip_obj.close() return send_file(directory + "measurements.zip", mime_type='application/zip'), ''
def download_enrichment_results(n_clicks, filename, enrichment_results): """Generates and sends a csv file of enrichment results for download.""" if n_clicks: # Create downloads directory if there isn't one downloads_dir = os.path.join(os.getcwd(), 'downloads') if not os.path.exists(downloads_dir): os.mkdir(downloads_dir) rel_filename = os.path.join('downloads', '{}_enrichment.csv'.format(filename[:-4])) abs_filename = os.path.join(os.getcwd(), rel_filename) enrichment = pd.read_json(enrichment_results) enrichment.to_csv(abs_filename, index=False) return send_file(abs_filename)
def func(n_clicks): return send_file("./protein_coding_genes_novel_predictions.csv", filename='protein coding.csv')
def func(n_clicks): return send_file("./bioembeds_nonsmote_pos_preds.csv", filename='bioembed preds.csv')
def download_file(n, uploaded_filename): """Save uploaded files and regenerate the file list.""" if n > 0: file_in_question = 'new_{}'.format(uploaded_filename[0]) # print(file_in_question) return send_file('uploaded_img/{}'.format(file_in_question))
def generate_raw_csv(clicks, table_data): print("GENERATE RAW CSV") if table_data: return send_file("data/recent_query.csv")
def func(n_clicks): if n_clicks is None: raise PreventUpdate else: return send_file("assets/data_apls.csv")
def func(n_clicks): return send_file("/home/emher/Documents/Untitled.png")
def func(n_clicks): return send_file("results/hgv1_mouse_hormone_src_tgt_genes.json", filename = 'hgv1_mouse_hormone_src_tgt_genes.json')
def func(n_clicks): return send_file("./lncRNA_novel_predictions.csv", filename='lncRNA.csv')
def func(n_clicks): return send_file( "results/protein_coding_genes_novel_predictions_threshold.csv", filename='protein coding.csv')
def func(n_clicks): return send_file("results/lncRNA_novel_predictions_threshold.csv", filename='lncRNA.csv')
def generate_raw_csv(clicks, table_data): print("GENERATE ANALYSIS CSV") if table_data: return send_file("data/recent_analysis.csv")
def func(n_clicks): return send_file("./hgv1_hormone_src_tgt_genes.json", filename='HGv1_Gene.json')
def func(n_clicks): return send_file("./download/endereços.json")
def func(n_clicks): return send_file("./source_target_tissue.json", filename='HGv1_Tissue.json')
def update_link(n_clicks, wdir): if n_clicks is None: raise PreventUpdate fn = T.get_results_fn(wdir) workspace = os.path.basename( wdir ) return [send_file(fn, filename=f'{T.today()}-{workspace}_MINT-results.csv')]
def return_pdf(n_clicks): return send_file("./samples/template.xlsx")