
    5j                     j    S SK r S SKrSSKJrJrJr  S\S\4S jrS r	S r
S	 rS
 rS rS rS rS rg)    N   )	parse_urlurljoincfs_datetime_adapternamereturnc                 r    SU ;  a  U $ SR                  S [        U R                  S5      5       5       5      $ )z
Convert names from snake_case to camel case
with first letter in lower case

Parameters
----------
name : str

Examples
--------
>>> _convert_name("fileset_id")
... 'filesetId'
_ c              3   V   #    U  H  u  pUS :X  a  UOUR                  5       v   M!     g7f)r   N)title).0iwords      \/root/lseg-credit/backend/venv/lib/python3.13/site-packages/lseg/data/delivery/cfs/_tools.py	<genexpr> _convert_name.<locals>.<genexpr>   s%     ^C]164tzz|3C]s   '))join	enumeratesplit)r   s    r   _convert_namer      s3     $77^9TZZX[_C]^^^    c                      / nU R                  5        H>  u  p#Uc  M
  UR                  S5      (       a  M"  UR                  [        U5      U45        M@     U$ )Nr
   )items
startswithappendr   )kwargs_query_parameterskeyvalues       r   _get_query_paramsr!      sN    lln
S^^C%8%8$$mC&8%%@A % r   c                 f    U R                  S5      nU R                  SU 35      n[        X#5      nU$ )Nurlz
endpoints.)get_strr   )configendpointbase_urlendpoint_url_urls        r   _get_urlr*   #   s4    ~~e$H>>Jxj"9:L8*DKr   c                     [        U5      R                  n[        [        R                  R                  U5      5      nUR                  U 5      $ N)r   querydicturllibparse	parse_qslget)paramr#   r-   query_paramss       r   _get_query_parameterr5   *   s;    cN  E..u56LE""r   c                 6    U c  g [         R                  " U 5      $ r,   )r   r$   )r    s    r   _convert_date_timer7   3   s    }''..r   c                  z    [         R                  R                  " U 6 n[         R                  R                  U5      $ r,   )ospathr   normpath)argsr:   s     r   	path_joinr=   9   s)    77<<D77D!!r   c                     U (       d  g [         R                  R                  U 5      (       d  [         R                  " U 5        g g r,   )r9   r:   existsmakedirs)folders    r   create_dirs_if_no_existsrB   >   s,    77>>&!!
F "r   c                 ,    U R                  SS5      tpU$ )N.   )rsplit)filename_ext_extfilename_extr
   s      r   remove_one_extrI   F   s    '..sA6Lr   c                     [        U 5      $ r,   )rI   )rH   s    r   
remove_extrK   K   s    ,''r   )r9   urllib.parser/   _toolsr   r   r   strr   r!   r*   r5   r7   r=   rB   rI   rK    r   r   <module>rP      sO    	  > >_ _ _(#/"

(r   