Ë
    ±}Gjä  ã            
       óœ  — d Z ddlZddlZddlZej
                  j                  ej
                  j                  ej
                  j                  e	«      ddddd«      «      Z
ej
                  j                  ej
                  j                  ej
                  j                  e	«      ddddd«      «      Zd	„ Z e«       \  ZZd
edededz  fd„Zy)uß   
app/services/market_price_service.py

Direct market price lookup from Agmarknet data.
Returns current price per kg and per quintal for a crop in a district.
No SARIMAX forecasting â€” uses actual recorded prices directly.
é    Nz..ÚdataÚ	processedzmarket_prices_clean.csvÚlookupzcommodity_name_map.jsonc                  óè  — 	 t        j                  t        «      } | d   j                  j	                  «       j                  j                  «       | d<   | d   j                  j	                  «       j                  j                  «       | d<   t        t        «      5 }t        j                  |«      }d d d «       | fS # 1 sw Y   ŒxY w# t        $ r }t        j                  «       i fcY d }~S d }~ww xY w)NÚdistrictÚ	commodity)ÚpdÚread_csvÚ_MARKET_CSVÚstrÚlowerÚstripÚopenÚ	_MAP_PATHÚjsonÚloadÚ	ExceptionÚ	DataFrame)ÚdfÚfÚname_mapÚes       úNC:\Crop_Prediction\Backend\crop-ai-system\app\services\market_price_service.pyÚ_loadr      sÂ   € ð"Ü�[‰[œÓ%ˆØ˜Z™.×,Ñ,×2Ñ2Ó4×8Ñ8×>Ñ>Ó@ˆˆ:‰Ø˜[™/×-Ñ-×3Ñ3Ó5×9Ñ9×?Ñ?ÓAˆˆ;‰Ü”)‹_ð 	$ Ü—y‘y “|ˆH÷	$à�8ˆ|Ð÷	$ð 	$ûô ò "Ü�|‰|‹~˜rÐ!Õ!ûð"ús6   ‚BC ÂB<Â0C Â<CÃC Ã	C1ÃC,Ã&C1Ã,C1Úcropr   Úreturnc                 óf  — t         j                  ry| j                  «       j                  «       }t        j                  ||«      }|j                  «       j                  «       }t         t         d   |k(     }|j                  ry||d   |k(     }|j                  r|}|j                  d   }t        t        |d   «      d«      t        t        |d   «      d«      t        t        |d   «      d«      t        t        |d	   «      d«      t        |d   «      d
t        |j                  dd«      «      dœS )z¼
    Returns price data for a crop in a district.
    Tries district-specific price first, falls back to state-wide average.
    Returns None if no price data available for this crop.
    Nr   r   r   Úmodal_price_per_kgé   Úmin_price_per_kgÚmax_price_per_kgÚmodal_price_per_quintalÚ	AgmarknetÚarrivaldateÚ )r   r    r!   r"   Údistrict_usedÚsourceÚdate)
Ú_dfÚemptyr   r   Ú	_name_mapÚgetÚilocÚroundÚfloatr   )r   r   Ú
crop_lowerr   Ú
dist_lowerÚrowsÚ	dist_rowsÚrows           r   Ú	get_pricer5   %   s  € ô ‡y‚yØà—‘“×#Ñ#Ó%€JÜ—‘˜z¨:Ó6€IØ—‘Ó!×'Ñ'Ó)€Jô Œs�;Ñ 9Ñ,Ñ-€DØ‡z‚zØð �T˜*Ñ%¨Ñ3Ñ4€IØ‡‚àˆ	à
�.‰.˜Ñ
€Cô $)¬¨sÐ3GÑ/HÓ)IÈ1Ó#MÜ#(¬¨sÐ3EÑ/FÓ)GÈÓ#KÜ#(¬¨sÐ3EÑ/FÓ)GÈÓ#KÜ#(¬¨sÐ3LÑ/MÓ)NÐPQÓ#RÜ#& s¨:¡Ó#7Ø#.Ü#& s§w¡w¨}¸bÓ'AÓ#Bñð ó    )Ú__doc__r   ÚosÚpandasr	   ÚpathÚnormpathÚjoinÚdirnameÚ__file__r   r   r   r)   r+   r   Údictr5   © r6   r   ú<module>rA      s¿   ðñó Û 	ã à�g‰g×ÑØ‡G�G‡L�L�—‘—‘ Ó*¨D°$¸ÀÐMfÓgó€ð �G‰G×ÑØ‡G�G‡L�L�—‘—‘ Ó*¨D°$¸ÀÐJcÓdó€	ò
	"ñ “�€€Yð"�Cð " 3ð "¨4°$©;ô "r6   