
    Xwg                        d dl 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
 d dlmZ d dlm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  ej:                  e      Zd Z 	 	 	 	 	 	 	 	 ddZ!d Z"	 	 	 	 	 	 	 	 	 	 	 	 	 	 ddZ#y)    N)escape)
pdfencrypt)Spacer)Frame)PDFSignature)
WaterMarks)pisaContext)DEFAULT_CSS)
cleanFilespisaTempFile)
pisaParser)getBox)
PmlBaseDocPmlPageTemplatec           	         t        |j                        }|j                  d|j                  z         |j                  D ]-  \  }}}}|dk(  s|j                  d||t        |      fz         / |j                  d|j                  z         |j                  D ]-  \  }}}}|dk(  s|j                  d||t        |      fz         / t        |j                         | d	      S )
N)capacityzI<p style='background-color:red;'><strong>%d error(s) occured:</strong><p>errorz<pre>%s in line %d: %s</pre>z-<p><strong>%d warning(s) occured:</strong><p>warningz<p>%s in line %d: %s</p>F)raise_exception)	r   r   writeerrloghtml_escapewarnpisaDocumentgetvalue)destcoutmodelinemsg_s          I/var/www/horilla/myenv/lib/python3.12/site-packages/xhtml2pdf/document.pypisaErrorDocumentr%   #   s    



+CIIS
%%	  ee WdC7?II4dKPSDT7UUVW II=FGee SdC9II0D$C@P3QQRS eDD    c	                 T   |st        ||      }||_        |t        }t        | |||||       |j                  st        dd      g|_        |j                  r%|j                  j                  |j                         |j                  D ]  \  }
}||j                  vsd |
_
         |S )N)debug   )r	   pathCallbackr
   r   storyr   indexing_storyappend
anchorFrag
anchorNamelink)srcpathlink_callbackr(   default_cssxhtmlencodingcontext
xml_output_kwargsfraganchors               r$   	pisaStoryr<   5   s     d%0, ! sG[%:F ==1W334  ** f+++DI Nr&   c                 V    | y t        | t              rt        j                  |       S | S )N)
isinstancestrr   StandardEncryption)datas    r$   get_encrypt_instancerB   [   s*    |$,,T22Kr&   c                    t         j                  d| |||||       t        |||      }||j                  j	                  |       ||_        t        | ||||||||		      }t        j                         }t        ||j                  |j                  d   j                         |j                  d   j                         |j                  d   j                         j                  d      D cg c]  }|s|j                          c}|j                  d   j                         d	t        |      d
	      }d|j                  v r|j                  d   }|j                  d= nFt        d|j                        \  }}}}t!        dt#        ||||dd	d	d	d		      g|j                        }|j%                  |gt'        |j                  j)                                      |j*                  r|j+                  |j,                         n|j/                  |j,                         t        j                         }t1        j2                  |||      \  }}|s|}|r/t        j                         }t5        j6                  |||      }|r|}|t        j                         }||_        |j;                         }|j8                  j=                  |       t?                |r|S |S c c}w )NznpisaDocument options:
  src = %r
  dest = %r
  path = %r
  link_callback = %r
  xhtml = %r
  context_meta = %r)r(   r   )r7   r8   authorsubjectkeywords,titler   r)   )pagesizerD   rE   rF   rH   showBoundaryencryptallowSplittingbodyz1cm 1cm -1cm -1cm)idleftPaddingrightPaddingbottomPadding
topPadding)rN   framesrI   ) r   r(   r	   metaupdater*   r<   ioBytesIOr   pageSizestripsplitrB   templateListr   r   r   addPageTemplateslistvalues
multiBuildr+   buildr   process_docr   signr   r   r   r   )r1   r   
dest_bytesr2   r3   r(   r4   r5   r6   r8   r   r   context_metarK   	signaturer9   r7   r   xdocrM   ywhoutputhas_bg
signoutputdo_okrA   s                                r$   r   r   e   s   $ II	1	 $eh?GL)(G 
G **,C
!!||H%++-Y'--/%,\\*%=%C%C%E%K%KC%PVTU!'')Vll7#))+$W-
C %%%##F+  (/1A1AB
1a !!""# 
 %%
$ $Eg&:&:&A&A&C!DEF w}}%		'--  ZZ\F++GS&ANFFZZ\
!!&*i@F |zz|GL??DLLtLNK Ws   -K5K) Nr   NFNNN)NFro   Nr   NFNNTi  NNN)$rV   logginghtmlr   r   reportlab.libr   reportlab.platypus.flowablesr   reportlab.platypus.framesr   xhtml2pdf.builders.signsr   xhtml2pdf.builders.watermarksr   xhtml2pdf.contextr	   xhtml2pdf.defaultr
   xhtml2pdf.filesr   r   xhtml2pdf.parserr   xhtml2pdf.utilr   xhtml2pdf.xhtml2pdf_reportlabr   r   	getLogger__name__r   r%   r<   rB   r    r&   r$   <module>r      s    
  & $ / + 1 4 ) ) 4 ' ! Eg!E( 


#L 
	

r&   