o
    øÇ[h”  ã                   @   s<   d Z ddlZddlmZ G dd„ deƒZG dd„ deƒZdS )z'
Utilities for XML generation/parsing.
é    N)ÚXMLGeneratorc                   @   s   e Zd ZdS )ÚUnserializableContentErrorN)Ú__name__Ú
__module__Ú__qualname__© r   r   ú|/home/ubuntu/experiments/live_experiments/Pythonexperiments/Otree/venv/lib/python3.10/site-packages/django/utils/xmlutils.pyr   	   s    r   c                       s.   e Zd Zddd„Zdd„ Z‡ fdd„Z‡  ZS )	ÚSimplerXMLGeneratorNc                 C   s8   |du ri }|   ||¡ |dur|  |¡ |  |¡ dS )z9Convenience method for adding an element with no childrenN)ÚstartElementÚ
charactersZ
endElement)ÚselfÚnameÚcontentsÚattrsr   r   r   ÚaddQuickElement   s   
z#SimplerXMLGenerator.addQuickElementc                 C   s(   |rt  d|¡rtdƒ‚t | |¡ d S )Nz[\x00-\x08\x0B-\x0C\x0E-\x1F]z/Control characters are not supported in XML 1.0)ÚreÚsearchr   r   r   )r   Úcontentr   r   r   r      s
   ÿzSimplerXMLGenerator.charactersc                    s*   |r
t t| ¡ ƒƒn|}tƒ  ||¡ d S )N)ÚdictÚsortedÚitemsÚsuperr
   )r   r   r   Zsorted_attrs©Ú	__class__r   r   r
       s   z SimplerXMLGenerator.startElement)NN)r   r   r   r   r   r
   Ú__classcell__r   r   r   r   r	      s    
		r	   )Ú__doc__r   Zxml.sax.saxutilsr   Ú
ValueErrorr   r	   r   r   r   r   Ú<module>   s
    