
    $hz                         d dl mZmZmZ d dlmZ d dlZd dlZ e       ZdZ	d Z
d#dZd Zej                  d      d#d	ed
edefd       Zej                  d      d        Zej                  d      d#d	ed
edefd       Zej                  d      defd       Zej                  d      d#d	ed
edefd       Zej                  d      defd       Zej                  d      d#d	ed
edefd       Zej                  d      defd       Zej                  d      d#d	ed
edefd       Zej                  d      defd       Zej                  d      d#d	ed
edefd        Zej                  d!      defd"       Zy)$    )	APIRouterHTTPExceptionQuery)ListNz&./src/menu_design/designer/static/jsonc           
         	 t        t        j                  j                  t        |       d      5 }t        j                  |      cd d d        S # 1 sw Y   y xY w# t        $ r!}t        dd|  dt        |             d }~ww xY w)Nri  zError reading z: )status_codedetail)
openospathjoinSTATIC_PATHjsonload	Exceptionr   str)	file_namefilees      >/var/www/html/hubwallet-dev/src/menu_design/designer/router.pyread_json_filer      sv    \"'',,{I6< 	#99T?	# 	# 	# \nYKrRUVWRXQY4Z[[\s4   .A A	A AA A 	B$B  Bc                     ||z  }||z   }| D cg c]5  }|j                         |j                  dd      j                         v s4|7 }}||| S c c}w )Ndesc )lowerget)datasizeindexkeywordstart_index	end_indexitemfiltereds           r   paginate_arrayr&      s\    $,Kd"I!%YDHHVR<P<V<V<X)XYHYK	** Zs   5AAc                    | sg S | j                         } |D ch c]<  }|j                  dd      j                         j                         D ]	  }| |v s| > }}}t        |      D cg c]  \  }}|dz   |d c}}S c c}}w c c}}w )Nr   r      )idname)r   r   split	enumerate)queryr   r$   kwunique_keywordsidxs         r   search_keywordsr1      s    	KKME&*idTXXfb5I5O5O5Q5W5W5Yir]bfh]hririOi7@7QRGC37B'RR jRs   :BB,Bz/api/v1/fontspspir.   c                 \   K   t        d      j                  dg       }t        || ||      S w)N
fonts.jsonr   r   r   r&   r2   r3   r.   r   s       r   	get_fontsr8   $   .     ,'++FB7D$B++   *,z/api/v1/draft-fontsc                  *  K   t        d      j                  dg       } | D cg c]U  }|d   |j                  di       j                         D cg c]!  \  }}|d    d|j                          ||d# c}}dW }}}}d|iS c c}}w c c}}}w w)	Nr5   itemsfamilyfiles )r*   styleurl)r=   stylesr   )r   r   r<   
capitalize)r   fontr@   r   	formatteds        r   get_draft_fontsrF   )   s     ,'++GR8D  
  8n*.((7B*?*E*E*GI&5$ $(>"2!E4D4D4F3G HSXaef I	
I  I	Is(   "B,B&B6B>BBBz/api/v1/templatesc                 `   K   t        d      j                  dg       }t        || ||      }|S wNztemplates.jsonr   r6   )r2   r3   r.   r   paginated_datas        r   get_templatesrJ   7   s4     *+//;D#D"b"5Ns   ,.z/api/v1/template-suggestionc                 X   K   t        d      j                  dg       }t        | |      S wrH   r   r   r1   r.   r   s     r   template_suggestionrN   >   s+     *+//;D2t$$   (*z/api/v1/textsc                 \   K   t        d      j                  dg       }t        || ||      S wNz
texts.jsonr   r6   r7   s       r   	get_textsrR   E   r9   r:   z/api/v1/text-suggestionc                 X   K   t        d      j                  dg       }t        | |      S wrQ   rL   rM   s     r   text_suggestionrT   J   s*     ,'++FB7D2t$$rO   z/api/v1/imagesc                 \   K   t        d      j                  dg       }t        || ||      S wNzimages.jsonr   r6   r7   s       r   
get_imagesrW   Q   .     -(,,VR8D$B++r:   z/api/v1/image-suggestionc                 X   K   t        d      j                  dg       }t        | |      S wrV   rL   rM   s     r   image_suggestionrZ   V   *     -(,,VR8D2t$$rO   z/api/v1/framesc                 \   K   t        d      j                  dg       }t        || ||      S wNzframes.jsonr   r6   r7   s       r   
get_framesr^   ]   rX   r:   z/api/v1/frame-suggestionc                 X   K   t        d      j                  dg       }t        | |      S wr]   rL   rM   s     r   frame_suggestionr`   b   r[   rO   z/api/v1/shapesc                 \   K   t        d      j                  dg       }t        || ||      S wNzshapes.jsonr   r6   r7   s       r   
get_shapesrc   i   rX   r:   z/api/v1/shape-suggestionc                 X   K   t        d      j                  dg       }t        | |      S wrb   rL   rM   s     r   shape_suggestionre   n   r[   rO   )   r   r   )fastapir   r   r   typingr   r   r   routerr   r   r&   r1   r   intr   r8   rF   rJ   rN   rR   rT   rW   rZ   r^   r`   rc   re        r   <module>rm      s:   3 3   		 7\+S O, ,c ,3 , , !"	 #	  C # s  ! )*%# % +% O, ,c ,3 , , %&%c % '% , ,s ,C , , &'%s % (% , ,s ,C , , &'%s % (% , ,s ,C , , &'%s % (%rl   