U
    °4Žg¢  ã                   @   sŒ   d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dl mZ ddl
mZ ddlmZ d d	lmZmZ d
d„ ZG dd„ de	ƒZdS )é    )Úrender)ÚJsonResponse)Úcsrf_exempt)Úmethod_decorator)ÚViewé   )ÚPasswordQuery)Ú
SearchForm)ÚprocessÚfuzzc           
      C   sÚ   t ƒ }g }d}d}| jdkrÄt | jƒ}| ¡ rÄ|jd }t| ¡ ƒdk rNd}nvtj 	¡ j
ddd	�}tj||d
tjd�}|rÀ|d d }|d d dkrºtjj|d�}	| |	j|	jdœ¡ qÄd}nd}t| d||||dœƒS )NFÚ ÚGETÚqueryé   z(Please search with at least three words.ÚquestionT©Úflaté   ©ÚlimitZscorerr   r   éF   ©r   ©r   Úanswerzsearch.html)ÚformÚresultsÚ
no_resultsÚerror_message)r	   Úmethodr   Úis_validÚcleaned_dataÚlenÚsplitr   ÚobjectsÚallÚvalues_listr
   Úextractr   Úpartial_ratioÚgetÚappendr   r   r   )
Úrequestr   r   r   r   r   Úall_queriesÚbest_matchesÚ
best_matchÚresult© r/   úY/var/www/ai-model.devtechnosys.tech/public_html/python-ai-model/password_queries/views.pyÚsearch_queries'   s2    


ür1   c                   @   s   e Zd Zdd„ ZdS )ÚSearchQueryViewc                 O   s  g }t |jƒ}| ¡ rê|jd }td|› �ƒ t| ¡ ƒdk rPtd|dœdd�S tj	 
¡ jdd	d
�}tj||dtjd�}td|ƒ |rÄ|d d dkrÄ|d d }	tj	j|	d�}
| |
j|
jdœ¡ |rÖt|ddd�S td|dœdd�S ntd|jdœdd�S d S )Nr   zSearching for: r   z(Query must contain at least three words.)Úerrorr   i�  )Ústatusr   Tr   r   r   zBest matches:r   r   éK   r   r   FéÈ   )Úsafer4   zNo matches foundi”  zInvalid form data)r3   Údetails)r	   r   r   r    Úprintr!   r"   r   r   r#   r$   r%   r
   r&   r   r'   r(   r)   r   r   Úerrors)Úselfr*   ÚargsÚkwargsr   r   r   r+   r,   r-   r.   r/   r/   r0   r(   f   s.    

þý
zSearchQueryView.getN)Ú__name__Ú
__module__Ú__qualname__r(   r/   r/   r/   r0   r2   e   s   r2   N)Zdjango.shortcutsr   Údjango.httpr   Údjango.views.decorators.csrfr   Údjango.utils.decoratorsr   Údjango.viewsr   Úmodelsr   Úformsr	   Z
fuzzywuzzyr
   r   r1   r2   r/   r/   r/   r0   Ú<module>   s   >