
    _j              	           S r SSKJrJrJr  SSKJrJrJr  SSK	J
r
Jr  SS\S\\   S	\\\4   4S
 jjrSS\
S\S\\   S	\4S jjrg)z-
Mapping functionality for Firecrawl v2 API.
    )OptionalDictAny   )
MapOptionsMapData
LinkResult)
HttpClienthandle_response_errorNurloptionsreturnc                    U (       a  U R                  5       (       d  [        S5      eSU R                  5       0nUGbI  0 n[        USS 5      b  UR                  US'   UR                  b  UR                  US'   UR
                  b  UR
                  US'   UR                  b  UR                  US'   UR                  b*  UR                  S::  a  [        S5      eUR                  US	'   UR                  b  UR                  US
'   UR                  b<  UR                  R                  5       (       a  UR                  R                  5       US'   UR                  b  UR                  R                  SS9US'   UR                  U5        U$ )NzURL cannot be emptyr   sitemapsearchincludeSubdomainsignoreQueryParametersr   zLimit must be positivelimittimeoutintegrationT)exclude_nonelocation)strip
ValueErrorgetattrr   r   include_subdomainsignore_query_parametersr   r   r   r   
model_dumpupdate)r   r   payloaddatas       M/home/rurouni/.local/lib/python3.13/site-packages/firecrawl/v2/methods/map.py_prepare_map_requestr#   
   s]   ciikk.//$ciik2G!7It,8%ooDO>>%$^^DN%%1(/(B(BD$%**6,3,K,KD()==$}}! !9::#MMDM??&%ooDO*w/B/B/H/H/J/J")"5"5";";"=D'&//:::MDtN    clientc           
      \   [        X5      nU R                  SU5      nUR                  (       d  [        US5        UR	                  5       nUR                  S5      (       d  [        UR                  SS5      5      e/ nUR                  S/ 5       H  n[        U[        5      (       aJ  UR                  [        UR                  SS5      UR                  S	5      UR                  S
5      S95        Mb  [        U[        5      (       d  My  UR                  [        US95        M     [        US9$ )zN
Map a URL and return MapData (links list with optional titles/descriptions).
z/v2/mapmapsuccesserrorzUnknown error occurredlinksr    titledescription)r   r,   r-   )r   )r*   )r#   postokr   jsonget	Exception
isinstancedictappendr	   strr   )r%   r   r   request_dataresponsebodyresult_linksitems           r"   r'   r'   +   s     (5L{{9l3H;;h.==?D88I*BCDD" &(L"%dD!!+((7+ $ 7 c""
t 45 & &&r$   )N)__doc__typingr   r   r   typesr   r   r	   utilsr
   r   r6   r#   r'    r$   r"   <module>rA      sl    ' & 3 3 5c HZ,@ DQTVYQYN B)'
 )' )'x
/C )'w )'r$   