o
    بf                     @   s~   d dl Z d dlmZ d dlmZ d dlmZmZ d dlm	Z	 ddl
mZ ddlmZmZ G d	d
 d
eZG dd de jZdS )    N)settings)ImproperlyConfigured)OriginTemplateDoesNotExistconditional_escape   )
BaseEngine)csrf_input_lazycsrf_token_lazyc                       s0   e Zd ZdZ fddZdd Zdd Z  ZS )TemplateStringsZtemplate_stringsc                    s>   |  }|d  }|rtdd|t | d S )NOPTIONSzUnknown options: {}z, )copypopr   formatjoinsuper__init__)selfparamsoptions	__class__ V/var/www/dscantool/venv/lib/python3.10/site-packages/django/template/backends/dummy.pyr      s   zTemplateStrings.__init__c                 C   s   t |S )N)Template)r   template_coder   r   r   from_string   s   zTemplateStrings.from_stringc              
   C   s   g }|  |D ]9}zt|tjd}| }W d    n1 s w   Y  W n ty:   |t||| df Y qw t|  S t	||| d)N)encodingzSource does not exist)triedbackend)
Ziter_template_filenamesopenr   ZFILE_CHARSETreadFileNotFoundErrorappendr   r   r   )r   Ztemplate_namer   Ztemplate_filefpr   r   r   r   get_template   s   


zTemplateStrings.get_template)__name__
__module____qualname__Zapp_dirnamer   r   r&   __classcell__r   r   r   r   r      s
    r   c                   @   s   e Zd ZdddZdS )r   Nc                 C   sJ   |d u ri }n	dd |  D }|d ur t||d< t||d< | |S )Nc                 S   s   i | ]	\}}|t |qS r   r   ).0kvr   r   r   
<dictcomp>1   s    z#Template.render.<locals>.<dictcomp>Z
csrf_inputZ
csrf_token)itemsr
   r   safe_substitute)r   contextrequestr   r   r   render-   s   
zTemplate.render)NN)r'   r(   r)   r3   r   r   r   r   r   +   s    r   )stringZdjango.confr   Zdjango.core.exceptionsr   Zdjango.templater   r   Zdjango.utils.htmlr   baser	   utilsr
   r   r   r   r   r   r   r   <module>   s    