File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/renderers/__pycache__/genshi.cpython-310.pyc
o
�N�g� � @ sV d Z zddlmZ ddlmZ ddlmZ dZW n ey# dZY nw d
d
d�ZdS )z
Genshi Renderer for Salt
� )�MarkupTemplate)�NewTextTemplate)�OldTextTemplateTF�base� �xmlc K s� t si S t| t�s
| �� } | �d�r| | �d�d d� } | �� s#i S |dks+|dkr0t| �}n
|dkr9t| �}nt | �}|j
di |���|�S ) a�
Render a Genshi template. A method should be passed in as part of the
kwargs. If no method is passed in, xml is assumed. Valid methods are:
.. code-block:
- xml
- xhtml
- html
- text
- newtext
- oldtext
Note that the ``text`` method will call ``NewTextTemplate``. If ``oldtext``
is desired, it must be called explicitly
:rtype: A Python data structure
z#!�
� N�textZnewtextZoldtext� )�HAS_LIBS�
isinstance�str�read�
startswith�find�stripr r r Zgenerate�render)Zgenshi_dataZsaltenvZsls�method�kwsZtmplr r �I/opt/saltstack/salt/lib/python3.10/site-packages/salt/renderers/genshi.pyr s
r N)r r r )�__doc__Zgenshi.templater r r r �ImportErrorr r r r r �<module> s �