U
    +e)                     @   s  d dl Z d dlZd dlZd dl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mZmZmZmZmZmZmZmZmZmZ dd	d
dddddgddddddgdddddddddddd d!g
dd"d#d$d%gdd&d&d'd(gdd)d*d+d,d-gdd.d/d0d1gdd2d3d4d5d6d7gdd8d9d:gdd;d<d
d=d>d?gdd@dAdBgddCdDdEdFdGgdgZedHZG dIdJ dJeZG dKdL dLeZdMdN ZdOdP ZdQdR ZG dSdT dTeZ G dUdV dVeZ!G dWdX dXeZ"G dYdZ dZeZ#G d[d\ d\eZ$dS )]    Nrender)TemplateView)JsonResponse)View   )speech_wordsexcel_to_json_epgexcel_to_json_viewsadd_show_to_viewsadd_calcul_to_epggenerate_static_jsonget_excel_adscount_ads_by_brandget_brands_by_idget_week_datescount_ads_by_dateread_json_file zSelect a Categorie)idnameZtelecommunicationsZTelecommunicationsZInwiZOrangezMaroc-Telecom)r   r   brandsZ
automotiveZ
AutomotiveZDaciaZSkodaZpeugeotzfood-and-beveragezFood and BeverageZAichaZDariStarZKaynaz
La prairieZAstaZLeader_ChipsZLesieurZKinderZConikosZtravelZTravelZoncefZramZHomeZrichbondZLbassmazhealth-and-beautyzHealth and BeautyZGarnierZorielZMiaz"laundry-detergents-and-fabric-carez"Laundry detergents and fabric careZArialZMioZretailZRetailZ	CarrefourZMarjanezElectro-planetzmorocco-mallZ	educationZ	EducationZOFPPTZ
governmentZ
Governmentz
non-profitz
Non-profitZNARSAZgazZGazz	Tisir-gazZfinanceZFinancez	cash plusZchaabiZsendwavezP/var/www/html/Presentation_Sanoa_Al_oula_2024/src/media/AlOula_France_SFR_1.xlsxc                       s    e Zd ZdZ fddZ  ZS )DashboardViewzpages/index.htmlc                    s   i }t  jf |}||d< |S )Ndata)superget_context_data)selfkwargsr   context	__class__ I/var/www/html/Presentation_Sanoa_Al_oula_2024/src/apps/dashboard/views.pyr   h   s    zDashboardView.get_context_data)__name__
__module____qualname__template_namer   __classcell__r"   r"   r    r#   r   e   s   r   c                   @   s   e Zd Zdd Zdd ZdS )StatsAndEPGViewc                 C   s   d}i }t |||S )Nzpages/stats_and_epg.htmlr   r   requestr'   r   r"   r"   r#   gets   s    zStatsAndEPGView.getc                    s\   |j d}|rPtj|d   fddtD }d|i}t| t|ddS ti ddS )Ndate%Y-%m-%dc                    s*   g | ]"}t j |d  d  kr|qS )r-   r.   )datetimestrptimer-   ).0ZdatumZdate_objr"   r#   
<listcomp>   s      z(StatsAndEPGView.post.<locals>.<listcomp>Zviewership_dataapplication/jsoncontent_type)POSTr,   r/   r0   r-   
views_dataprintr   )r   r+   r-   Zfiltered_views_datar   r"   r2   r#   posty   s     zStatsAndEPGView.postNr$   r%   r&   r,   r:   r"   r"   r"   r#   r)   q   s   r)   c                    sf   t d g }tD ]H}|dg }|ddkr8||  fdd|D }|r|| qt|ddS )	NF/var/www/html/Presentation_Mo_V2/src/media/media_planning_14-21_v2.csvr   r   r   c                    s&   g | ] t  fd dD r qS )c                 3   s   | ]}| d  kV  qdS )ZBrandN)r,   )r1   adZbrandr"   r#   	<genexpr>   s     z,get_categories.<locals>.<listcomp>.<genexpr>)any)r1   ads_datar>   r#   r3      s      z"get_categories.<locals>.<listcomp>F)safe)r   categories_datar,   appendr   )r+   Zupdated_categoriescategoryr   Zmatching_brandsr"   rA   r#   get_categories   s    
rG   c                 C   s0   g }t D ]}d|kr||d  qtd|iS )z=
    Returns a list of all brands across all categories.
    r   )rD   extendr   )r+   Z
all_brandsrF   r"   r"   r#   
get_brands   s
    rI   c                 C   s>   t D ],}|d |krd|krtd|d i  S qtdg iS )zK
    Returns a list of brands associated with the given category name.
    r   r   )rD   r   )r+   category_idrF   r"   r"   r#   get_brands_by_category   s    rK   c                   @   s   e Zd Zdd Zdd ZdS )MediaPlanningViewc                 C   s   d}i }t |||S )Nzpages/media_planning.htmlr   r*   r"   r"   r#   r,      s    zMediaPlanningView.getc                    s8  |j d}|j d}|j d}|j d}|j d}td}|r|dkr|dkrhd	tt|n|}t||}	d
|	d}
n|r|dkrt  dt|t	|dg}	d|	d}
nv|r(|dkr(dd l
 dddddddg}d}g }	|D ].} fddt|D }||d}|	| qd|	d}
ni }
t|
ddS )NrJ   r   weekdayvaluer<   Zcomparison_brands_categoryr   ,ZPieAdsChart)Zchartr   Zcolumns_ads_chartz	Ads Count)r   r   ZColumnsAdsChartZspline_ads_chartr   MonTueWedThuFriSatSun   c                    s   g | ]}  d dqS )r      )randint)r1   _randomr"   r#   r3      s     z*MediaPlanningView.post.<locals>.<listcomp>ZSplineAdsChartr4   r5   )r7   r,   r   joinr   rD   r   r9   r   r   r]   rangerE   r   )r   r+   rJ   Zbrands_listZselected_weekZselected_dayZ
chart_typerB   Z	brand_strZ
chart_dataresponsenamesZnum_data_pointsr   Zdata_pointsitemr"   r\   r#   r:      sD    

zMediaPlanningView.postNr;   r"   r"   r"   r#   rL      s   rL   c                   @   s   e Zd Zdd Zdd ZdS )VideoAnalysisViewc                 C   s   d}i }t |||S )Nzpages/video_analysis.htmlr   r*   r"   r"   r#   r,      s    zVideoAnalysisView.getc                 C   s"   t dddd}d|i}t|ddS )NzX/var/www/html/Presentation_Sanoa_Al_oula_2024/src/media/segment_2024_01_05_13_41_41.jsonzi/var/www/html/Presentation_Mo_V2/src/media/Info_Soir_Dimanche_07_Mai_2023_2023_05_08_19_46_02_static.jsonP   Zconfidence_valuedetected_objectsr4   r5   r   r   r   r+   rf   Zanalysis_resultsr"   r"   r#   r:      s    	 zVideoAnalysisView.postNr;   r"   r"   r"   r#   rc      s   rc   c                   @   s   e Zd Zdd Zdd ZdS )VideoAnalysisNewsViewc                 C   s   d}i }t |||S )Nzpages/video_analysis_news.htmlr   r*   r"   r"   r#   r,     s    zVideoAnalysisNewsView.getc                 C   s"   t dddd}d|i}t|ddS )Nzd/var/www/html/Presentation_Sanoa_Al_oula_2024/src/media/JT_segment_04012024_2024_01_08_10_10_37.jsonrd   re   rf   r4   r5   rg   rh   r"   r"   r#   r:     s    	 zVideoAnalysisNewsView.postNr;   r"   r"   r"   r#   ri     s   ri   c                   @   s   e Zd Zdd Zdd ZdS )DynamicAdInsertionViewc                 C   s   d}i }t |||S )Nzpages/dynamicAdInsertion.htmlr   r*   r"   r"   r#   r,   -  s    zDynamicAdInsertionView.getc                 C   s   d S Nr"   r   r+   r"   r"   r#   r:   2  s    zDynamicAdInsertionView.postNr;   r"   r"   r"   r#   rj   +  s   rj   c                   @   s   e Zd Zdd Zdd ZdS )AdtlasPresentationViewc                 C   s   d}i }t |||S )Nzpages/AdtlasPresentation.htmlr   r*   r"   r"   r#   r,   7  s    zAdtlasPresentationView.getc                 C   s   d S rk   r"   rl   r"   r"   r#   r:   <  s    zAdtlasPresentationView.postNr;   r"   r"   r"   r#   rm   5  s   rm   )%r/   osjsonZjsonlintZdjango.shortcutsr   Zdjango.views.genericr   django.httpr   django.viewsr   utilsr   r	   r
   r   r   r   r   r   r   r   r   r   rD   r8   r   r)   rG   rI   rK   rL   rc   ri   rj   rm   r"   r"   r"   r#   <module>   s    8	
QD
