o
    Gyh                     @   s   d dl mZmZmZmZ d dlZd dlZd dlm	Z	 ddl
mZ ejddgdd	d
 Zejddgddd Zejddgddd Zejddgddd Zejddgddd Zejddgddd ZdS )    )	BlueprintapprequestjsonifyN)get_db_connection   )api_bpz/meta_keywordGET)methodsc                  C   sV   t jjdtd} t }| durtjd|| fd}ntd|}|  t|j	ddS )	uM   meta_id로 meta_keyword 목록 조회 (쿼리스트링 meta_id 사용 가능)meta_id)typeNz:SELECT * FROM meta_keyword WHERE use_yn='Y' AND meta_id=%sparamsz+SELECT * FROM meta_keyword WHERE use_yn='Y'records)orient)
r   argsgetintr   pdread_sqlcloser   to_dict)r   conndf r   A/home/skpark/git/infrasmart_work/infrasmart/api/damage_keyword.pyget_meta_keywords   s   r   z/meta_keyword/<int:keyword_id>c                 C   sH   t  }tjd|| fd}|  |jrtddidfS t|jd  S )u   특정 meta_keyword 조회z&SELECT * FROM meta_keyword WHERE id=%sr   errorz	Not foundi  r   )r   r   r   r   emptyr   ilocr   )
keyword_idr   r   r   r   r   get_meta_keyword   s   r!   POSTc                  C   s   t j} t }| }|d| d| dd| d| d| d| d| d	f |  |j}|  t	d
|idfS )uC   meta_keyword 신규 등록 (meta_id, file, line, etc 컬럼 포함)pINSERT INTO meta_keyword (keyword, use_yn, source, meta_id, file, line, etc) VALUES (%s, %s, %s, %s, %s, %s, %s)keyworduse_ynYsourcer   filelineetcid   )
r   jsonr   cursorexecuter   commit	lastrowidr   r   )datar   curnew_idr   r   r   create_meta_keyword!   s$   
r5   PUTc                 C   sp   t j}t }| }|d|d|dd|d|d|d|d| f |  |  td	d
iS )u3   meta_keyword 수정 (file, line, etc 컬럼 포함)z^UPDATE meta_keyword SET keyword=%s, use_yn=%s, source=%s, file=%s, line=%s, etc=%s WHERE id=%sr$   r%   r&   r'   r(   r)   r*   resultok)	r   r-   r   r.   r/   r   r0   r   r   )r    r2   r   r3   r   r   r   update_meta_keyword8   s"   
r9   DELETEc                 C   s8   t  }| }|d| f |  |  tddiS )u(   meta_keyword 삭제(사용안함 처리)z.UPDATE meta_keyword SET use_yn='N' WHERE id=%sr7   r8   )r   r.   r/   r0   r   r   )r    r   r3   r   r   r   delete_meta_keywordN   s   r;   z/meta_keyword/bulkc                  C   s   t j} | dg }t }| }|D ]Q}|dr@|d|d|dd|d|d|d	|d
|d|d f q|d|d|dd|d|d|d	|d
|df q|  |  tddiS )u@   meta_keyword 일괄 저장 (등록/수정, file/line/etc 포함)keywordsr+   zjUPDATE meta_keyword SET keyword=%s, use_yn=%s, source=%s, meta_id=%s, file=%s, line=%s, etc=%s WHERE id=%sr$   r%   r&   r'   r   r(   r)   r*   r#   r7   r8   )	r   r-   r   r   r.   r/   r0   r   r   )r2   r<   r   r3   rowr   r   r   bulk_save_meta_keywordsX   s@   


r>   )flaskr   r   r   r   pandasr   sqlite3utils.commonr    r   router   r!   r5   r9   r;   r>   r   r   r   r   <module>   s"    

	


	