HEX
Server: Apache
System: Linux opal14.opalstack.com 3.10.0-1160.108.1.el7.x86_64 #1 SMP Thu Jan 25 16:17:31 UTC 2024 x86_64
User: curbgloabal_opal (1234)
PHP: 8.1.29
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //usr/share/inkscape/extensions/Barcode/Base.pyc
�
��Yc@s{dZddlZddlZddlmZed�\ZZed�\ZZ	Z
dZdZde
fd	��YZdS(
s2
Base module for rendering barcodes for Inkscape.
i����N(tetreeiis4font-size:%dpx;text-align:center;text-anchor:middle;uhttp://www.w3.org/2000/svgtBarcodecBskeZdZdZdZdZd�Zd�Zd�Z	dd�Z
d�Zd	�Zd
�Z
d�ZRS(
s.Provide a base class for all barcode renderersii	cCs$tjjd||j|f�dS(sCause an error to be reporteds&Error encoding '%s' as %s barcode: %s
tERROR(tsyststderrtwritetname(tselfttexttmsg((s./usr/share/inkscape/extensions/Barcode/Base.pyterror&s	cCstd��dS(sn
        Replace this with the encoding function, it should return
        a string of ones and zeros
        s'You need to write an encode() function.N(tNotImplementedError(RR((s./usr/share/inkscape/extensions/Barcode/Base.pytencode,scCs|p	i}|jdd�|_g|_g|_t|jdd��|_t|jdd��|_|jdd�|_|jdd�|_	|jd|j
�|_|jd	t�|_
|jr�t|jjd
��|_n|js�td��ndS(NtdocumenttxityRtscaleitheightttext_poss//@ids No string specified for barcode.(tgettNoneR
t	known_idst_extratinttpos_xtpos_yRRtdefault_heightRtTEXT_POS_BOTTOMtpos_texttlisttxpatht
ValueError(Rtparam((s./usr/share/inkscape/extensions/Barcode/Base.pyt__init__3s				telementcCsDd}x'||jkr/|d7}d|}q	W|jj|�|S(s%Get the next useful id (and claim it)iis	barcode%d(Rtappend(RRtindex((s./usr/share/inkscape/extensions/Barcode/Base.pytget_idFs
cKsWddlm}|j|d<|j|d<d|d<|jj|||�j��dS(s?Add an extra barcode along side this one, used for ean13 extrasi(t
getBarcodeRR
RN(tR&RR
RRR#tgenerate(RtbarcodetkwR&((s./usr/share/inkscape/extensions/Barcode/Base.pytadd_extra_barcodeOs



cCs1|j|j�}|dkr"dS|jd�}tjdt�}|jd|�|jdd�|jr�|jdd	|j|j	|jf�n |jdd
|j|j	f�d}d}t�}xC|j
|�D]2}|jt|d��}t|d�t|d
�}	|dr�|j
|d�tj|dt�}
|
jdt|��|
jdt|d��|jtkr�|
jdt|d|j��n|
jdd||f�|
jd
t|	��|
jdt|d��n||	7}|d7}q�Wx-|jD]"}|dk	r|j|�qqW|}tj|dt�}
|
jdtt|d���|
jdtt|�|jd��|jtkr�|
jdt|jt|�|j��n|
jdt|j�|
jdd�|
jdd|�t|j�|
_|S(s'Generate the actual svg from the codingRNR)s{%s}gtidtstylesfill: black;t	transformstranslate(%d,%d) scale(%f)stranslate(%d,%d)iitwidthRttops{%s}rectRRs%s_bar%dRs{%s}textis+{http://www.w3.org/XML/1998/namespace}spacetpreserves%s_text(RRR%RtElementtSVG_URItsetRRRtgraphical_arrayt	get_styleRtaddt
SubElementtstrRtTEXT_POS_TOPt	font_sizeRRR#tminRRtmaxt
TEXT_TEMPLATE(RtstringRR)tbar_idt
bar_offsetttopstdatumR-R/trecttextrat	bar_widthR((s./usr/share/inkscape/extensions/Barcode/Base.pyR(WsX		
$
 '-cCs8gtj|�D]$\}}|tt|��f^qS(s3Converts black and white markets into a space array(t	itertoolstgroupbytlenR(RtcodeRR((s./usr/share/inkscape/extensions/Barcode/Base.pyR5�scCs�idd6dd6td6}|tkr=t|j�|d<n|tkrpt|j�t|jd�|d<n|tkr�t|d<n|S(s5Returns the styles that should be applied to each bariR/iR0RRi(tTruet	BLACK_BARRRtTALL_BARR;t	WHITE_BARtFalse(RR$tresult((s./usr/share/inkscape/extensions/Barcode/Base.pyR6�s'
N(t__name__t
__module__t__doc__RR;RRR
RR!R%R+R(R5R6(((s./usr/share/inkscape/extensions/Barcode/Base.pyR s						=	(RSRGRtlxmlRtrangeRR:RNRLRMR>R3tobjectR(((s./usr/share/inkscape/extensions/Barcode/Base.pyt<module>s