MCPcopy
hub / github.com/coleifer/sqlite-web / table_export

Function table_export

sqlite_web/sqlite_web.py:1145–1168  ·  view source on GitHub ↗
(table)

Source from the content-addressed store, hash-verified

1143@app.route('/<table>/export/', methods=['GET', 'POST'])
1144@require_table
1145def table_export(table):
1146 dataset = get_dataset()
1147 columns = dataset.get_columns(table)
1148 if request.method == 'POST':
1149 export_format = request.form.get('export_format') or 'json'
1150 col_dict = {c.name: c for c in columns}
1151 selected = [c for c in (request.form.getlist('columns') or [])
1152 if c in col_dict]
1153 if not selected:
1154 flash('Please select one or more columns to export.', 'danger')
1155 else:
1156 model = dataset[table].model_class
1157 fields = [model._meta.columns[c] for c in selected]
1158 query = model.select(*fields).dicts()
1159 try:
1160 return export(query, export_format, table)
1161 except Exception as exc:
1162 flash('Error generating export: %s' % exc, 'danger')
1163 app.logger.exception('Error generating export.')
1164
1165 return render_template(
1166 'table_export.html',
1167 columns=columns,
1168 table=table)
1169
1170@app.route('/<table>/import/', methods=['GET', 'POST'])
1171@require_table

Callers

nothing calls this directly

Calls 3

get_datasetFunction · 0.85
exportFunction · 0.85
get_columnsMethod · 0.80

Tested by

no test coverage detected