import sqlite3
import os
import json
# from tqdm import tqdm

db = "sict_csic.db"
gen_path = lambda x : f'json_files/{x}'

# ################################################################
#         CREAR LA BASE DE DATOS
# ################################################################

# Verificar si la base de datos existe y eliminarla
if os.path.exists(db):
  os.remove(db)
  print("Base de datos existente eliminada.")
    
# Conectar a la base de datos (se crea si no existe)
conexion = sqlite3.connect(db)
cursor = conexion.cursor()
    

# ################################################################
#         CREAR TABLA DE COORDENADAS
# ################################################################

# Crear una tabla para almacenar JSON
cursor.execute(
    '''
    CREATE TABLE IF NOT EXISTS coordenadas_mexico (
      id INTEGER PRIMARY KEY AUTOINCREMENT,
      json_data TEXT NOT NULL
      )
    ''')
    
# Leer el archivo JSON
with open(gen_path('coordenas_unicas.json'), 'r', encoding='utf-8-sig') as f:
  json_coordenadas = json.load(f)
    
# Insertar el JSON en la tabla
q_coordenadas = "INSERT INTO coordenadas_mexico (json_data) VALUES (?)" 
cursor.execute(q_coordenadas, (json.dumps(json_coordenadas),))

# ################################################################
#         CREAR TABLA DE DIR_CSIC
# ################################################################

cursor.execute('''
  CREATE TABLE IF NOT EXISTS dir_csict (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    json_data TEXT NOT NULL
  )
''')

# Leer el archivo JSON
with open(gen_path('DirectorioCSICT.json'), 'r', encoding='utf-8-sig') as f:
  json_dir_csic = json.load(f)

q_dir_csic = "INSERT INTO dir_csict (json_data) VALUES (?)" 
cursor.execute(q_dir_csic, (json.dumps(json_dir_csic),))


# ################################################################
#         CREAR TABLA DE SITIOS
# ################################################################

cursor.execute(
'''
CREATE TABLE sitios (
id INTEGER PRIMARY KEY AUTOINCREMENT,
json_data TEXT NOT NULL
);
''')

# Leer el archivo JSON
with open(gen_path('sitios.json'), 'r', encoding='utf-8-sig') as f:
  json_sitios = json.load(f)

q_sitios = "INSERT INTO sitios (json_data) VALUES (?)" 
cursor.execute(q_sitios, (json.dumps(json_sitios),))

# Guardar cambios y cerrar conexión
conexion.commit()
conexion.close()
print("base de datos creada exitosamente")

