
    0g                        d dl mZmZmZmZmZ d dlmZ d dlZd dlZd dl	Z	d dl
Z
dZdZd Zd ZddZ ej                   d	      d
        Z ej                   d      d        Z ej                   d      d        Z ej                   d      d        Z ej                   d      d        Z ej                   d      d        Zy)    )render_templateredirecturl_forflashjsonify)appNzstatic/images/series/zsets/c                      g } t        j                  t              D ]U  }|j                  d      s|j	                  dd      j	                  dd      }dt         | }| j                  ||d       W | S )zFGenerate series list by reading logo filenames and matching JSON data.z.png_  /)namelogo)oslistdirSERIES_LOGO_PATHendswithreplaceappend)series_listfilenameseries_nameseries_logos       R/home/karimhmd/Desktop/Master/Term2-NoOneDrive/DBW/WebsiteProject/routes/series.pyget_series_listr      s|    KJJ/0 KV$"**34<<VRHK./z:K[IJK     c                 r   | j                  dd      }t        j                  j                  t        |d      }g }t        j                  j                  |      rt        j                  |      D cg c]  }|j                  d      s| }}|j                  d        |D ]  }|j                  d      st        t        j                  j                  ||      d      5 }t        j                  |      }d|v r!d	|v r|j                  |d    d
|d	   d       ddd        |S c c}w # 1 sw Y   xY w)z,Load all card JSON files for a given series.r   r
   cards.jsonc                 ^    t        t        j                  d|       j                  d            S )Nz(\d+)_   )intrematchgroup)fs    r   <lambda>z&get_cards_for_series.<locals>.<lambda>!   s!    c"((9a*@*F*Fq*I&J r   )keyrimager   	/high.pngr*   r   N)r   r   pathjoin	SETS_PATHexistsr   r   sortopenjsonloadr   )r   formatted_nameseries_path	card_listr&   
json_filesfile	card_datas           r   get_cards_for_seriesr;      s    ((c2N'',,y.'BKI	ww~~k"!#K!8PAAJJw<OaP
P 	JK 	D}}W%"'',,{D93? 1 $		!I)+)0C!(((1'(:';9%E$-f$5*  	  Q s   0D(D(!;D--D6	c           	      ~   | j                  dd      }t        j                  j                  t        |d      }t        j                  j                  |      sg S t        j                  |      D cg c]  }|j                  d      s| }}t        j                  |t        |t        |                  }g }|D ]o  }t        t        j                  j                  ||      d      5 }t        j                  |      }	d|	v r!d|	v r|j                  |	d    d|	d   d	       d
d
d
       q |S c c}w # 1 sw Y   xY w)z.Randomly selects a set of cards from a series.r   r
   r   r   r)   r*   r   r+   r,   N)r   r   r-   r.   r/   r0   r   r   randomsampleminlenr2   r3   r4   r   )
r   	num_cardsr5   r6   r&   r8   selected_filesr   r9   r:   s
             r   get_random_cardsrC   /   s    ((c2N'',,y.'BK77>>+&	ZZ4L

78K!LJL]]:s9c*o/NONE e"'',,{D137 	e1		!I)#)(;)G*<)=Y'GQZ[aQbcd	e 	ee L M
	e 	es   0D.D.';D33D<	r   c                      t        d      S )Nz
index.htmlr    r   r   indexrG   C   s    <((r   z/browsec                      t        d      S )Nzbrowse.htmlrE   rF   r   r   browserI   G   s    =))r   z/profilec                      t        d      S )Nzprofile.htmlrE   rF   r   r   profilerK   K   s    >**r   z/series/<series_name>c                 X    | j                  dd      } t        |       }t        d| |      S )Nr
   r   zseries.htmlr   card_images)r   r;   r   rM   s     r   seriesrO   O   s-    %%c3/K&{3K=k{[[r   z/open_pack/<series_name>c                 .    t        |       }t        |      S )z5Opens a pack and returns a random selection of cards.)rC   r   )r   r   s     r   	open_packrQ   V   s     [)E5>r   z/packs.htmlc                      t        d      S )zRenders the pack opening page.z
packs.htmlrE   rF   r   r   packsrS   \   s     <((r   )   )flaskr   r   r   r   r   r   r   r3   r#   r=   r   r/   r   r;   rC   routerG   rI   rK   rO   rQ   rS   rF   r   r   <module>rW      s    D D   * 	2( 3) ) 9* * :+ + "#\ $\ %& '
 =) )r   