o
    ֐hR                     @   sx   d dl Z d dlZd dlZdd Zdd Zdd Zdd	 Zd
d ZdddZdd Z	dd Z
dd Zedkr:e  dS dS )    Nc                 C   s>   i }t | d d}t|}|D ]}|d |t|d < q|S )Nz
/teams.csvrnameidopencsv
DictReaderint)	directoryteamsfinreaderrow r   7/var/www/html/fpl_model_app/scripts/utills/collector.py	get_teams   s   
r   c                 C   sb   i }i }t | d d}t|}|D ]}t|d |t|d < t|d |t|d < q||fS )Nz/fixtures.csvr   team_hr   team_ar   )r
   fixtures_homefixtures_awayr   r   r   r   r   r   get_fixtures   s   
r   c                 C   s~   i }i }dddddd}t | d dd	d
}t|}|D ]}||d  |t|d < |d d |d  |t|d < q||fS )NGKDEFMIDFWDAM)12345z/players_raw.csvr   utf-8encodingelement_typer   
first_name second_namer   )r
   	positionsnamespos_dictr   r   r   r   r   r   get_positions   s   
"r+   c                 C   sb   i }z't tj|dt|  d d}t|}|D ]}|d |t|d < qW |S    | Y S )NxP.csvr   r   )r   ospathjoinstrr   r   r	   )gwr
   xPointsr   r   r   r   r   r   get_expected_points$   s    
r4   c                 C   s   d}dt |  d }tj||}t|ddd}t|}|j}dd |D }tj||}	t|	d	dd}
tj|
|d
d}t	|  | dkrI|
  |D ]}|| qKd S )Nzmerged_gw.csvr2   r-   r   r!   r"   c                 S   s   g | ]}|qS r   r   ).0r   r   r   r   
<listcomp>7   s    zmerge_gw.<locals>.<listcomp>a

fieldnameslineterminator   )r1   r.   r/   r0   r   r   r   r:   
DictWriterprintwriteheaderwriterow)r2   gw_directorymerged_gw_filenamegw_filenamegw_pathr   r   r:   rowsout_pathfoutwriterr   r   r   r   merge_gw/   s    
rI   data/2025-26c                 C   s  g }g }t |\}}t|}t|\}	}
t| |}td| D ]\}}}|D ]{}|dkrtj||}t|d}t	
|}|j}|D ]^}t|d | krttj|dd }|	| }|
| }t|d }|d d	kst|d d
kr}|||  |d< n|||  |d< ||d< ||d< ||v r|| |d< nd|d< ||g7 }qCq'q g d| }ttj|dt|  d ddd}t	j||dd}|  |D ]}|| qd S )Nz./zgw.csvr   round_fixturewas_homeTTrueteamr   positionr,   g        )r   rR   rQ   r,   r2   r-   wr!   r"   r8   r9   )r   r   r+   r4   r.   walkr/   r0   r   r   r   r:   r	   basenamesplitr1   r=   r?   r@   )r2   directory_name
output_dirroot_directory_namerE   r:   r   r   r   r)   r(   r3   rootdirsfilesfnamefpathr   r   r   r   r   rR   rN   outfrH   r   r   r   
collect_gwD   sJ   



$r`   c                 C   s"   t ddD ]	}t|| || qd S )Nr<      )ranger`   )rW   rX   root_dirir   r   r   collect_all_gwsk   s   re   c                 C   s   t d| D ]}t|| qd S )Nr<   )rb   rI   )num_gwsrA   rd   r   r   r   merge_all_gwso   s   rg   c                   C   s   t ttjd tjd  d S )Nr<      )rg   r	   sysargvr   r   r   r   mains   s   rk   __main__)rJ   )r.   ri   r   r   r   r+   r4   rI   r`   re   rg   rk   __name__r   r   r   r   <module>   s    	
'
