o
    ì6WjêB  ã                   @   s@   d dl Z ddlmZ ddlmZ ddlmZ G dd„ deƒZdS )é    Né   )Ú_parse_date)Úmake_safe_absolute_uri)ÚFeedParserDictc                   @   sà  e Zd ZdZddddddddddddddœZdd„ Zdd„ Zdd	„ Zd
d„ Zdd„ Z	e	Z
dd„ Zdd„ Zdd„ ZeZdd„ ZeZdd„ ZeZdd„ ZeZdd„ Zdd„ Zdd„ Zd d!„ Zd"d#„ Zd$d%„ Zd&d'„ Zd(d)„ Zd*d+„ ZeZeZd,d-„ Z e Z!e Z"d.d/„ Z#d0d1„ Z$d2d3„ Z%e%Z&d4d5„ Z'e'Z(d6d7„ Z)e)Z*d8d9„ Z+e+Z,d:d;„ Z-e-Z.d<d=„ Z/e/Z0d>d?„ Z1d@dA„ Z2dBdC„ Z3dDdE„ Z4dFdG„ Z5e5Z6e5Z7dHdI„ Z8e8Z9e8Z:dJdK„ Z;e;Z<e;Z=dLdM„ Z>e>Z?e>Z@dNdO„ ZAdPdQ„ ZBdRdS„ ZCdTdU„ ZDdVdW„ ZEeEZFdXdY„ ZGeGZHdZd[„ ZId\d]„ ZJd^d_„ ZKd`da„ ZLeLZMdbdc„ ZNeNZOddde„ ZPdfdg„ ZQdhdi„ ZRdjdk„ ZSdldm„ ZTeTZUdndo„ ZVeVZWdpdq„ ZXeXZYdrds„ ZZdtdu„ Z[dvdw„ Z\dxdy„ Z]dzd{„ Z^d|d}„ Z_d~d„ Z`d€d�„ Zad‚dƒ„ ZbebZcd„d…„ ZdedZed†d‡„ ZfefZgefZhefZiefZjdˆd‰„ ZkdŠd‹„ ZldŒS )�Ú	NamespacezêSupport for the Atom, RSS, RDF, and CDF feed formats.

    The feed formats all share common elements, some of which have conflicting
    interpretations. For simplicity, all of the base feed format support is
    collected here.
    Ú )r   zhttp://backend.userland.com/rssz%http://blogs.law.harvard.edu/tech/rsszhttp://purl.org/rss/1.0/z&http://my.netscape.com/rdf/simple/0.9/zhttp://example.com/newformat#zhttp://example.com/nechozhttp://purl.org/echo/zuri/of/echo/namespace#zhttp://purl.org/pie/zhttp://purl.org/atom/ns#zhttp://www.w3.org/2005/Atomz'http://purl.org/rss/1.0/modules/rss091#c                 C   sf   dddddœ}| j r| j  d¡s1| dd¡}| |¡}|r"|| _ d S | d	¡r,d
| _ d S d| _ d S d S )NÚrss091uÚrss092Úrss093Úrss094)z0.91z0.92z0.93z0.94ÚrssÚversionr   z2.Úrss20)r   Ú
startswithÚget©ÚselfÚattrs_dÚ
versionmapÚattr_versionr   © r   új/home/esfera/Documents/content_generation/venv/lib/python3.10/site-packages/feedparser/namespaces/_base.pyÚ
_start_rss<   s   ü





øzNamespace._start_rssc                 C   s   d| _ |  |¡ d S )Né   )ÚinfeedÚ_cdf_common©r   r   r   r   r   Ú_start_channelQ   s   zNamespace._start_channelc                 C   s`   d|v r|   i ¡ |d | jd d< |  ¡  d|v r.|  i ¡ |d | jd d< |  ¡  d S d S )NÚlastmodéÿÿÿÿÚhref)Ú_start_modifiedÚelementstackÚ_end_modifiedÚ_start_linkÚ	_end_linkr   r   r   r   r   U   s   

ýzNamespace._cdf_commonc                 C   sH   d| _ ddddœ}| js"| d¡}| |¡}|r|| _d S d| _d S d S )Nr   Úatom01Úatom02Úatom03)z0.1z0.2z0.3r   Úatom)r   r   r   r   r   r   r   Ú_start_feed_   s   þ



úzNamespace._start_feedc                 C   s
   d| _ d S )Nr   )r   ©r   r   r   r   Ú_end_channell   s   
zNamespace._end_channelc                 C   s8   |   ¡ }| js| dtƒ ¡ d| _d| _|  dd¡ d S )NÚimager   r   r   )Ú_get_contextÚinentryÚ
setdefaultr   ÚinimageÚtitle_depthÚpush©r   r   Úcontextr   r   r   Ú_start_imagep   s   zNamespace._start_imagec                 C   ó   |   d¡ d| _d S )Nr-   r   )Úpopr1   r+   r   r   r   Ú
_end_imagex   ó   

zNamespace._end_imagec                 C   s2   |   ¡ }| dtƒ ¡ d| _d| _|  dd¡ d S )NÚ	textinputr   r   r   )r.   r0   r   Úintextinputr2   r3   r4   r   r   r   Ú_start_textinput|   s
   zNamespace._start_textinputc                 C   r7   )Nr;   r   )r8   r<   r+   r   r   r   Ú_end_textinput„   r:   zNamespace._end_textinputc                 C   s:   d| _ |  dd¡ |  ¡ }| dg ¡ |d  tƒ ¡ d S )Nr   ÚauthorÚauthors)Úinauthorr3   r.   r0   Úappendr   r4   r   r   r   Ú_start_author‰   s
   zNamespace._start_authorc                 C   s   |   d¡ d| _|  ¡  d S )Nr?   r   )r8   rA   Ú_sync_author_detailr+   r   r   r   Ú_end_author’   s   
zNamespace._end_authorc                 C   s:   d| _ |  ¡ }| dg ¡ |d  tƒ ¡ |  dd¡ d S )Nr   ÚcontributorsÚcontributorr   )Úincontributorr.   r0   rB   r   r3   r4   r   r   r   Ú_start_contributor˜   s
   zNamespace._start_contributorc                 C   r7   )NrG   r   )r8   rH   r+   r   r   r   Ú_end_contributorŸ   r:   zNamespace._end_contributorc                 C   ó   |   dd¡ d S )NÚnamer   ©r3   r   r   r   r   Ú_start_name£   ó   zNamespace._start_namec                 C   sl   |   d¡}| jr|  d|d¡ d S | jr|  d|¡ d S | jr'|  d|¡ d S | jr4|  ¡ }||d< d S d S )NrL   Ú	publisher)r8   ÚinpublisherÚ_save_authorrA   rH   Ú_save_contributorr<   r.   ©r   Úvaluer5   r   r   r   Ú	_end_name¦   s   
þzNamespace._end_namec                 C   rK   ©NÚwidthr   rM   r   r   r   r   Ú_start_width²   rO   zNamespace._start_widthc                 C   óL   |   d¡}zt|ƒ}W n ty   d}Y nw | jr$|  ¡ }||d< d S d S rW   ©r8   ÚintÚ
ValueErrorr1   r.   rT   r   r   r   Ú
_end_widthµ   ó   
ÿþzNamespace._end_widthc                 C   rK   ©NÚheightr   rM   r   r   r   r   Ú_start_height¿   rO   zNamespace._start_heightc                 C   rZ   r`   r[   rT   r   r   r   Ú_end_heightÂ   r_   zNamespace._end_heightc                 C   rK   )Nr    r   rM   r   r   r   r   Ú
_start_urlÌ   rO   zNamespace._start_urlc                 C   s:   |   d¡}| jr|  d|¡ d S | jr|  d|¡ d S d S )Nr    )r8   rA   rR   rH   rS   ©r   rU   r   r   r   Ú_end_urlÑ   s   
ÿzNamespace._end_urlc                 C   rK   )NÚemailr   rM   r   r   r   r   Ú_start_emailÚ   rO   zNamespace._start_emailc                 C   sR   |   d¡}| jr|  d|d¡ d S | jr|  d|¡ d S | jr'|  d|¡ d S d S )Nrg   rP   )r8   rQ   rR   rA   rH   rS   re   r   r   r   Ú
_end_emailÝ   s   
ÿzNamespace._end_emailc                 C   ó   |   d|dd¡ d S )NÚsubtitleú
text/plainr   ©Úpush_contentr   r   r   r   Ú_start_subtitleæ   ó   zNamespace._start_subtitlec                 C   ó   |   d¡ d S )Nrk   ©Úpop_contentr+   r   r   r   Ú_end_subtitleê   ó   zNamespace._end_subtitlec                 C   rj   )NÚrightsrl   r   rm   r   r   r   r   Ú_start_rightsî   rp   zNamespace._start_rightsc                 C   rq   )Nrv   rr   r+   r   r   r   Ú_end_rightsò   ru   zNamespace._end_rightsc                 C   sZ   | j  tƒ ¡ |  dd¡ d| _d| _d| _|  |d¡}|r&|  ¡ }||d< |  	|¡ d S )NÚitemr   r   r   z	rdf:aboutÚid)
ÚentriesrB   r   r3   r/   Ú
guidislinkr2   Ú_get_attributer.   r   )r   r   rz   r5   r   r   r   Ú_start_itemö   s   zNamespace._start_itemc                 C   s   |   d¡ d| _d| _d S )Nry   r   )r8   r/   Ú
hasContentr+   r   r   r   Ú	_end_item  s   

zNamespace._end_itemc                 C   rK   )NÚlanguager   rM   r   r   r   r   Ú_start_language	  rO   zNamespace._start_languagec                 C   s   |   d¡| _d S )Nr�   )r8   Úlangr+   r   r   r   Ú_end_language  rO   zNamespace._end_languagec                 C   rK   )NrP   r   rM   r   r   r   r   Ú_start_webmaster  rO   zNamespace._start_webmasterc                 C   s   |   d¡ |  d¡ d S )NrP   )r8   rD   r+   r   r   r   Ú_end_webmaster  s   
zNamespace._end_webmasterc                 C   rK   )NÚ	publishedr   rM   r   r   r   r   Ú_start_published  rO   zNamespace._start_publishedc                 C   ó"   |   d¡}| jdt|ƒdd� d S )Nr‡   Úpublished_parsedT©Ú	overwrite©r8   Ú_saver   re   r   r   r   Ú_end_published  ó   
zNamespace._end_publishedc                 C   rK   )NÚupdatedr   rM   r   r   r   r   Ú_start_updated!  rO   zNamespace._start_updatedc                 C   s&   |   d¡}t|ƒ}| jd|dd� d S )Nr‘   Úupdated_parsedTr‹   )r8   r   rŽ   )r   rU   Úparsed_valuer   r   r   Ú_end_updated&  s   
zNamespace._end_updatedc                 C   rK   )NÚcreatedr   rM   r   r   r   r   Ú_start_created-  rO   zNamespace._start_createdc                 C   r‰   )Nr–   Úcreated_parsedTr‹   r�   re   r   r   r   Ú_end_created0  r�   zNamespace._end_createdc                 C   rK   )NÚexpiredr   rM   r   r   r   r   Ú_start_expirationdate4  rO   zNamespace._start_expirationdatec                 C   s   | j dt|  d¡ƒdd� d S )NÚexpired_parsedrš   Tr‹   )rŽ   r   r8   r+   r   r   r   Ú_end_expirationdate7  s   zNamespace._end_expirationdatec                 C   sD   |  d¡}|  d|  d¡¡}|  d¡}|  |||¡ |  dd¡ d S )NÚtermÚschemeÚdomainÚlabelÚcategoryr   )r   Ú_add_tagr3   )r   r   rž   rŸ   r¡   r   r   r   Ú_start_category:  s
   

zNamespace._start_categoryc                 C   s\   |   d¡}|s	d S |  ¡ }|d }|r%t|ƒr%|d d s%||d d< d S |  |d d ¡ d S )Nr¢   Útagsr   rž   )r8   r.   Úlenr£   )r   rU   r5   r¥   r   r   r   Ú_end_categoryB  s   
zNamespace._end_categoryc                 C   s   t |ƒ|  ¡ d< d S )NÚcloud)r   r.   r   r   r   r   Ú_start_cloudN  rp   zNamespace._start_cloudc                 C   sî   |  dd¡ |d dkr|  dd¡ n|  dd¡ |  ¡ }|  |¡}d|v r/|  |d ¡|d< | jp7| jp7| j}|  dg ¡ | jrD| jsM|d  t	|ƒ¡ d|v ro| 
d¡dkrk|  | 
d¡¡| jv rm|d |d	< d S d S d S |  d	|¡ d S )
NÚrelÚ	alternater   Útypezapplication/atom+xmlú	text/htmlr    ÚlinksÚlink)r0   r.   Ú_enforce_hrefÚresolve_urir   r/   Úinsourcer1   rB   r   r   Úmap_content_typeÚ
html_typesr3   )r   r   r5   Úexpecting_textr   r   r   r$   Q  s&   
ýzNamespace._start_linkc                 C   rq   )Nr¯   )r8   r+   r   r   r   r%   h  ru   zNamespace._end_linkc                 C   s"   |  dd¡dk| _|  dd¡ d S )NÚispermalinkÚtruerz   r   )r   r|   r3   r   r   r   r   Ú_start_guidk  s   zNamespace._start_guidc                 C   s>   |   d¡}|  d| jod|  ¡ v¡ | jr|  d|¡ d S d S )Nrz   r|   r¯   )r8   rŽ   r|   r.   re   r   r   r   Ú	_end_guidp  s
   
ýzNamespace._end_guidc                 C   s<   | j r|  dt| ¡ ƒ¡S |  d|d| jp| jp| j¡ d S )NÚtitlerl   )ÚsvgOKÚunknown_starttagÚlistÚitemsrn   r   r/   r²   r   r   r   r   Ú_start_titley  s   "zNamespace._start_titlec                 C   s(   | j rd S |  d¡}|sd S | j| _d S )Nrº   )r»   rs   Údepthr2   re   r   r   r   Ú
_end_title~  s   
zNamespace._end_titlec                 C   sL   |   ¡ }d|v r| jsd| _|  |¡ d S |  d|d| jp"| jp"| j¡ d S )NÚsummaryÚcontentÚdescriptionr­   )r.   r   Ú_summaryKeyÚ_start_contentrn   r   r/   r²   r4   r   r   r   Ú_start_description†  s
   "zNamespace._start_descriptionc                 C   s"   |   d|d| jp| jp| j¡ d S )NrÄ   rl   )rn   r   r/   r²   r   r   r   r   Ú_start_abstractŽ  s   "zNamespace._start_abstractc                 C   s(   | j dkr
|  ¡  n|  d¡ d | _ d S )NrÃ   rÄ   ©rÅ   Ú_end_contentrs   r+   r   r   r   Ú_end_description‘  s   



zNamespace._end_descriptionc                 C   rj   )NÚinforl   r   rm   r   r   r   r   Ú_start_info™  rp   zNamespace._start_infoc                 C   rq   )NrÌ   rr   r+   r   r   r   Ú	_end_info�  ru   zNamespace._end_infoc                 C   sH   |r|   |¡}d|v r|  |d ¡|d< t|ƒ|  ¡ d< |  dd¡ d S )Nr    Úgenerator_detailÚ	generatorr   )r°   r±   r   r.   r3   r   r   r   r   Ú_start_generator¡  s   
zNamespace._start_generatorc                 C   s.   |   d¡}|  ¡ }d|v r||d d< d S d S )NrÐ   rÏ   rL   )r8   r.   rT   r   r   r   Ú_end_generator©  s
   
ÿzNamespace._end_generatorc                 C   sF   |   ¡ }d|v r| jsd| _|  |¡ d S d| _|  | j|dd¡ d S )NrÂ   rÃ   rl   r   )r.   r   rÅ   rÆ   rn   r4   r   r   r   Ú_start_summary¯  s   zNamespace._start_summaryc                 C   s.   | j dkr
|  ¡  n|  | j pd¡ d | _ d S )NrÃ   rÂ   rÉ   r+   r   r   r   Ú_end_summary¸  s   


zNamespace._end_summaryc                 C   s4   |   |¡}|  ¡ }d|d< | dg ¡ t|ƒ¡ d S )NÚ	enclosurerª   r®   )r°   r.   r0   rB   r   r4   r   r   r   Ú_start_enclosure¿  s   
zNamespace._start_enclosurec                 C   s2   d|v r|d | j d< |  dd¡ d| _d| _d S )NÚurlr    Úsourcer   r   )Ú
sourcedatar3   r²   r2   r   r   r   r   Ú_start_sourceÅ  s
   
zNamespace._start_sourcec                 C   s@   d| _ |  d¡}|r|| jd< t | j¡|  ¡ d< | j ¡  d S )Nr   rØ   rº   )r²   r8   rÙ   ÚcopyÚdeepcopyr.   Úclearre   r   r   r   Ú_end_sourceÍ  s   

zNamespace._end_sourcec                 C   s>   d| _ |  d|dd¡ | d¡}|r|| jd< |  dd¡ d S )Nr   rÃ   rl   Úsrc)r   rn   r   Úcontentparamsr3   )r   r   rß   r   r   r   rÆ   Õ  s   

zNamespace._start_contentc                 C   rj   )NrÃ   zapplication/xhtml+xmlr   rm   r   r   r   r   Ú_start_bodyÝ  rp   zNamespace._start_bodyc                 C   s   d| _ |  d|dd¡ d S )Nr   rÃ   r­   )r   rn   r   r   r   r   Ú_start_content_encodedá  s   z Namespace._start_content_encodedc                 C   s@   |   | j d¡¡dh| jB v }|  d¡}|r|  d|¡ d S d S )Nr¬   rl   rÃ   rÂ   )r³   rà   r   r´   rs   rŽ   )r   ÚcopyToSummaryrU   r   r   r   rÊ   æ  s
   
ÿzNamespace._end_contentc                 C   rK   )NÚnewlocationr   rM   r   r   r   r   Ú_start_newlocationñ  rO   zNamespace._start_newlocationc                 C   s8   |   d¡}|  ¡ }|| jurd S t| j| ¡ ƒ|d< d S )Nrä   )r8   r.   Úfeeddatar   ÚbaseuriÚstrip)r   r×   r5   r   r   r   Ú_end_newlocationô  s
   

zNamespace._end_newlocationN)mÚ__name__Ú
__module__Ú__qualname__Ú__doc__Úsupported_namespacesr   r   r   r*   r,   Ú	_end_feedr6   r9   r=   Ú_start_textInputr>   Ú_end_textInputrC   Ú_start_managingeditorrE   Ú_end_managingeditorrI   rJ   rN   rV   rY   r^   rb   rc   rd   Ú_start_homepageÚ
_start_urirf   Ú_end_homepageÚ_end_urirh   ri   ro   Ú_start_taglinert   Ú_end_taglinerw   Ú_start_copyrightrx   Ú_end_copyrightr~   Ú_start_entryr€   Ú
_end_entryr‚   r„   r…   r†   rˆ   Ú_start_issuedÚ_start_pubdater�   Ú_end_issuedÚ_end_pubdater’   r!   Ú_start_lastbuilddater•   r#   Ú_end_lastbuilddater—   r™   r›   r�   r¤   Ú_start_keywordsr§   Ú_end_keywordsr©   r$   r%   r¸   Ú	_start_idr¹   Ú_end_idr¿   rÁ   rÇ   rÈ   rË   Ú_end_abstractrÍ   Ú!_start_feedburner_browserfriendlyrÎ   Ú_end_feedburner_browserfriendlyrÑ   rÒ   rÓ   rÔ   rÖ   rÚ   rÞ   rÆ   rá   Ú_start_xhtml_bodyrâ   Ú_start_fullitemrÊ   Ú	_end_bodyÚ_end_xhtml_bodyÚ_end_content_encodedÚ_end_fullitemrå   ré   r   r   r   r   r   $   sð    ó


	
	r   )	rÛ   Ú	datetimesr   Úurlsr   Úutilr   Úobjectr   r   r   r   r   Ú<module>   s
   