
2!Vh                 @   sv   d  d l  m Z d  d l Z d  d l m Z d  d l m Z d  d l m Z d  d l	 m
 Z
 Gd d   d e
  Z d S)	    )unicode_literalsN)settings)ImproperlyConfigured)InvalidTemplateEngineError)AppConfc               @   sY  e  Z d  Z e j Z d Z d Z d Z d Z	 d Z
 d Z d Z d Z d Z d g Z d	 Z d
 g Z f  Z f  Z d Z d Z d Z d Z d Z d Z d Z d Z d Z d Z d Z d Z d Z  d+ Z! d Z" d Z# d Z$ d. Z% i  Z& d Z' i  Z( d d   Z) Gd d   d  Z* d d   Z+ d d    Z, d! d"   Z- d# d$   Z. d% d&   Z/ d' d(   Z0 d S)/CompressorConfFNz"compressor.parser.AutoSelectParserZCACHEz(compressor.storage.CompressorFileStoragezcompressor.css.CssCompressorzcompressor.js.JsCompressorz0compressor.filters.css_default.CssAbsoluteFiltermtimez$compressor.filters.jsmin.JSMinFilterzjava -jar compiler.jar zjava -jar yuicompressor.jarZyuglifyz
--terminalZcleancssi   z compressor.cache.simple_cachekey<         
   im  zmanifest.jsonc              C   s   d }  y7 d d l  m } | |   } | r< | d } | j SWn< t k
 rf t d j |     Yn t k
 r{ d  SYn Xd  S)NZJinja2r   )_engine_listzzCould not find config for '{}' in settings.TEMPLATES. COMPRESS_JINJA2_GET_ENVIRONMENT() may need to be defined in settings)Zdjango.template.loaderr   envr   formatImportError)aliasr   ZenginesZengine r   </tmp/pip-build-0sboevxh/django-compressor/compressor/conf.pyJINJA2_GET_ENVIRONMENTK   s    
z%CompressorConf.JINJA2_GET_ENVIRONMENTc               @   s   e  Z d  Z d Z d S)zCompressorConf.MetacompressN)__name__
__module____qualname__prefixr   r   r   r   Meta\   s   r   c             C   sS   | d  k r t  j } n  | d  k r7 t d d   n  t j j t j j |   S)NzCOMPRESS_ROOT defaults to z!STATIC_ROOT, please define either)r   ZSTATIC_ROOTr   ospathnormcaseabspath)selfvaluer   r   r   configure_root_   s    zCompressorConf.configure_rootc             C   s:   | d  k r t  j } n  | j d  s6 t d   n  | S)N/z;URL settings (e.g. COMPRESS_URL) must have a trailing slash)r   
STATIC_URLendswithr   )r    r!   r   r   r   configure_urlh   s
    zCompressorConf.configure_urlc             C   s   | d  k r d } n  | S)Ndefaultr   )r    r!   r   r   r   configure_cache_backendq   s    	z&CompressorConf.configure_cache_backendc             C   s   | s i t  j d 6} n  | S)Nr$   )r   r$   )r    r!   r   r   r   configure_offline_contextv   s    z(CompressorConf.configure_offline_contextc             C   s   | s i t  j d 6} n  | S)Nr$   )r   r$   )r    r!   r   r   r   !configure_template_filter_context{   s    z0CompressorConf.configure_template_filter_contextc             C   s(   t  | t t f  s$ t d   n  | S)NzTThe COMPRESS_PRECOMPILERS setting must be a list or tuple. Check for missing commas.)
isinstancelisttupler   )r    r!   r   r   r   configure_precompilers   s    z%CompressorConf.configure_precompilersi  iQ i ' i  iQ i3)1r   r   r   r   DEBUGZENABLEDVERBOSEZDEBUG_TOGGLEZPARSERZ
OUTPUT_DIRZSTORAGEZCSS_COMPRESSORZJS_COMPRESSORURLROOTZCSS_FILTERSZCSS_HASHING_METHODZ
JS_FILTERSZPRECOMPILERSZCACHEABLE_PRECOMPILERSZCLOSURE_COMPILER_BINARYZCLOSURE_COMPILER_ARGUMENTSZ
YUI_BINARYZYUI_CSS_ARGUMENTSZYUI_JS_ARGUMENTSZYUGLIFY_BINARYZYUGLIFY_CSS_ARGUMENTSZYUGLIFY_JS_ARGUMENTSZCLEAN_CSS_BINARYZCLEAN_CSS_ARGUMENTSZDATA_URI_MAX_SIZEZCACHE_BACKENDZCACHE_KEY_FUNCTIONZREBUILD_TIMEOUTZ
MINT_DELAYZMTIME_DELAYZOFFLINEZOFFLINE_TIMEOUTZOFFLINE_CONTEXTZOFFLINE_MANIFESTZTEMPLATE_FILTER_CONTEXTr   r   r"   r&   r(   r)   r*   r.   r   r   r   r   r   
   sX   
				r   )
__future__r   r   Zdjango.confr   Zdjango.core.exceptionsr   Zdjango.template.utilsr   Zappconfr   r   r   r   r   r   <module>   s   