o
    *j]                     @   s4   d dl Z d dlZd dlZh dZdd Zdd ZdS )    N>   ZrestaurantsZgeoZimdbZatisZacademicZyelpZadvisingc              	   C   s  g }| d D ]{}|d d |d d |d d |d d f\}}}}d\}}z=| d  |}	| d  |}
t| d D ]\}\}}||
krL||krL|}q;|	|krV||krV|}q;|rb|rb|||g W q ty   t  td| d  td|| t  Y qw |S )	Nforeign_keysr      )NNtable_names_originalcolumn_names_originalztable_names_original: zfinding tab name: )	index	enumerateappend
ValueError	traceback	print_excprintsysexit)data	fk_holderfktncolZref_tnZref_colZref_cidZcidtidZref_tidiZtab_idZcol_org r   n/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/modelscope/preprocessors/ofa/utils/get_tables.pyconvert_fk_index
   s2   4
r   c              	      s(  t | }|d |d}|g g dgdgdgg g d}g }t| D ]\}}|d  |d   |d   d	d
 |d  }|	 fdd|D  |d }	t|	 D ]\}
}|d ||d f |d ||d  d	d
f |d  }d|v s|dksd|v sd|v r|d d nOd|v sd|v sd|v sd|v sd|v sd|v sd|v sd|v r|d d n'd|v sd |v sd!|v r|d d  nd"|v r|d d" n|d d# |d$ dkr|d% t
|d d  qeq%||d&< t||d&< |S )'zread table and column infozpragma foreign_keys=ONz2SELECT name FROM sqlite_master WHERE type='table';)*text)Zdb_idr   table_namesr   column_namescolumn_typesprimary_keysr   r   r   r   _ zPRAGMA foreign_key_list('{}') c                    s(   g | ]} |d  f|d |d fgqS )         r   ).0r   Z
table_namer   r   
<listcomp><   s   ( z'dump_db_json_schema.<locals>.<listcomp>zPRAGMA table_info('{}') r   r   r   r#   char varr   intnumericdecimalnumberidrealdoublefloatdatetimeyearbooleanZothers   r   r   )sqlite3connectexecuter   Zfetchallr   lowerreplaceformatextendlenr   )dbfconncursorr   r   r   itemZfkscurjr   Zcol_typer   r&   r   dump_db_json_schema#   s`   


"rG   )r8   r   r
   ZEXISTr   rG   r   r   r   r   <module>   s   