U
    W[                     @   s   d Z ddlmZ ddlmZmZ ddlmZ ddl	m
Z
 ee
ddddd	d
dd Zee
ddddd	d
dd Zee
ddddd	d
dd Zee
ddddd	d
dd ZdS )z I hold HTML generation helpers.
    )log)NativeStringIOescape)
deprecated)VersionZTwisted      ztwisted.web.template)Zreplacementc                 C   s   dt |  d S )z4Wrap <pre> tags around some text and HTML-escape it.z<pre>z</pre>)r   )text r
   2/usr/lib/python3/dist-packages/twisted/web/html.pyPRE   s    r   c                 C   s:   t  }|d | D ]}|d|  q|d | S )N<ul>
z<li> %s</li>
</ul>StringIOwritegetvalue)lstioelr
   r
   r   UL   s    

r   c                 C   sB   t  }|d | D ]\}}|d||f  q|d | S )Nr   z<li> <a href="%s">%s</a></li>
r   r   )r   r   Zhrr   r
   r
   r   linkList"   s    

r   c                 O   s>   z| ||W S    t d| f  t   td Y S X dS )zoutput(func, *args, **kw) -> html string
    Either return the result of a function (which presumably returns an
    HTML-legal string) or a sparse HTMLized error message and a message
    in the server log.
    zError calling %r:zAn error occurred.N)r   msgerrr   )funcargskwr
   r
   r   output-   s    r   N)__doc__Ztwisted.pythonr   Ztwisted.python.compatr   r   r   Ztwisted.python.deprecater   Zincrementalr   r   r   r   r   r
   r
   r
   r   <module>   s   




