
    i                     b    d Z ddlmZ ddlmZ dddddd	d
ZdgZdZg dZdZ	dZ
dZd Zd Zd Zy)z$
PDBe (Protein Data Bank in Europe)
    )loads)gettextzhttps://www.ebi.ac.uk/pdbe	Q55823905z.https://www.ebi.ac.uk/pdbe/api/doc/search.htmlTFJSON)websitewikidata_idofficial_api_documentationuse_official_apirequire_api_keyresultsscience)HPUBHOLDPROCWAITAUTHAUCOREPLPOLCREFITRSFWDRNz-https://www.ebi.ac.uk/pdbe/search/pdb/select?z-https://www.ebi.ac.uk/pdbe/entry/pdb/{pdb_id}zXhttps://www.ebi.ac.uk/pdbe/static/entry/{pdb_id}_deposited_chain_front_image-200x200.pngc                 2    t         |d<   d|d<   | dd|d<   |S )NurlPOSTmethodjson)qwtdata)pdbe_solr_url)queryparamss     #/root/searxng/searx/engines/pdbe.pyrequestr%   !   s(    !F5MF8 /F6NM    c           	      t   | d   }d}	 | d   r-|j                  | d   | d   d   | d   | d   | d   | d	   
      }n#|j                  | d   | d   d   ddd| d   
      }t        j                  | d         }	 t        j                  | d         }|||gS # t        $ r d}d }Y .w xY w# t        $ r d }Y %w xY w)Ntitlez8{title} - {authors} {journal} ({volume}) {page} ({year})journalcitation_titleentry_author_listr   journal_volumejournal_pagecitation_year)r(   authorsr)   volumepageyear release_yearpdb_idr5   )formatpdbe_preview_urlKeyError)resultr(   content	thumbnails       r$   construct_bodyr=   )   s   7OE MG)nn-.23A6y)./N+O, % G nn-.23A6N+ % G %++6(3C+D	$++6(3C+D	 7I&&  	  	s$   A.B 8B) B&%B&)B76B7c                    g }t        | j                        d   d   }|D ]  }|d   t        v rt        r|d   dk(  r]t	        d      j                  |d         }	 t        j                  |d   	      }t	        d
      }dj                  |||d         }d }nt        |      \  }}}|j                  t        j                  |d   	      |||d        |S #  Y xY w)NresponsedocsstatusOBSz{title} (OBSOLETE)r(   )r(   superseded_byr6   z!This entry has been superseded byz"{msg_superseded}: {url} ({pdb_id}))msg_supersededr   r5   r5   )r   r(   r;   r<   )	r   textpdb_unpublished_codeshide_obsoleter   r7   pdbe_entry_urlr=   append)	respr   r   r:   r(   superseded_urlrD   r;   r<   s	            r$   r?   r?   R   s   GJ'/D   
(44(u$0188vg8OE!/!6!6f_>U!6!V
 %%HIN:AA->&Q`Ja B G
 I(6v(>%E7I%,,F84D,E"&		
3 
D N/s   CCN)__doc__r   r   flask_babelr   about
categoriesrG   rF   r!   rH   r8   r%   r=   r?    r&   r$   <module>rQ      sd      ,"R	 [
 q ?@m &'R(r&   