
    K:g/                        d Z ddlZ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m	Z	 ddl
mZmZmZmZmZmZmZ ddlmZmZ ddlmZm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! ddl"m#Z# ddl$m%Z%m&Z& 	 ddlZ ed      Z* ededef         Z+ ed      Z,e G d d             Z-dee,e*f   dee,e*f   fdZ. G d dej^                        Z0 ejb                  e0       ejd                  dd d!"       ejd                  d#d$ ejf                  d%&      d'(       ejd                  d)d*d+d,-       ejd                  d.d/d%d01      e.	 	 	 	 dd3e-d4e4d5e4d6e4d7e5ddfd8                                          Z6e6jo                         e.d3e-ddfd9              Z8e6jo                         e.d3e-ddfd:              Z9e6jc                  d%e0;       ejt                  d<      e.d3e-d<e4ddfd=                     Z;e;jo                  d>      e.d3e-ddfd?              Z<e;jc                  d@d%e0;      e. ejt                  dA      d3e-dAe4ddfdB                     Z=e=jo                  dC      e. ejd                  dDdEdF"       ejd                  d.dGdH"       ejd                  dIdJdKe>dL(       ejd                  dMdNdOd%P       ejd                  dQdRdSdTd%P      d3e-dUee4   dVee4   dKee>   dSee4   dWee4   ddfdX                                                 Z?e=jo                  d>      e.d3e-ddfdY              Z@e;jo                  dZ      e.d3e-ddfd[              ZAe;jo                  d\      e.d3e-ddfd]              ZBe;jo                  d^      e. ejd                  d_d`dadbd%c      d3e-d@ee4   ddfdd                     ZCe6jc                  d%e0;       ejt                  de      e.d3e-dee4ddfdf                     ZDeDjo                  dg      e.d3e-ddfdh              ZEeDjo                  di      e. ejt                  dj      d3e-dje4ddfdk                     ZFeDjo                  dl      e. ejt                  dmdndop       ejd                  dqdrd%ds1       ejd                  dtdudvd%dw1      	 	 dd3e-dmee4   dxe5dve5ddf
dy                                   ZGeDjo                  dz      e. ejt                  d{      d3e-d{e4ddfd|                     ZHeDjo                  d}      e. ejt                  d~ddop       ejd                  dtdudd%d1       ejd                  dqdrd%ds1      	 	 dd3e-d~ee4   de5dxe5ddf
d                                   ZI G d dej                        ZJdeddfdZKe6d2fdeej                  ej^                  f   de4deee4eej                  ej^                  f   f      fdZM eN eMe6            ZOePdk(  r e6        yy# e'$ r  e(ddejR                          w xY w)zW
pyAirtable exposes a command-line interface that allows you to interact with the API.
    N)	dataclass)datetimetimezone)AnyCallableIteratorOptionalSequenceTupleUnion)ContextHelpFormatter)	ParamSpecTypeVar)Api)Base)
Enterprise)Table)AirtableModel)ModelFileBuilder)chunkedis_table_idzYou are missing the 'click' library, which means you did not install
the optional dependencies required for the pyairtable command line.
Try again after running:

   % pip install 'pyairtable[cli]'
)fileTF.)boundPc                   <   e Zd ZU dZeed<   dZeed<   dZeed<   dZeed<   dZ	e
d   ed<   ej                  d	efd
       Zej                  d	efd       Zej                  d	efd       Zej                  d	efd       Zed	ej.                  fd       Zded	dfdZy)
CliContext access_tokenbase_idtable_id_or_nameenterprise_idNzclick.Contextclick_contextreturnc                 ,    t        | j                        S N)r   r"   selfs    K/var/www/html/lionshead/venv/lib/python3.12/site-packages/pyairtable/cli.pyapizCliContext.api4   s    4$$%%    c                 L    | j                   j                  | j                        S r)   )r-   baser#   r*   s    r,   r0   zCliContext.base8   s    xx}}T\\**r.   c                 L    | j                   j                  | j                        S r)   )r0   tabler$   r*   s    r,   r2   zCliContext.table<   s    yyt4455r.   c                 L    | j                   j                  | j                        S r)   )r-   
enterpriser%   r*   s    r,   r4   zCliContext.enterprise@   s    xx""4#5#566r.   c                 6    | j                   J | j                   S r)   )r&   r*   s    r,   clickzCliContext.clickD   s     !!---!!!r.   cmdc                 h    | j                   j                  s| j                   j                  |       y y r)   )r6   invoked_subcommandinvoke)r+   r7   s     r,   default_subcommandzCliContext.default_subcommandI   s&    zz,,JJc" -r.   )__name__
__module____qualname__r"   str__annotations__r#   r$   r%   r&   r	   	functoolscached_propertyr   r-   r   r0   r   r2   r   r4   propertyr6   r   r   r;    r.   r,   r    r    ,   s    L#GScM3/3M8O,3&S & & +d + + 6u 6 6 7J 7 7 "u}} " "#a #D #r.   r    funcr'   c           
           t        j                         t        j                  dt        j                  dt
        j                  dt
        j                  dt        f fd              }|S )N	click_ctxargskwargsr'   c                j    | j                  t              }| |_         | j                  |g|i |S r)   )ensure_objectr    r&   r:   )rG   rH   rI   objrE   s       r,   _wrappedzneeds_context.<locals>._wrappedO   s<     %%j1%yc;D;F;;r.   )	rA   wrapsr6   pass_contextr   r   rH   rI   r   )rE   rM   s   ` r,   needs_contextrP   N   s\    __T
<EMM <QVV <qxx <TU <  <
 Or.   c                   r     e Zd ZdZdej
                  dedeej                     f fdZ	dede
ddfdZ xZS )	ShortcutGroupzS
    A command group that will accept partial command names and complete them.
    ctxcmd_namer'   c                     t         |   ||      x}r|S | j                  |      D cg c]  }|j                  |      s| }}t	        |      dk(  rt         |   ||d         S y c c}w )N   r   )superget_commandlist_commands
startswithlen)r+   rS   rT   exactr7   existing	__class__s         r,   rX   zShortcutGroup.get_command^   sv    G'X6656L#'#5#5c#:W#:CcnnX>VC#:Wx=A7&sHQK88 Xs   A( A(	formatterNc                 b   ddl m } t        j                         D cg c]3  \  }}||j                  xs |j                  xs dj                         f5 }}}t        d |D              }|j                   |d            5  |j                  ||       d d d        y c c}}w # 1 sw Y   y xY w)Nr   )gettextr!   c              3   8   K   | ]  }t        |d            yw)r   N)r[   ).0rows     r,   	<genexpr>z0ShortcutGroup.format_commands.<locals>.<genexpr>n   s     2Tcc#a&kTs   Commands)col_max)	ra   CLI_COMMANDSitems
short_helphelpstripmaxsectionwrite_dl)r+   rS   r_   _namecommandrowsrg   s           r,   format_commandszShortcutGroup.format_commandsg   s    ( ".!3!3!5
!5g G&&<',,<"CCEF!5 	 
 2T22q}-tW5 .-
 .-s   8BB%%B.)r<   r=   r>   __doc__r6   r   r?   r	   CommandrX   r   rt   __classcell__r^   s   @r,   rR   rR   Y   sI    u}}  @W 
67 
6} 
6 
6r.   rR   clsz-kz--keyzYour API key.)rk   z-kfz
--key-fileT)existszFile containing your API key.)typerk   z-kez	--key-envVARz Env var containing your API key.)metavarrk   z-vz	--verbosezPrint verbose output.)is_flagrk   r!   rS   keykey_filekey_envverbosec                    t        |||g      s	 t        j                  d   }t        |||fD cg c]  }|s|	 c}      dkD  rt	        j
                  d      |r2t        |      5 }|j                         j                         }d d d        |rt        j                  |   }|| _
        y # t        $ r: 	 t        j                  d   }n"# t        $ r t	        j
                  d      w xY wY w xY wc c}w # 1 sw Y   qxY w)NAIRTABLE_API_KEY_FILEAIRTABLE_API_KEYz(--key, --key-file, or --key-env requiredrV   z0only one of --key, --key-file, --key-env allowed)anyosenvironKeyErrorr6   
UsageErrorr[   openreadrl   r"   )rS   r   r   r   r   arginputfs          r,   clir   u   s     Xw'(	Szz"9:H C73;3CsC3;<q@QRR(^v++-%%'C  jj!C!  	SSjj!34 S&&'QRRS 	S < ^s?   B+ C1C1'C6+	C.5C	C.	C((C.-C.6C?c                 J    t        | j                  j                                y)z/
    Print the current user's information.
    N)_dumpr-   whoamirS   s    r,   r   r      s     
#''..
r.   c                 ^    t        | j                  j                         j                         y)z#
    List all available bases.
    N)r   r-   
_base_infobasesr   s    r,   r   r      s     
#''



$
$%r.   )invoke_without_commandrz   r#   c                 <    || _         | j                  t               y)z)
    Print information about a base.
    N)r#   r;   base_schema)rS   r#   s     r,   r0   r0      s     CK;'r.   schemac                 J    t        | j                  j                                y)z 
    Print the base schema.
    N)r   r0   r   r   s    r,   r   r           
#((//
r.   r2   
id_or_namec                 <    || _         | j                  t               y)z*
    Print information about a table.
    N)r$   r;   base_table_schema)rS   r   s     r,   
base_tabler      s     &C,-r.   recordsz-fz	--formulazFilter records with a formula.z--viewzFilter records by a view.z-nz--limitmax_recordsz%Limit the number of records returned.z-Sz--sortzSort records by field(s).)rk   multiplez-Fz--fieldfieldsz!Limit output to certain field(s).formulaviewsortc           	          t        |      }t        |      }t        | j                  j                  |||||             y)z*
    Retrieve records from the table.
    )r   r   r   r   r   N)listr   r2   all)rS   r   r   r   r   r   s         r,   base_table_recordsr      sB    ( &\F:D			# 	 	
r.   c                 J    t        | j                  j                                y)z+
    Print the table's schema as JSON.
    N)r   r2   r   r   s    r,   r   r      s     
#))


r.   collaboratorsc                 J    t        | j                  j                                y)z#
    Print base collaborators.
    N)r   r0   r   r   s    r,   base_collaboratorsr      s     
#((
 
 
"#r.   sharesc                 J    t        | j                  j                                y)z
    Print base shares.
    N)r   r0   r   r   s    r,   base_sharesr      r   r.   ormz-tz--tablez Only generate specific table(s).
NAME_OR_ID)rk   r~   r   c                    |D cg c]  }t        |      s| }}|D cg c]  }t        |      r| }}t        | j                  ||      }t        j                  t
        j                        j                         }t        d|       t        d       t                t        t        |             yc c}w c c}w )z'
    Generate a Python ORM module.
    )	table_idstable_namesz*# This file was generated by pyAirtable atz?# Any modifications to this file will be lost if it is rebuilt.N)
r   r   r0   r   nowr   utc	isoformatprintr?   )rS   r2   tr   r   	generatorr   s          r,   base_ormr     s     "4Eq[^EI4#:e;q>1eK: YKXI
,,x||
$
.
.
0C	
6<	
KL	G	#i. 5:s   B6B6B;B;r%   c                 <    || _         | j                  t               y)z)
    Print information about a user.
    N)r%   r;   enterprise_info)rS   r%   s     r,   r4   r4     s     &C?+r.   infoc                 J    t        | j                  j                                y)z0
    Print information about an enterprise.
    N)r   r4   r   r   s    r,   r   r   (  s     
#..


 r.   userid_or_emailc                 L    t        | j                  j                  |             y)z'
    Print one user's information.
    N)r   r4   r   )rS   r   s     r,   enterprise_userr   1  s     
#..

k
*+r.   usersids_or_emailszID_OR_EMAIL...)r~   nargsz-cz--collaborationszInclude collaborations.z-az--all	all_userszRetrieve all users.collaborationsc           
         |r|rt        j                  d      |r-t        | j                  j	                         j
                        }|st        j                  d      t        t        |d      D ci c];  }| j                  j                  ||      D ]  }|j                  |j                   = c}}       yc c}}w )z-
    Print many users, keyed by user ID.
    z3Cannot combine --all with specific user IDs/emails.zNo user IDs or emails provided.d   r   N)r6   r   r   r4   r   user_idsr   r   r   id_raw)rS   r   r   r   chunkr   s         r,   enterprise_usersr   ;  s     ]TUUS^^002;;<@AA	 !4	
4,,U>,R GGTYYR 4	
	
s   4A B=
groupgroup_idc                 L    t        | j                  j                  |             y)z+
    Print a user group's information.
    N)r   r4   r   )rS   r   s     r,   enterprise_groupr   X  s     
#..

x
()r.   groups	group_idszGROUP_ID...
all_groupszRetrieve all groups.c           	      f   |r|rt        j                  d      |r-t        | j                  j	                         j
                        }|st        j                  d      t        |D ci c]8  }| j                  j                  ||      x}r|j                  |j                  : c}       yc c}w )z/
    Print many groups, keyed by group ID.
    z-Cannot combine --all with specific group IDs.zNo group IDs provided.r   N)
r6   r   r   r4   r   r   r   r   r   r   )rS   r   r   r   r   r   s         r,   enterprise_groupsr   b  s     iNOO,,.889	788	 &	
%--h~-VVV HHejj %	
	
s   )=B.c                   (     e Zd Zdedef fdZ xZS )JSONEncoderor'   c                 Z    t        |t              r|j                  S t        |   |      S r)   )
isinstancer   r   rW   default)r+   r   r^   s     r,   r   zJSONEncoder.default  s%    a'66Mwq!!r.   )r<   r=   r>   r   r   rw   rx   s   @r,   r   r     s    " " " "r.   r   rL   c                 L    t        t        j                  | t                     y )Nry   )r   jsondumpsr   )rL   s    r,   r   r     s    	$**Sk
*+r.   rr   prefixc              #     K   | j                   t        j                   k7  r| d| j                    j                         }| j                  D ]  }t	        |t
        j                        s|j                  s)|j                  s7|j                  j                  d      sS|j                  xs |j                   xs dj                         }t        j                  dd|      }| d| j                         } t	        | t
        j                        s|| f y| j                  j                         D ]  }t!        ||      E d{     y7 w)z
    Enumerate through all commands and groups, yielding a 2-tuple of
    a human-readable command line and the associated function.
     z...ARGz\b[A-Z]+_IDIDN)r   )rq   r   rl   paramsr   r6   Argumentrequiredr~   endswithupperresubGroupcommandsvalues_gather_commands)rr   r   paramr~   
subcommands        r,   r   r     s     ||sxx81W\\N+113%0>>emm0F0Fu0M}};

;eBBDGff^T7;Gxq	*002F   gu{{+w&&--/
#Jv>>> 0>s   A?EEB(EEE__main__)r!   r!   r!   F)FF)Qru   rA   r   r   r   sysdataclassesr   r   r   typingr   r   r   r	   r
   r   r   r6   r   r   typing_extensionsr   r   pyairtable.api.apir   pyairtable.api.baser   pyairtable.api.enterpriser   pyairtable.api.tabler   pyairtable.models._baser   pyairtable.orm.generater   pyairtable.utilsr   r   ImportErrorr   stderrr   r   r   r    rP   r   rR   r   optionPathr?   boolr   rr   r   r   argumentr0   r   r   intr   r   r   r   r   r4   r   r   r   r   r   r   r   rv   r   dictrh   r<   rD   r.   r,   <module>r     s8     	 	 
 ! ' L L L ( 0 " $ 0 & 1 4 1
 CLCxS)*cN # # #BA 8AqD> 6EKK 68 dG/2e\


$(?Fefe[%6XYdK4KL 		  	
  
  M Z g 3  : 
 t    &z &d &  & $M:	(j (3 (4 (   ;( hZ D    GDmD.J .C .D .   E. IdK&FGdH#>?dI}3=dedH#>NdIx.Q\`a	c] 3- #	
 SM 3- 
 b O f @ H  0 H: $    o$J $4 $  $ hZ D    e	+* Xc] t    $M: ,J ,s ,t ,  ! ;, F! ! !  ! F, ,# ,$ ,   , G)9Dd&;TUdG[$=RS !		C=  	
 
 T V E  
0 G
** * * *   * H]"=dG\4>TUd&;TU  		}  	
 
 V V >  
0"$"" ",s ,t ,
 25?5==%++-.?? eCu}}ekk9::;<?: $S)* zE _  	
		- 	ZZ 
	
s   4W W8