def edit_table(table): """ Editing single table. """ t = JINJA.get_template('edit_table.template') conn = get_conn() cur = conn.cursor() row = cur.execute("""select rt.table_name, rt.uid_column, rt.description, rt.brief_columns from reference_tables rt where table_name = '%s'""" % table).fetchone() cur.close() columns = get_table_columns(table) columns[0] = 'None' html_data = {'table': table, 'description': row[2], 'uid_column': row[1], 'brief_columns': row[3], 'key_list': get_key_list(conn), 'column_names': columns } t1 = from_db_cursor(conn.execute(""" select r.uid, k.key, k.subkey, k.description, k.data_format, r.reference_column, r.error_column_low, r.error_column_high, r.comment, "Delete" from keys k join reference_tables_keys r on r.key = k.key and ifnull(r.subkey, '') = ifnull(k.subkey, '') where r.reference_table = '%s' order by k.key, k.subkey""" % (table))) html_data['keys'] = t1.get_html_string(attributes={'border': 1, 'id': 'keys_table'}) t2 = from_db_cursor(conn.execute(""" select column_name, data_type, data_unit, output_format, description, ucd from reference_tables_columns where reference_table = '%s'""" % table)) html_data['columns'] = t2.get_html_string(attributes={'border': 1, 'id': 'columns_table'}) conn.close() return t.render(html_data)
def get_table_columns(self, table): return ','.join(map(str, get_table_columns(table)))