o
    1iv                     @   sx   d dl Z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d Z
dd Zdd Zdd Zdd ZdS )    N)Errorc               
   C   sZ   zt jjddddd} |  r| W S W d S  ty, } ztd| W Y d }~d S d }~ww )N	localhostrootz
Gg+n)hC$hPedu_search_db)hostuserpassworddatabasezError while connecting to MySQL)mysql	connectorconnectis_connectedr   print)conne r   3/var/www/edux/Edux_v2/configs/databaseConnection.pyconnect_to_database   s   
r   c              
   C      zIz$d}|   }||f}||| |   |jdkr td ntd W n ty> } ztd| W Y d }~nd }~ww W |rH|  d S d S |rQ|  w w )NzKUPDATE search_requests SET SearchPercentCompleted = %s WHERE SearchID = %s;r   Update successfulNo rows were updated	Error: {}cursorexecutecommitrowcountr   r   formatclose)
connectioncurrentProgressPercentsearchIdupdateQueryr   datar   r   r   r   updateProgressPercentage   (   


r$   c              
   C   r   )Nz>UPDATE search_criteria SET status = %s WHERE SearchRowId = %s;r   r   r   r   r   )r   statussearchRowIdr"   r   r#   r   r   r   r   updateRowStatus2   r%   r(   c           	   
   C   s   zKz&d}|   }||||f}||| |   |jdkr"td ntd W n ty@ } ztd| W Y d }~nd }~ww W |rJ|  d S d S |rS|  w w )NzcUPDATE search_requests SET executionTime = %s, quotaUsed=%s, requestStatus=%s  WHERE searchId = %s;r   r   r   r   r   )	r   executionTime	quotaUsedr&   r!   r"   r   r#   r   r   r   r   updateExecTimeAndQuotaK   s(   


r+   c              
   C   s   d }zVz.d}|f}|   }||| | }|r&|d W W |r%|  S S W W |r0|  d S d S  tyX } ztd| |   W Y d }~W |rR|  d S d S d }~ww |r`|  w w )Nz>SELECT requestStatus FROM search_requests WHERE searchId=(%s);r   r   )r   r   fetchoner   r   r   r   rollback)r   r!   r   queryr#   resulterrr   r   r   selectStatusc   s8   
	

r1   c              
   C      d }zIz$d}||f}|   }||| |   |jdkr"td ntd W n ty@ } ztd| W Y d }~nd }~ww W |rJ|  d S d S |rS|  w w )NzCUPDATE search_requests SET requestStatus =(%s) WHERE searchId=(%s);r   r   r   r   r   r   r!   r&   r   r.   r#   r   r   r   r   updateStatus|   s*   


r4   c              
   C   r2   )NzBUPDATE search_requests SET requestStatus = %s WHERE searchId = %s;r   zDelete successfulr   r   r   r3   r   r   r   deleteRecord   s*   


r5   c                 C   s    d}||||ddf}t | ||S )NzINSERT INTO edu_search_db.search_requests(InputFileName,SearchPercentCompleted,timestamp,username,quotaUsed,requestStatus) VALUES(%s,%s,%s,%s,%s,%s);r   QueuedexecuteSqlQuery)r   fileNamepercentComplete	timestampusernameinsertQueryr#   r   r   r   insertQuerySearchRequests   s   r>   c                 C      d}||f}t | ||S )NzNUPDATE edu_search_db.search_requests SET SearchStatus = %s WHERE searchId = %sr7   )r   	search_idr&   r"   r#   r   r   r   update_search_status      rA   c                 C   r?   )NzOUPDATE edu_search_db.search_requests SET InputFileName = %s WHERE searchId = %sr7   )r   r@   new_filenamer"   r#   r   r   r   update_filename   rB   rD   c                 C   s0   d}|||||||||	|
||||f}t | ||S )NzINSERT INTO search_criteria(SearchType,Language,Standard,Subject,Topic,SubTopic,FreeTextSearch,MaxResults,MaxResultsPerPlaylists,ChannelId,LicenceType,VideoDuration,Status,SearchID) VALUES(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s);r7   )r   
searchTypelangaugestandardsubjecttopicsubtopicfreeTextSearch
maxResultsmaxVideosPerPlaylist	channelIdlicenseTypevideoDurationr&   r!   r=   r#   r   r   r   insertQuerySearchCriteria   s    rQ   c              
   C   s   zHz |   }||| |   td|j |jW W |r!|  S S  tyH } ztd| |   W Y d }~W |rB|  d S d S d }~ww |rP|  w w )NzLast inserted ID:r   )	r   r   r   r   	lastrowidr   r   r   r-   )r   r.   r#   r   r0   r   r   r   r8      s*   

r8   )mysql.connectorr
   r   r   r$   r(   r+   r1   r4   r5   r>   rA   rD   rQ   r8   r   r   r   r   <module>   s    