a
    0i                     @   sH   d dl mZ dd Zdd Zdd Zdd	 Zd
d Zdd Zdd ZdS )    )get_connectionc               
   C   s   d} zzJt  }|std| }||  | }dd |D W W |rP|  S  ty } z,td|  g W  Y d}~W |r|  S d}~0 0 W |r|  n|r|  0 dS )z,Obtiene los Breakers desde la base de datos.z
    SELECT
        CZE_BreakersCatalog.Item_breaker, 
        CZE_BreakersCatalog.description, 
        CZE_BreakersCatalog.price, 
        CZE_BreakersCatalog.type,
        CZE_BreakersCatalog.TechnicalSheet
    FROM
        CZE_BreakersCatalog
    4   No se pudo establecer conexión con la base de datosc                 S   s0   g | ](}|d  |d |d |d |d dqS )r               )Item_breakerdescriptionpricetypeTechnicalSheet .0rowr   r   L/var/www/html/src/Consultas_SQL/Ventas/VentasEUA/DataMaster/DMbreakersSQL.py
<listcomp>       z get_breakers.<locals>.<listcomp>z.[Error inesperado] Error obteniendo breakers: Nr   ConnectionErrorcursorexecutefetchallclose	Exceptionprint)queryconnr   resultser   r   r   get_breakers   s,    


r    c                 C   sL   t  }z2| }|d| f | }|W |r6|  S n|rF|  0 d S )Nz?SELECT COUNT(*) FROM CZE_BreakersCatalog WHERE Item_breaker = ?)r   r   r   fetchoner   )itemr   r   resultr   r   r   item_exists$   s     r$   c           	   
   C   s   d}zz<t  }|std| }||| ||||f |  W n2 tyt } ztd|  W Y d}~n
d}~0 0 W |r|  n|r|  0 dS )z-Inserta un nuevo breaker en la base de datos.z
    INSERT INTO CZE_BreakersCatalog (Item_breaker, description, price, type,TechnicalSheet)
    VALUES (?, ?, ?, ?,?)
    
    r   z-[Error inesperado] Error insertando breaker: Nr   r   r   r   commitr   r   r   )	r"   r	   r
   r   technicalSheetr   r   r   r   r   r   r   insert_breaker/   s    &
r(   c              
   C   s   d}z~z:t  }|std| }|||||| f |  W n2 tyr } ztd|  W Y d}~n
d}~0 0 W |r|  n|r|  0 dS ))Actualiza un breaker en la base de datos.zl
    UPDATE CZE_BreakersCatalog
    SET description = ?, price = ?, type = ?
    WHERE Item_breaker = ?
    r   /[Error inesperado] Error actualizando breaker: Nr%   )r"   r	   r
   r   r   r   r   r   r   r   r   update_breakerF   s    &
r+   c              
   C   s   d}zxz4t  }|std| }||| f |  W n2 tyl } ztd|  W Y d}~n
d}~0 0 W |r|  n|r|  0 dS )z'Elimina un breaker de la base de datos.zD
    DELETE FROM CZE_BreakersCatalog
    WHERE Item_breaker = ?
    r   z-[Error inesperado] Error eliminando breaker: Nr%   )r"   r   r   r   r   r   r   r   delete_breaker[   s    &
r,   c               
   C   s   zzbt  } | std|  }|d | }|sHg W W | rF|   S dd |D W W | rd|   S  ty } z,td|  g W  Y d }~W | r|   S d }~0 0 W | r|   n| r|   0 d S )Nr   z<SELECT Item_breaker, TechnicalSheet FROM CZE_BreakersCatalogc                 S   s   g | ]}|d  |d dqS )r   r   )r   r   r   r   r   r   r   r   y   r   zsearchitems.<locals>.<listcomp>z/[Error inesperado] Error consultando breakers: r   )r   r   r   r   r   r   r   searchitemso   s4    

r-   c              
   C   s   d}zzz6t  }|std| }|||| f |  W n2 tyn } ztd|  W Y d}~n
d}~0 0 W |r|  n|r|  0 dS )r)   zZ
    UPDATE CZE_BreakersCatalog
    SET TechnicalSheet = ?
    WHERE Item_breaker = ?
    r   r*   Nr%   )r"   r   r   r   r   r   r   r   r   update_breaker_TechnicalSheet   s    &
r.   N)	Consultas_SQL.conexionr   r    r$   r(   r+   r,   r-   r.   r   r   r   r   <module>   s   