
    i                     n    d Z ddlmZ ddlmZ ddlZdddddd	d
dZddgZdZdZdZ	dZ
	 d Zd Zd Zd Zy)un  ARD: `Tagesschau API`_

The Tagesschau is a news program of the ARD.  Via the `Tagesschau API`_, current
news and media reports are available in JSON format.  The `Bundesstelle für Open
Data`_ offers a `OpenAPI`_ portal at bundDEV_ where APIs are documented an can
be tested.

This SearXNG engine uses the `/api2u/search`_ API.

.. _/api2u/search: http://tagesschau.api.bund.dev/
.. _bundDEV: https://bund.dev/apis
.. _Bundesstelle für Open Data: https://github.com/bundesAPI
.. _Tagesschau API: https://github.com/AndreasFischer1985/tagesschau-api/blob/main/README_en.md
.. _OpenAPI: https://swagger.io/specification/

    )datetime)	urlencodeNzhttps://tagesschau.deQ703907TFJSONde)websitewikidata_idofficial_api_documentationuse_official_apirequire_api_keyresultslanguagegeneralnews
   zhttps://www.tagesschau.dec                 T    | t         |d   dz
  d}t         dt        |       |d<   |S )Npageno   )
searchTextpageSize
resultPagez/api2u/search?url)results_per_pagebase_urlr   )queryparamsargss      )/root/searxng/searx/engines/tagesschau.pyrequestr   2   s<    $X&*D  jy.?@F5MM    c                 
   g }| j                         }|d   D ]h  }|j                  d      }|dv r|j                  t        |             3|dk(  r|j                  t	        |             St
        j                  d|       j |S )NsearchResultstype)storywebviewvideozunknown result type: %s)jsongetappend_story_videologgererror)respr   r'   item	item_types        r   responser1   >   s{    G99;D_% ?HHV$	,,NN6$<('!NN6$<(LL2I>? Nr    c                     | d   | j                  di       j                  di       j                  d      t        j                  | d   d d d      | j                  d      t        r| d	   dS | d
   dS )NtitleteaserImageimageVariants16x9-256date   %Y-%m-%dT%H:%M:%SfirstSentenceshareURL
detailsweb)r3   	thumbnailpublishedDatecontentr   )r(   r   strptimeuse_source_url)r/   s    r   r*   r*   O   s    gXXmR044_bIMMjY!**4<+<>QR88O,#1tJ 
 8<L7I r    c                    | d   }|j                  d      xs7 |j                  d      xs$ |j                  d      xs |j                  d      }| d   }d|v r+|j                  dd      }t        j                  d	d|d
      }|xs t         d| d    d}d|| j                  di       j                  di       j                  d      t        j                  | d   d d d      | j                  dd      ||dS )Nstreamsh264sh264mh264lh264xlr3   z	_vapp.mxf zAPP\d+ (FC-)?r   )countz/multimedia/video/	sophoraIdz.htmlzvideos.htmlr4   r5   r6   r7   r8   r9   r:   )templater3   r=   r>   r?   
iframe_srcr   )r(   replaceresubr   r   r@   )r/   rC   	video_urlr3   r   s        r   r+   r+   Y   s   9oGG$mG(<mG@TmX_XcXcdlXmIMEek2.'U!< 
N(#5d;6G5HNC "XXmR044_bIMMjY!**4<+<>QR88OR0 r    )__doc__r   urllib.parser   rN   about
categoriespagingr   r   rA   r   r1   r*   r+    r    r   <module>rW      sm   "  " 	 '"&	  
	 &	"r    