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/BaseEan.pyc
�
��Yc@s�dZddlmZmZddddddd	d
ddg
d
dddddddddg
gZd$Zd!efd"��YZd#S(%s?
Some basic common code shared between EAN and UCP generators.
i(tBarcodetTEXT_POS_TOPt0001101t0011001t0010011t0111101t0100011t0110001t0101111t0111011t0110111t0001011t0100111t0110011t0011011t0100001t0011101t0111001t0000101t0010001t0001001t0010111t000000t001011t001101t001110t010011t011001t011100t010101t010110t011010t
EanBarcodecBs�eZdZdZdZgZiZdZdZ	dZ
d�Zed�Z
d�Zd�Zd�Zd	�Zd
�Zd�Zdd�Zd
�Zd�Zd�ZRS(s+Simple base class for all EAN type barcodesi
t202t02020cCsg|D]}t|�^qS(s0Convert a string of digits into an array of ints(tint(tselftnumberti((s1/usr/share/inkscape/extensions/Barcode/BaseEan.pytintarray.scCs]g}|j||�}x=tt|��D])}t||}|j|||�q,W|S(s+Encode any side of the barcode, interleaved(R'trangetlentMAPPINGtappend(R$tfamilyR%tfamstresulttencsetR&tthismap((s1/usr/share/inkscape/extensions/Barcode/BaseEan.pytencode_interleaved2scCs=g}x0|D](}|jtd|ddd��q
W|S(s5Encode the right side of the barcode, non-interleavediNi����(R+R*(R$R%R.tnum((s1/usr/share/inkscape/extensions/Barcode/BaseEan.pytencode_right;s
&cCs0g}x#|D]}|jtd|�q
W|S(s4Encode the left side of the barcode, non-interleavedi(R+R*(R$R%R.R2((s1/usr/share/inkscape/extensions/Barcode/BaseEan.pytencode_leftCs
cGsnd}xa|D]Y}t|t�rFxA|D]}|t|�7}q)Wq
t|t�r
|d|7}q
q
W|S(sSpace out an array of numberstt (t
isinstancetlisttstrR#(R$tspacingR.tspaceR&((s1/usr/share/inkscape/extensions/Barcode/BaseEan.pyR;Js

cCs|jr|jgS|jS(s#Return a list of acceptable lengths(tlengthtlengths(R$((s1/usr/share/inkscape/extensions/Barcode/BaseEan.pytget_lengthsUs	
c	Cs�|jdd�j�}|j�s4|j|d�S|j�|j}t|�|kr�xu|jD]g}t|�|}||krc|j|j|d||d|j	d|j
dt�|| }qcqcWnt|�|kr%|j|dt|�d	jg|D]}t
|�^q�f�S|jrwt|�|jkrU|j|�}qw|j|�sw|j|d
�Sn|j|j|��S(sEncode any EAN barcodeR6R5s%Not a Number, must be digits 0-9 onlyttexttxi�ttext_poss Wrong size %d, must be %s digitss, s!Checksum failed, omit for new sum(treplacetstriptisdigitterrorR>tchecksR)textrastadd_extra_barcodetpos_xtscaleRtjoinR9tappend_checksumtverify_checksumt_encodeR'(R$tcodeR=textratsepR<((s1/usr/share/inkscape/extensions/Barcode/BaseEan.pytencode[s(6	cCstd��dS(s�
        Write your EAN encoding function, it's passed in an array of int and
        it should return a string on 1 and 0 for black and white parts
        s(_encode should be provided by parent EANN(tNotImplementedError(R$R2((s1/usr/share/inkscape/extensions/Barcode/BaseEan.pyRNxscCsG|jg|}|j|j�|t|�|jg7}dj|�S(sStandard EnclosureR5(t	guard_barR+t
center_barR8RK(R$tlefttrighttparts((s1/usr/share/inkscape/extensions/Barcode/BaseEan.pytenclosescCs�ddgt|�}d}|ddd�}x6tt|��D]"}|t||�||7}qBW|j||j}|dks�||jkr�dSt|�S(s#Generate a UPCA/EAN13/EAN8 ChecksumiiiNi����t0(R)R(R#tmagicR9(R$R%tweightR.R&tchecksum((s1/usr/share/inkscape/extensions/Barcode/BaseEan.pytget_checksum�s cCs||j|�S(s$Apply the checksum to a short number(R^(R$R%((s1/usr/share/inkscape/extensions/Barcode/BaseEan.pyRL�scCs|j|d �|dkS(sVerify any checksumi����(R^(R$R%((s1/usr/share/inkscape/extensions/Barcode/BaseEan.pyRM�sN((t__name__t
__module__t__doc__tNoneR=R<RFRGR[RTRUR'tFAMILIESR1R3R4R;R>RRRNRYR^RLRM(((s1/usr/share/inkscape/extensions/Barcode/BaseEan.pyR $s(										N(
RRRRRRRRRR(RatBaseRRR*RcR (((s1/usr/share/inkscape/extensions/Barcode/BaseEan.pyt<module>s