
    kh                     8    d dl Z d dl mZ d dlmZ  G d d      Zy)    N)CalledProcessError)
raise_fromc                   $    e Zd ZdZddZd Zd Zy)ConfigzEConfig class to configure wkhtmltoimage, xvfb-run and meta tag prefixc                 .    || _         || _        || _        y)z
        Configure wkhtmltoimage, xvfb, meta_tag_prefix.

        :param wkhtmltoimage: wkhtmltoimage path
        :param xvfb: xvfb path
        :param meta_tag_prefix: the prefix for `imgkit` specific meta tags - by default this is `imgkit-`
        N)wkhtmltoimagexvfbmeta_tag_prefix)selfr   r	   r
   s       I/var/www/teggl/fontify/venv/lib/python3.12/site-packages/imgkit/config.py__init__zConfig.__init__   s     +	.    c                 2   | j                   sBdD ]=  }	 t        j                  |dg      j                         j	                  d      | _          n dj                  | j                         }| j                   dk7  r,	 t        | j                         5  	 ddd       | j                   S t        |      # t
        $ r
 d| _         Y t        $ r
 d| _         Y w xY w# 1 sw Y   GxY w# t        $ r*}t        t        |      |       Y d}~| j                   S d}~ww xY w)zGet wkhtmltoimage binary pathwherewhichr   utf-8command not foundz
No wkhtmltoimage executable found: "{0}"
If this file exists please check that this process can read it.
Otherwise please install wkhtmltopdf - http://wkhtmltopdf.org

        N)r   
subprocesscheck_outputstripdecoder   OSErrorformatopenIOErrorr   )r   find_cmdwkhtmltoimage_errorio_errors       r   get_wkhtmltoimagezConfig.get_wkhtmltoimage   s&    !! / =
="//?0KL &
 = F
 	 !44C$,,-  !!! -..' * =)<D& =)<D&=  C7#67BB !!!CG   9B0:C# CC# 0CCCC C# #	D,DDc                 2   | j                   sBdD ]=  }	 t        j                  |dg      j                         j	                  d      | _          n dj                  | j                         }| j                   dk7  r,	 t        | j                         5  	 ddd       | j                   S t        |      # t
        $ r
 d| _         Y t        $ r
 d| _         Y w xY w# 1 sw Y   GxY w# t        $ r*}t        t        |      |       Y d}~| j                   S d}~ww xY w)zGet xvfb-run binary pathr   zxvfb-runr   r   z
No xvfb executable found: "{0}"
If this file exists please check that this process can read it.
Otherwise please install xvfb.

        N)r	   r   r   r   r   r   r   r   r   r   r   )r   r   
xvfb_errorr   s       r   get_xvfbzConfig.get_xvfb=   s    yy / 4
4"//:0FG I
 4 FII
 	 99++:$))_  yy *%%' * 4 3DI 4 3DI4  :7:.99 yy	:r!   N) r%   zimgkit-)__name__
__module____qualname____doc__r   r    r$    r   r   r   r      s    O
/#"J"r   r   )r   r   sixr   r   r*   r   r   <module>r,      s     ) W Wr   