
    Ti                     4   d dl mZ ddlmZ  G d de      Z G d de      Z G d d	e      Z G d
 de      Z	 G d de      Z
 G d de
      Z G d de
      Z G d de
      Z G d de      Z G d de      Z G d de      Z G d de      ZddlmZmZ y)    )warn   )	VARIABLESc                   L     e Zd Z e        e       g fdZd Zd Z fdZ xZS )
CustomDictc                    t        |j                               }||z
  }|rt        ddj                  |      z         t               }|D ])  }||z  st        ddj                  |      z         ||z  }+ ||z
  |z
  |z
  }	|	rE| j                  j
                  }
t        dj                  |
      dz   dj                  |	      z          | j                  |       y )Nz.The following required arguments are missing: , zRequire at least one of: z#The following arguments for {} are zunsupported: )	setkeys	TypeErrorjoin	__class____name__r   formatupdate)selfargsrequiredoptionalrequired_orpassed_keywordsmissingrequired_or_mergedrequired_optionsunsupportedcls_names              K/home/agent/.local/lib/python3.12/site-packages/citeproc/source/__init__.py__init__zCustomDict.__init__   s    diik*_,L IIg./ 0 0 U + 	3"%55 ; $		*: ;!< = ="22		3
 &08;>PP~~..H6==hG !#'99[#9: ;D    c                     || |<   y N )r   namevalues      r   __setattr__zCustomDict.__setattr__   s    T
r   c                     | |   S r!   r"   )r   r#   s     r   __getattr__zCustomDict.__getattr__"   s    Dzr   c                 R    	 t         t        |   |      S # t        $ r t        w xY wr!   )superr   __getitem__KeyErrorVariableError)r   keyr   s     r   r*   zCustomDict.__getitem__%   s/    	 T6s;; 	 	 s    &)	r   
__module____qualname__r
   r   r%   r'   r*   __classcell__r   s   @r   r   r      s'    &)ece &   r   r   c                   $     e Zd Z fdZd Z xZS )	Referencec                 t    || _         || _        h dt        t              z  }t        t
        |   ||       y )N>   uridatecontributorcontainer_urir   )r-   typer
   r   r)   r3   r   )r   r-   r:   r   r   r   s        r   r   zReference.__init__-   s6    	C	N#i'x'@r   c                 b    dj                  | j                  j                  | j                        S N{}({})r   r   r   r-   r   s    r   __repr__zReference.__repr__5   !    t~~66AAr   r   r.   r/   r   r@   r0   r1   s   @r   r3   r3   ,   s    ABr   r3   c                       e Zd Zy)r,   N)r   r.   r/   r"   r   r   r,   r,   9   s    r   r,   c                   $     e Zd Z fdZd Z xZS )Namec                 p    d|v rdht               }}nt               }h d}t        t        |   |||       y )Nliteral>   givenfamilysuffixdropping-particlenon-dropping-particle)r
   r)   rE   r   r   r   r   r   r   s       r   r   zName.__init__>   s9    "+cehHuH"HdD"48<r   c                     d| v r
d | d   d d d fS | j                  d      | j                  d      | j                  d      | j                  d      | j                  d      fS )NrG   rH   rI   rK   rL   rJ   )getr?   s    r   partsz
Name.partsG   sg    $y/4t<<HHW%txx'9HH01HH45txx7IK Kr   )r   r.   r/   r   rP   r0   r1   s   @r   rE   rE   =   s    =Kr   rE   c                   8     e Zd Z e        e       f fd	Z xZS )DateBasec                 P    dh|z  }t         t        |   |||       d| vrd| d<   y y )NcircaF)r)   rR   r   rM   s       r   r   zDateBase.__init__Q   s8    9x'h&tXx@$!DM r   )r   r.   r/   r
   r   r0   r1   s   @r   rR   rR   P   s    &)ece " "r   rR   c                   *     e Zd Z fdZd Zd Z xZS )Datec                     dh}h d}d|v rd|vrt        d      |j                         D ]  \  }}	 t        |      ||<    t        t
        |   |||       y # t        $ r Y 8w xY w)Nyear>   daymonthseasonrY   rZ   z:When specifying the day, you should also specify the month)r   itemsint
ValueErrorr)   rV   r   )r   r   r   r   r-   r$   r   s         r   r   zDate.__init__Z   s    8-D=WD0 ( ) )**, 	JCJS		
 	dD"48<  s   A	A%$A%c                     | j                   }| j                  dd      }| j                  dd      }dj                  |dz   ||      S )NrZ   r   rY   z{:05}{:02}{:02}i'  )rX   rO   r   )r   rX   rZ   rY   s       r   sort_keyzDate.sort_keyg   sD    yy!$hhua  ''ueSAAr   c                 |    | j                   dk(  xr, | j                  dd      dk(  xr | j                  dd      dk(  S )Nr   rZ   rY   )rX   rO   r?   s    r   is_nilzDate.is_nilm   sA    		Q (488GQ#71#< ("a'	)r   )r   r.   r/   r   r`   rb   r0   r1   s   @r   rV   rV   Y   s    =B)r   rV   c                   $     e Zd Z fdZd Z xZS )LiteralDatec                 :    || _         t        t        |   |       y r!   )textr)   rd   r   )r   rf   r   r   s      r   r   zLiteralDate.__init__s   s    	k4)$/r   c                     | j                   S r!   )rf   r?   s    r   r`   zLiteralDate.sort_keyw   s    yyr   )r   r.   r/   r   r`   r0   r1   s   @r   rd   rd   r   s    0r   rd   c                   *     e Zd Z fdZd Zd Z xZS )	DateRangec                 <    dh}dh}t         t        |   |||       y )Nbeginend)r)   ri   r   rM   s       r   r   zDateRange.__init__|   s$    97i'hAr   c                     | j                   j                         }| j                  dt        d            j                         }|dz   |z   S )Nrl   r   )rX   -)rk   r`   rO   rV   )r   rk   rl   s      r   r`   zDateRange.sort_key   s@    

##%hhudl+446s{S  r   c                     t         r!   )NotImplementedError)r   others     r   __eq__zDateRange.__eq__   s    !!r   )r   r.   r/   r   r`   rr   r0   r1   s   @r   ri   ri   {   s    B
!
"r   ri   c                   $     e Zd Z fdZd Z xZS )Citationc                 V    |D ]	  }| |_          || _        t        t        |   |       y r!   )citationcitesr)   rt   r   )r   rw   kwargsciter   s       r   r   zCitation.__init__   s/     	!D DM	!
h&v.r   c                     dj                  | j                  D cg c]  }|j                   c}      }dj                  | j                  j
                  |      S c c}w )Nr	   r=   )r   rw   r-   r   r   r   )r   ry   rw   s      r   r@   zCitation.__repr__   sC    		

;488;<t~~66>> <s   ArB   r1   s   @r   rt   rt      s    /?r   rt   c                   r     e Zd Zd	 fd	Zd Zed        Zed        Zed        Zed        Z	d Z
d Z xZS )
CitationItemc                 b    |j                         | _        h d}t        t        |   ||       y )N>   prefixrJ   locatorr9   )lowerr-   r)   r|   r   )r   r-   bibliographyr   r   r   s        r   r   zCitationItem.__init__   s)    99;2lD*4(*Cr   c                 b    dj                  | j                  j                  | j                        S r<   r>   r?   s    r   r@   zCitationItem.__repr__   rA   r   c                 .    | j                   j                  S r!   )rv   r   r?   s    r   r   zCitationItem.bibliography   s    }})))r   c                 H    | j                   j                  | j                     S r!   )r   sourcer-   r?   s    r   	referencezCitationItem.reference   s      ''11r   c                 f    | j                   j                  j                  | j                        dz   S )N   )r   r   indexr-   r?   s    r   numberzCitationItem.number   s(      %%++DHH599r   c                 
    d| v S )Nr   r"   r?   s    r   has_locatorzCitationItem.has_locator   s    D  r   c                     | j                   j                  |      }|%| j                  j                  j	                  |      S y r!   )r   rO   r   	formatter	preformat)r   fieldstrings      r   	get_fieldzCitationItem.get_field   s>    ##E*$$..88@@ r   c                 F    | j                   | j                  j                  vS r!   )r-   r   r   r?   s    r   is_badzCitationItem.is_bad   s    xxt005555r   r!   )r   r.   r/   r   r@   propertyr   r   r   r   r   r   r0   r1   s   @r   r|   r|      sj    D
B * * 2 2 : : ! !A
6r   r|   c                       e Zd Zd Zy)Locatorc                      || _         || _        y r!   )label
identifier)r   r   r   s      r   r   zLocator.__init__   s    
$r   N)r   r.   r/   r   r"   r   r   r   r      s    %r   r   c                       e Zd Zd Zy)BibliographySourcec                 "    || |j                   <   y r!   )r-   )r   entrys     r   addzBibliographySource.add   s    UYYr   N)r   r.   r/   r   r"   r   r   r   r      s     r   r   r   )bibtexjsonN)warningsr    r   dictr   r3   	Exceptionr,   rE   rR   rV   rd   ri   rt   r|   objectr   r   r   r   r"   r   r   <module>r      s        B
B
 
B	I 	K: K&"z ")8 )2( " " 	?z 	?6: 6D%f %   
  r   