o
    #=Vc)                     @   s   d dl mZ d dlmZmZmZ d dlZd dlmZ ee	Z
dd Ze
jddd	gd
dd Ze
jdg dd
dd Ze	dkrHe
jdd dS dS )    )curdir)FlaskjsonifyrequestN)rec               
   C   sF   d } zt d} W | S  t jy" } zt| W Y d }~| S d }~ww )Nzbooks.sqlite)sqlite3connecterrorprint)conne r   D:\Flask\apiwithdb.pydb_connection    s   r   z/booksGETPOST)methodsc                  C   s   t  } |  }tjdkr"| d}dd | D }|d ur"t|S tjdkrNtjd }tjd }tjd }d	}|||||f}|   d
|j	 ddfS d S )Nr   zSelect * from bookc                 S   s,   g | ]}t |d  |d |d |d dqS )r            idauthorlanguagetitle)dict).0rowr   r   r   
<listcomp>2   s    zbooks.<locals>.<listcomp>r   r   r   r   zN INSERT INTO book (author, language, title)
                   VALUES (?,?,?) zBook with the id: z created successfully   )
r   cursorr   methodexecutefetchallr   formcommitZ	lastrowid)r   r    booksZ
new_authorr   Z	new_titlesqlr   r   r   r&   +   s$   





r&   z/book/<int:id>)r   PUTDELETEc                 C   s   t  }| }d }tjdkr,|d| f | }|D ]}|}q|d ur*t|dfS dS tjdkr[d}tjd }tjd }tjd	 }	| |||	d
}
|||||	| f |  t|
S tjdkrtd}||| f |  dt	| dfS d S )Nr   zSELECT * FROM book WHERE id=?   zSomething wrongr(   z9 UPDATE book SET title=?, author=?, language=? WHERE id=?r   r   r   r   r)   z DELETE FROM book WHERE id=? z*the book with the id: {} has been deleted.)
r   r    r   r!   r"   r#   r   r$   r%   format)r   r   r    Zbookrowsrr'   r   r   r   Zupdated_bookZ
sql_deleter   r   r   single_bookF   s<   





r.   __main__T)debug)osr   flaskr   r   r   r   Z
markupsafer   __name__appr   Zrouter&   r.   runr   r   r   r   <module>   s    

(