
    i	                     x    d Z ddlmZ ddlmZ ddlZddlmZ ddlmZm	Z	m
Z
mZ dddddd	d
ZdgZdZdZd Zd Zy)SolidTorrents    )datetime)	urlencodeN)html)extract_text
eval_xpatheval_xpath_getindexeval_xpath_listzhttps://www.solidtorrents.to/FHTML)websitewikidata_idofficial_api_documentationuse_official_apirequire_api_keyresultsfilesTzhttps://solidtorrents.toc                     t        t        t              rt        j                  t              |d<   n	t        |d<   |d   dz   }t        | |d   d      } |j                  |       |d<   |S )Nbase_urlz/search?{query}pageno)qpage)queryurl)
isinstancer   listrandomchoicer   format)r   params
search_urls      ,/root/searxng/searx/engines/solidtorrents.pyrequestr"   !   si    (D!#]]84z%z
#&77JE6(+;<=E%%E%2F5MM    c                 H   g }t        j                  | j                        }t        |d      D ]  }t	        |ddd       }t	        |ddd       }||$t	        |ddd       }t	        |ddd       }t        |d      }t        |dd	
      }	t        |	d         t        |	d         t        |      | j                  d   |z   t        |	d         ||t        |      dd	}
	 t        j                  t        |	d         d      |
d<   |j                  |
        |S # t        $ r Y  w xY w)Nz'//li[contains(@class, "search-result")]z*.//a[contains(@class, "dl-torrent")]/@hrefr   z).//a[contains(@class, "dl-magnet")]/@hrefz .//h5[contains(@class, "title")]z(.//h5[contains(@class, "title")]/a/@hrefz".//a[contains(@class, "category")]z%.//div[contains(@class, "stats")]/div   )min_len      r      ztorrent.html)	seedleechtitler   filesize
magnetlinktorrentfilemetadatatemplate   z	%b %d, %YpublishedDate)r   
fromstringtextr   r	   r
   r   search_paramsr   strptime
ValueErrorappend)respr   domresultr/   magnetr,   r   categstatsr   s              r!   responser@   ,   sN   G
//$))
$CS"KL )&2^`acgh$V-XZ[]ab&.#F,NPQSWX!&*TVWY]^6#GH(OYZ[ !q*!%(+!%(%%j1C7$U1X. &$U+&

	&.&7&7U1X8NP[&\F?# 	v7: N  		s   %D	D! D!)__doc__r   urllib.parser   r   lxmlr   searx.utilsr   r   r	   r
   about
categoriespagingr   r"   r@    r#   r!   <module>rI      sX      "    /"&	 Y
	 &!r#   