o
    ËÄ.jZ  ã                   @   s   d dl Z G dd„ deƒZdS )é    Nc                   @   s¸   e Zd Zi dd“dd“dd“dd“d	d
“dddg“dddg“ddg“dd“dd
“dd“dd“dd“dd“dd“dd“Zdd „ Zd!d"„ ZeZd.d$d%„Zd&d'„ Zd(d)„ Z	d*d+„ Z
d,d-„ Zd#S )/ÚFeedParserDictÚchannelÚfeedÚitemsÚentriesÚguidÚidÚdateÚupdatedÚdate_parsedÚupdated_parsedÚdescriptionÚsummaryÚsubtitleÚdescription_detailÚsummary_detailÚsubtitle_detailÚurlÚhrefÚmodifiedÚmodified_parsedÚissuedÚ	publishedÚissued_parsedÚpublished_parsedÚ	copyrightÚrightsÚcopyright_detailÚrights_detailÚtaglineÚtagline_detailc                    sˆ  |dkrzt  | d¡d d W S  ty   tdƒ‚w |dkr0dd„ ‰ ‡ fd	d
„t  | d¡D ƒS |dkrNt  | d¡D ]}|d dkrLd|v rL|d   S q:np|dkrpt  | d¡sjt  | d¡rjt dt¡ t  | d¡S t  | d¡S |dkr’t  | d¡sŒt  | d¡rŒt dt¡ t  | d¡S t  | d¡S | j 	||¡}t
|tƒr²|D ]}t  | |¡r°t  | |¡  S q nt  | |¡r¾t  | |¡S t  | |¡S )ú5
        :return: A :class:`FeedParserDict`.
        ÚcategoryÚtagsr   Útermz"object doesn't have key 'category'Ú
enclosuresc                 S   s   t dd„ |  ¡ D ƒƒS )Nc                 S   s    g | ]\}}|d kr||f‘qS )Úrel© )Ú.0ÚnameÚvaluer'   r'   úD/home/thesage/.local/lib/python3.10/site-packages/feedparser/util.pyÚ
<listcomp>>   s     z@FeedParserDict.__getitem__.<locals>.<lambda>.<locals>.<listcomp>)r   r   )Úlinkr'   r'   r+   Ú<lambda>>   s    z,FeedParserDict.__getitem__.<locals>.<lambda>c                    s    g | ]}|d  dkrˆ |ƒ‘qS )r&   Ú	enclosurer'   )r(   r-   ©Únorelr'   r+   r,   ?   s
    þz.FeedParserDict.__getitem__.<locals>.<listcomp>ÚlinksÚlicenser&   r   r
   r   zÛTo avoid breaking existing software while fixing issue 310, a temporary mapping has been created from `updated` to `published` if `updated` doesn't exist. This fallback will be removed in a future version of feedparser.r   r   zðTo avoid breaking existing software while fixing issue 310, a temporary mapping has been created from `updated_parsed` to `published_parsed` if `updated_parsed` doesn't exist. This fallback will be removed in a future version of feedparser.)ÚdictÚ__getitem__Ú
IndexErrorÚKeyErrorÚ__contains__ÚwarningsÚwarnÚDeprecationWarningÚkeymapÚgetÚ
isinstanceÚlist)ÚselfÚkeyr-   ÚrealkeyÚkr'   r0   r+   r5   3   sb   ÿ

þ€þ
ÿ
þú
ÿ
þú
ÿÿzFeedParserDict.__getitem__c                 C   s:   |dv r
t  | |¡S z|  |¡ W dS  ty   Y dS w )N)r
   r   FT)r4   r8   r5   r7   ©r@   rA   r'   r'   r+   r8   s   s   ýÿzFeedParserDict.__contains__Nc                 C   s$   z|   |¡W S  ty   | Y S w )r!   )r5   r7   )r@   rA   Údefaultr'   r'   r+   r=   ‚   s
   ÿzFeedParserDict.getc                 C   s.   | j  ||¡}t|tƒr|d }t | ||¡S )Nr   )r<   r=   r>   r?   r4   Ú__setitem__)r@   rA   r*   r'   r'   r+   rF   Œ   s   
zFeedParserDict.__setitem__c                 C   s   || vr
|| |< |S | | S ©Nr'   )r@   rC   rE   r'   r'   r+   Ú
setdefault’   s   zFeedParserDict.setdefaultc                 C   s(   z|   |¡W S  ty   td| ƒ‚w )Nzobject has no attribute '%s')r5   r7   ÚAttributeErrorrD   r'   r'   r+   Ú__getattr__˜   s
   ÿzFeedParserDict.__getattr__c                 C   s   t | ƒS rG   )r   )r@   r'   r'   r+   Ú__hash__    s   zFeedParserDict.__hash__rG   )Ú__name__Ú
__module__Ú__qualname__r<   r5   r8   Úhas_keyr=   rF   rH   rJ   rK   r'   r'   r'   r+   r      sT    ÿþýüûúùø	÷
öõôóòñð@

r   )r9   r4   r   r'   r'   r'   r+   Ú<module>   s   