Ë
    Ãrœhÿ  ã                  ól   — d Z ddlmZ ddlZddlmZ dd„Z G d„ d«      Z G d„ d	«      Z G d
„ d«      Z	y)z<Module for classes related to identifying a Sheets document.é    )ÚannotationsN)Úsheets_sanitize_urlc                óf   — t        j                  d| «      st        dj                  | «      «      ‚| S )Nz[a-zA-Z0-9_-]+z"{}" is not a valid Sheets key)ÚreÚ	fullmatchÚ
ValueErrorÚformat)Úkeys    úy/var/www/html/ai-insurance-compliance-backend/venv/lib/python3.12/site-packages/google/generativeai/notebook/sheets_id.pyÚ_sanitize_keyr      s-   € Ü<‰<Ð(¨#Ô.ÜÐ9×@Ñ@ÀÓEÓFÐFØ€Jó    c                  ó    — e Zd ZdZdd„Zdd„Zy)Ú	SheetsURLz?Class that enforces safety by ensuring that URLs are sanitized.c                ó8   — t        j                  |«      | _        y ©N)r   Úsanitize_sheets_urlÚ_url)ÚselfÚurls     r   Ú__init__zSheetsURL.__init__   s   € Ü,×@Ñ@ÀÓEˆ	r   c                ó   — | j                   S r   ©r   ©r   s    r   Ú__str__zSheetsURL.__str__"   ó   € Øy‰yÐr   N)r   Ústr©Úreturnr   ©Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   © r   r   r   r      s   „ ÙIóFôr   r   c                  ó    — e Zd ZdZdd„Zdd„Zy)Ú	SheetsKeyz?Class that enforces safety by ensuring that keys are sanitized.c                ó$   — t        |«      | _        y r   )r   Ú_key)r   r
   s     r   r   zSheetsKey.__init__)   s   € Ü& sÓ+ˆ	r   c                ó   — | j                   S r   ©r(   r   s    r   r   zSheetsKey.__str__,   r   r   N)r
   r   r   r   r$   r   r   r&   r&   &   s   „ ÙIó,ôr   r&   c                  óH   — e Zd ZdZ	 	 	 d	 	 	 	 	 d	d„Zd
d„Zdd„Zdd„Zd„ Zy)ÚSheetsIdentifierzèEncapsulates a means to identify a Sheets document.

    The gspread library provides three ways to look up a Sheets document: by name,
    by url and by key. An instance of this class represents exactly one of the
    methods.
    Nc                ó  — || _         || _        || _        t        t	        | j                   «      «      t        t	        | j                  «      «      z   t        t	        | j                  «      «      z   }|dk7  rt        d«      ‚y)aì  Constructor.

        Exactly one of the arguments should be provided.

        Args:
          name: The name of the Sheets document. More-than-one Sheets documents can
            have the same name, so this is the least precise method of identifying
            the document.
          key: The key of the Sheets document
          url: The url to the Sheets document

        Raises:
          ValueError: If the caller does not specify exactly one of name, url or
          key.
        é   z(Must set exactly one of name, key or urlN)Ú_namer(   r   ÚintÚboolr   )r   Únamer
   r   Ú
num_inputss        r   r   zSheetsIdentifier.__init__8   sj   € ð* ˆŒ
ØˆŒ	ØˆŒ	ô œ˜dŸj™jÓ)Ó*¬S´°d·i±i³Ó-AÑAÄCÌÈTÏYÉYËÓDXÑXˆ
Ø˜Š?ÜÐGÓHÐHð r   c                ó   — | j                   S r   )r/   r   s    r   r2   zSheetsIdentifier.nameV   s   € Øz‰zÐr   c                ó   — | j                   S r   r*   r   s    r   r
   zSheetsIdentifier.keyY   r   r   c                ó   — | j                   S r   r   r   s    r   r   zSheetsIdentifier.url\   r   r   c                óÔ   — | j                   rdj                  | j                   «      S | j                  rdj                  | j                  «      S dj                  | j                  «      S )Nzname={}zkey={}zurl={})r/   r	   r(   r   r   s    r   r   zSheetsIdentifier.__str___   sK   € Ø:Š:Ø×#Ñ# D§J¡JÓ/Ð/ØYŠYØ—?‘? 4§9¡9Ó-Ð-à—?‘? 4§9¡9Ó-Ð-r   )NNN)r2   ú
str | Noner
   úSheetsKey | Noner   úSheetsURL | None)r   r8   )r   r9   )r   r:   )	r    r!   r"   r#   r   r2   r
   r   r   r$   r   r   r,   r,   0   sK   „ ñð  Ø $Ø $ð	IàðIð ðIð ó	Ió<óóó.r   r,   )r
   r   r   r   )
r#   Ú
__future__r   r   Úgoogle.generativeai.notebookr   r   r   r&   r,   r$   r   r   ú<module>r=      s7   ðñ CÝ "ã 	Ý <ó÷ñ ÷ñ ÷5.ò 5.r   