Ë
    ÐÙòi¶  ã                   óz   — d Z ddl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dddd	d
œZ
dgZdZdZedz   Zd„ Zd„ Zy)z8Tokyo Toshokan (A BitTorrent Library for Japanese Media)é    N)Údatetime)Ú	urlencode)Úhtml)Úextract_textÚint_or_zerozhttps://www.tokyotosho.info/FÚHTML)ÚwebsiteÚwikidata_idÚofficial_api_documentationÚuse_official_apiÚrequire_api_keyÚresultsÚfilesTzsearch.php?{query}c                 óZ   — t        |d   | dœ«      } t        j                  | ¬«      |d<   |S )NÚpageno)ÚpageÚterms)ÚqueryÚurl)r   Ú
search_urlÚformat)r   Úparamss     ú,/root/searxng/searx/engines/tokyotoshokan.pyÚrequestr      s2   € Ü˜v hÑ/¸%Ñ@ÓA€EÜ×%Ñ%¨EÐ%Ó2€Fˆ5MØ€Mó    c                 óª  — g }t        j                  | j                  «      }|j                  d«      }t	        |«      dk(  st	        |«      dz  dk7  rg S t        j                  dt
        j                  «      }t        dt	        |«      d«      D ]²  }||   }|j                  d«      }d|d   j                  j                  d«      t        |d   «      d	œ}t	        |«      dk(  r4|d   j                  j                  d«      }	|	j                  d
«      r|	|d<   ||dz      }
t        |
j                  d«      d   «      }|j                  d«      D ]Œ  }|j                  «       }|j                  d«      r$	 |j                  |«      j!                  «       |d<   ŒH|j                  d«      r	 t#        j$                  |d«      }||d<   Œv|j                  d«      sŒˆ||d<   ŒŽ |
j                  d«      }t	        |«      dk(  r4t'        t        |d   «      «      |d<   t'        t        |d   «      «      |d<   |j)                  |«       Œµ |S #  Y ŒüxY w#  Y ŒxY w)Nz=//table[@class="listing"]//tr[contains(@class, "category_0")]r   é   z[\d.]+(T|G|M)?Bz./td[@class="desc-top"]/aztorrent.htmléÿÿÿÿÚhref)Útemplater   ÚtitleÚmagnetÚ
magnetlinké   z./td[@class="desc-bot"]ú|zSize:ÚfilesizezDate:zDate: %Y-%m-%d %H:%M UTCÚpublishedDatezComment:Úcontentz./td[@class="stats"]/spané   ÚseedÚleech)r   Ú
fromstringÚtextÚxpathÚlenÚreÚcompileÚ
IGNORECASEÚrangeÚattribÚgetr   Ú
startswithÚsplitÚstripÚsearchÚgroupr   Ústrptimer   Úappend)Úrespr   ÚdomÚrowsÚsize_reÚiÚname_rowÚlinksr   r"   Úinfo_rowÚdescÚitemÚdateÚstatss                  r   ÚresponserI   &   s2  € Ø€Gä
/‰/˜$Ÿ)™)Ó
$€CØ9‰9ÐTÓU€Dô ˆ4ƒyA‚~œ˜T› Q™¨!Ò+Øˆ	ô j‰jÐ+¬R¯]©]Ó;€Gô 1”c˜$“i Ó#ó 'ˆà˜‘7ˆà—‘Ð:Ó;ˆØ,°U¸2±Y×5EÑ5E×5IÑ5IÈ&Ó5QÔ\hÐinÐoqÑirÓ\sÑtˆô ˆu‹:˜Š?Ø˜1‘X—_‘_×(Ñ(¨Ó0ˆFØ× Ñ  Ô*à'-|Ñ$ð ˜˜A™‘;ˆÜ˜HŸN™NÐ+DÓEÀaÑHÓIˆØ—J‘J˜s“Oò 	)ˆDØ—:‘:“<ˆDØ‰˜wÔ'ðØ)0¯©¸Ó)=×)CÑ)CÓ)EF˜:Ò&ð —‘ Ô)ðä#×,Ñ,¨TÐ3MÓNDØ.2F˜?Ò+ð —‘ Õ,Ø$(yÒ!ð	)ð  —‘Ð:Ó;ˆäˆu‹:˜Š?Ü(¬°e¸A±hÓ)?Ó@ˆF6‰NÜ)¬,°u¸Q±xÓ*@ÓAˆF7‰Oà‰vÖðO'ðR €Nøð'ÙûðÚús   Å3"IÆ(IÉI
ÉI)Ú__doc__r0   r   Úurllib.parser   Úlxmlr   Úsearx.utilsr   r   ÚaboutÚ
categoriesÚpagingÚbase_urlr   r   rI   © r   r   ú<module>rS      s\   ðá >ã 	Ý Ý "å ß 1ð .ØØ"&ØØØñ	€ð ˆY€
Ø	€ð *€ØÐ,Ñ,€
òó8r   