%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib/python3/dist-packages/reportlab/graphics/barcode/__pycache__/
Upload File :
Create Path :
Current File : //lib/python3/dist-packages/reportlab/graphics/barcode/__pycache__/usps4s.cpython-312.pyc

�

C��eA=��~�ddlmZdZdZddlmZddlmZd�ZGd�de�Z	d	�Z
d
�Zd�Zd�Z
ed
k(re
�yy)�)�print_functionz3.3.0)�USPS_4State)�Barcode)�asNativec�z�t|�}|dd|ddj�z}|jd�r|dd}|S)znormalized hexN��l���)�hex�lower�endswith)�i�rs  �C/usr/lib/python3/dist-packages/reportlab/graphics/barcode/usps4s.py�nhexr
sA���A��A�	�"�1��a���e�k�k�m��A��z�z�#��A�c�r�F���H�c�D�eZdZdZdZdZdZdZ	edddd��Z	edd	dd	�
�Z
eddd
d��Zd>d�Zd�Z
d�Zee�Zd�Zed�e�Zd�Zed�e�Zd�Zed�e�Zd�Zed�e�Zd�Zed�e�Zd�Zed�e�Zd�Zee�Zd �Zee�Zd!�Zee�Zd"�Zee�Zd#�Zee�Zd$�Zee�Zd%Zd&Zed'��Zed(��Z ed)��Z!e!jDd*��Z!ed+��Z#e#jDd,��Z#ed-��Z$e$jDd.��Z$ed/��Z%ed0��Z&ed1��Z'ed2��Z(e'jDd3��Z'e(jDd4��Z(d5�Z)d6�Z*d?d7�Z+d8�Z,d9�Z-ee-d:��Z-d;�Z.d@d<�Z/y=)ArzC USPS 4-State OneView (TM) barcode. All info from USPS-B-3200A
    ��r)g�?g��Q��?)g+����?g�v��/�?)�F�T�A�D)g��g��Q���)g+�����g�v��/��)rrrr)g���Q��?g�������?)g��_�L�?g�������?)��?r)�y�&1��?r)�width�pitch�hcz�vczc�Z�|j�t|t�rt|�n
t	|�}|s/t|�dvr|dd|dd}}n;t
dt|�z��t|�dvrt
dt|�z��||_||_|jdi|��y)N)����r!z;value+routing length must be 20, 25, 29 or 31 digits not %d)��	rz/routing length must be 5, 9 or 11 digits not %d�)
�_init�
isinstance�int�strr�len�
ValueError�	_tracking�_routing�_setKeywords)�self�value�routing�kwds    r�__init__zUSPS_4State.__init__?s����
�
��(��s�3��E�
��%�����5�z�]�*�!&�s���U�2�3�Z�w�� �!^�ad�ej�ak�!k�l�l�
��\��
)��N�QT�U\�Q]�]�^�^������
����� �C� rc�<�d|_d|_d|_d|_y�N)�_bvalue�
_codewords�_characters�	_barcodes�r1s rr(zUSPS_4State._initNs�������������rc�:�||}d|dd|z
z||dzzzS)N�Hrrr')�kindr�s�Vs    r�scalezUSPS_4State.scaleTs/��
�d�G���1�Q�4��1��:�a��!��f�$�%�%rc�2�|j�||_yr7)r(r.)r1�trackings  rrDzUSPS_4State.trackingYs���
�
��!��rc��|jSr7)r.r<s r�<lambda>zUSPS_4State.<lambda>\�
��T�^�^�rc�2�|j�||_yr7)r(r/)r1r3s  rr3zUSPS_4State.routing^s���
�
����
rc��|jSr7)r/r<s rrFzUSPS_4State.<lambda>as
��D�M�M�rc�H�d|_ttd|�d�|_y)Nrr)�_sized�min�max�
_widthSize�r1r2s  r�	widthSizezUSPS_4State.widthSizecs������c�!�E�l�1�-��rc��|jSr7)rNr<s rrFzUSPS_4State.<lambda>fs
��d�o�o�rc� �d|_||_yr7)rK�_heightSizerOs  r�
heightSizezUSPS_4State.heightSizehs����� ��rc��|jSr7)rSr<s rrFzUSPS_4State.<lambda>ks��t�'7�'7�rc� �d|_||_yr7)rK�	_fontSizerOs  r�fontSizezUSPS_4State.fontSizems�������rc��|jSr7)rWr<s rrFzUSPS_4State.<lambda>prGrc� �d|_||_yr7)rK�_humanReadablerOs  r�
humanReadablezUSPS_4State.humanReadablers�����#��rc��|jSr7)r[r<s rrFzUSPS_4State.<lambda>us��$�*=�*=�rc��|j}|s�|j}t|�}	|dk(rd}nB|dk(rt|�dz}n.|dk(rt|�dz}n|dk(rt|�dz}nt�|j
}|dd	}	|d
z}|t|d�z
}|dz}|t|d�z
}d	}dD]L\}}|}	||z
}||	|}	t|�|k7rt�t
|�D]}	|d
z}|t||	�z
}��N||_|S#t	d|z��xYw#t	d|z��xYw#t	d
|||fz��xYw)a�convert the 4 state string values to binary
        >>> print(nhex(USPS_4State('01234567094987654321','').binary))
        0x1122103b5c2004b1
        >>> print(nhex(USPS_4State('01234567094987654321','01234').binary))
        0xd138a87bab5cf3804b1
        >>> print(nhex(USPS_4State('01234567094987654321','012345678').binary))
        0x202bdc097711204d21804b1
        >>> print(nhex(USPS_4State('01234567094987654321','01234567891').binary))
        0x16907b2a24abc16a2e5c004b1
        rr%rr&i��ri�P�;z@Problem converting %s, routing code must be 0, 5, 9 or 11 digitsr�
z:Problem converting %s, barcode identifier must be 2 digits))zspecial services�)zcustomer identifier�)zsequence numberr&z+Problem converting %s, %s must be %d digits)r8r3r,r*r-rD�range)
r1r2r3�nrD�svaluer�name�nd�js
          r�binaryzUSPS_4State.binaryws���������l�l�G��G��A�
o��a�4��E���T���L��N�E���T���L��/�E���U���L��3�E�$�$��}�}�H��a��]�F�
h�������V�A�Y��'����
����V�A�Y��'���A�e�

g���R����R���!�!�A���g��6�{�B��j�(8�"�2�Y�0��������V�A�Y��/��0�

g�!�D�L����5
o� �!c�fm�!m�n�n��
h� �!]�`f�!f�g�g��g�$�%R�V\�]a�bd�Ue�%e�f�f�s$�A
D�,D�:D1�D�D.�1Ec�T�|j�s|j}t|d�\}}t|d�\}}t|d�\}}t|d�\}}t|d�\}}t|d�\}}t|d�\}}	t|d�\}}
t|d�\}}d|cxkrdks!nJdtt	|���d|����t|�|_|jdzr|dz
}|d	z}ttt|||
|	||||||f
��|_|jS)
z�convert binary value into codewords
        >>> print(USPS_4State('01234567094987654321','01234567891').codewords)
        (673, 787, 607, 1022, 861, 19, 816, 1294, 35, 602)
        i|iUri�zimproper value z passed to _2codewords A-->�i�r)	r9rh�divmodrr*�_crc11�_fcs�tuple�map)r1r2r�J�I�H�Gr�Er�C�Bs            r�	codewordszUSPS_4State.codewords�s��
����K�K�E��%��$�D�A�q��!�D�>�D�A�q��!�D�>�D�A�q��!�D�>�D�A�q��!�D�>�D�A�q��!�D�>�D�A�q��!�D�>�D�A�q��!�D�>�D�A�q��!�D�>�D�A�q��a�9��9�d�RU�VY�Z_�V`�Ra�bc�d�d�9��u�
�D�I��y�y��~�q�C�x�q�
��F�A�#�C��Q�q��1�Q�q��1�Q�q�,A�$B�C�D�O����rc�d�tdd�|j_|jjS)Nr%�)�_initNof13Table�	__class__�table1r<s rr|zUSPS_4State.table1�s%�� /��$� 7������~�~�$�$�$rc�d�tdd�|j_|jjS)Nr�N)rzr{�table2r<s rrzUSPS_4State.table2�s%�� /��"� 5������~�~�$�$�$rc�J�|js�|j}|j}g}|j}|j}|j
}t
d�D]0}||}|dkr||}	n||dz
}	||z	dzr|	dz}	||	��2t|�|_|jS)z� convert own codewords to characters
        >>> print(' '.join(hex(c)[2:] for c in USPS_4State('01234567094987654321','01234567891').characters))
        dcb 85c 8e4 b06 6dd 1740 17c6 1200 123f 1b2b
        r_iryri�)r:rwrm�appendr|rrbrn)
r1rw�fcsru�aCr|rr�cw�cs
          r�
characterszUSPS_4State.characters�s���
������I��)�)�C��A����B��[�[�F��[�[�F��2�Y�
���q�\���t�8��r�
�A��r�$�w��A���F�A�:���V��A��1��
� %�Q�x�D�����rc��|jsu|j}g}|j}|j}|jD]*\}}}}|||||z	dzd|||z	dzzz��,dj|�|_|jS)z�Get 4 state bar codes for current routing and tracking
        >>> print(USPS_4State('01234567094987654321','01234567891').barcodes)
        AADTFFDFTDADTAADAATFDTDDAAADDTDTTDAFADADDDTFFFDDTTTADFAAADFTDAADA
        rr�)r;r�r��
_bits2bars�table4�join)	r1rurv�aB�	bits2bars�dc�db�ac�abs	         r�barcodeszUSPS_4State.barcodes�s���
�~�~����A��A����B����I�#�{�{�
A���2�b���9�q��u�b�y�!�m�Q��2����A�
�->�>�?�@�
A��W�W�Q�Z�D�N��~�~�r)A)�r�r`)rr_rr)r&�r�)r%r%rar)r�r&r`r)rrr%r�)rr%rr�)r�r�r&r)rar`r�r_)r`r&r�ra)r%rrr�)r�r%rr�)r&r_rr)r�rrar�)r`rar�r&)rr`r�ra)rar�rr�)rrr&r&)r�r_r%r)r�rr`r�)rarrr�)r�rrr)r&r�r`r�)rrar�r�)r%rr�r_)rr�rar&)r�r`r�r)r%r�r&r�)r�rarr_)r`r�rr%)r�r�r%r�)r�rrr&)rarr&ra)rrar�r�)rrr`r)r%r&r�r�)r�rrar)r&r%r�r�)r`r`rr)rr�rr)rr`r�r)rar_r`r%)r�r�r&r�)rrr%ra)rr�r�r�)r�rr�r)r%r_r`r)r&r`rr&)rar%rr�)r�r�rr�)r%rr�r%)rr`rr_)rar�r&r)r`rrra)r�r�r�r&)r%r�rr)rr%rr)r&rr�r�)r�r`rara)r�rr`r�)r�r�r�r%)rr�rr)rr&r&r)rar�r%r`)r`r_r�r�rrrrc�P�|jd|j|j�S)Nr)rB�
dimensions�
widthScaler<s rrFzUSPS_4State.<lambda>
s���
�
�5����QU�Q`�Q`�0a�rc�P�|jd|j|j�S)Nr)rBr��heightScaler<s rrFzUSPS_4State.<lambda>s��d�j�j��t���t�O_�O_�.`�rc��d|jvr|jdS|jd|j|j�S)N�	_barWidthr��__dict__rBr�r�r<s r�barWidthzUSPS_4State.barWidths8���$�-�-�'��=�=��-�-��z�z�'�$�/�/�$�/�/�B�Brc�z�|jd\}}dtt|dz|�|�z|jd<y)Nrr>�R@r��r�rLrMr��r1r2rc�xs    rr�zUSPS_4State.barWidths9�����w�'���1�%'��C��d�
�1�,=�a�(@�%@��
�
�k�"rc��d|jvr|jdS|jd|j|j�S)N�_pitchrr�r<s rrzUSPS_4State.pitchs8���t�}�}�$��=�=��*�*��z�z�'�$�/�/�$�/�/�B�Brc�z�|jd\}}dtt|dz|�|�z|jd<y)Nrr>r�r�r�r�s    rrzUSPS_4State.pitch!s9�����w�'���1�"$�S��U�4�Z��):�1�%=�"=��
�
�h�rc���d|jvr|jdS|jd|j|j�|jd|j|j�z
S)N�
_barHeightr)r�rB�topsr��bottomsr<s r�	barHeightzUSPS_4State.barHeight&sW���4�=�=�(��=�=��.�.��z�z�#�d�i�i��(8�(8�9�D�J�J�s�4�<�<�X\�Xh�Xh�<i�i�irc��|jdd|jddz
}|jdd|jddz
}dtt|dz|�|�zx}|jd<||z
||z
z|_y)Nrrrr>r�r�)r�r�rLrMr�rTr�s    rr�zUSPS_4State.barHeight,s����I�I�c�N�1�����S� 1�!� 4�4���I�I�c�N�1�����S� 1�!� 4�4��.0��S��t��A�5F�q�1I�.I�I���
�
�l�+� �1�9�q��s�+��rc�B�tdtd|j��S�Nrr)rLrMrPr<s rrFzUSPS_4State.<lambda>3s��s�1�S��4�>�>�-B�'C�rc�B�tdtd|j��Sr�)rLrMrTr<s rrFzUSPS_4State.<lambda>4s���A�c�!�D�O�O�.D�(E�rc�:�|j�|jSr7)�computeSize�_widthr<s rrzUSPS_4State.width6s�������{�{�rc�:�|j�|jSr7)r��_heightr<s r�heightzUSPS_4State.height;s�������|�|�rc��yr7r'�r1�vs  rrzUSPS_4State.widthA���rc��yr7r'r�s  rr�zUSPS_4State.heightDr�rc�x�t|dd�s�|j}|j}|j}|j}|j
}|j}|j}d|z|zd|zz|_d|z|z|_	|jr%|xj|jdz|zz
c_	d|_yy)NrKr�@g333333�?T)
�getattrr�r�r�r�r�horizontalClearZone�verticalClearZoner�r�r\rXrK)r1�ws�hsr�r�rrrs        rr�zUSPS_4State.computeSizeHs����t�H�T�*����B��!�!�B����I��}�}�H��J�J�E��*�*�C��(�(�C��C�%�(�*�R��X�5�D�K��S�5��?�D�L��!�!�����
�
�c� 1�#� 5�5���D�K�+rc�R�|j�|j|jfSr7)r�rr�)r1�aW�aHs   r�wrapzUSPS_4State.wrapWs!�������z�z�4�;�;�&�&rc��i}|j}dD]J}|j||j|�|z}||j||j|�|z|z
f||<�L|S)Nr�)r�rBr�r�)r1�y0�vInfor��b�ys      r�_getBarVInfozUSPS_4State._getBarVInfo[sl����
�
�
��"�	;�A��
�
�1�T�\�\�"�-�b�0�A�����A�d�i�i��3�B�6��:�:�E�!�H�	;��rc�R�|j�|j}|j}|j}|}||jdzz}|j
}|j
|�}|jD]#}||\}	}
|j||	||
�||z
}�%|j�y)Ng�?)
r�r�r�r�r�rr�r��rect�drawHumanReadable)r1rr�bwr�r��dwr�r��yb�hbs           r�drawzUSPS_4State.drawcs��������&�&���$�$��
�]�]����
�����#�
#��
�Z�Z���!�!�"�%�����	�A��1�X�F�B���I�I�a��2�b�!�
��G�A�	�	
��� rc��|j}|j}|xr|fxsd}dj|dd|dd|dd|ddf|z�S)Nr'� rrr%r)rDr3r�)r1rDr3s   rr2zUSPS_4State.valuers[���=�=���,�,���(�w�j�.�B���x�x��!�A��x��!�}�X�a��^�H�R�S�M�R�SZ�Z�[�[rc�:�|jjd|�S)NrD)r��__setitem__rOs  rrFzUSPS_4State.<lambda>ws��d�m�m�.G�.G�
�SX�.Y�rc���|jrh|j}|j}|j}|j}|j
d|zzd|zz}|j
|||j||�yy)Nrg�������?)r\r�r��fontNamerXr��annotater2)r1rrr�rXr�s      rr�zUSPS_4State.drawHumanReadableysk������*�*�C��(�(�C��}�}�H��}�}�H����q��u�$�S��\�1�A��M�M�#�a��
�
�8�H�=�
rc	�<�tj||||||d��y)N�start)�anchor)rr�)r1r�r��textr�rXr�s       rr�zUSPS_4State.annotate�s������a��$�x���HrN)�01234567094987654321r�)r)�middle)0�__name__�
__module__�__qualname__�__doc__rNrSrWr[�dictr�r�r�r5r(rB�staticmethodrD�propertyr3rPrTrXr\rhrwr|rr�r�r�r�r�r�r��setterrr�r�r�rr�r�r�r�r�r2r�r�r'rrrrs�����J��K��I��N�������	���!�!�!�!�	���"�#���	�
�4
!��&�
���E�"��3�H�=�H� ��1�'�:�G�.��5�i�@�I�!��7�
�C�J���3�H�=�H�$��=�m�L�M�4�j�f�
�F��,��#�I�%��f�
�F�%��f�
�F� �.�*�%�J�
���!�H��F�$!�J�"�#a�b�� �!`�a��
�C��C�
�_�_�A��A��C��C�
�\�\�>��>��j��j�
���,��,��C�D�J��E�F�K�
��������
�\�\�
��
��]�]�
��
�
�'��
!�\�

�U�Y�Z�E�>�Irrc��tt|��dd}ddt|�z
z|z}d}d}t|ddd�dz}tdd	�D]"}||zd
zr	|dz|z}n|dz}|dz}|dz}�$tddd�D]G}t|||dzd�dz}td	�D]"}||zd
zr	|dz|z}n|dz}|dz}|dz}�$�I|S)
aV
    >>> usps = [USPS_4State('01234567094987654321',x).binary for x in ('','01234','012345678','01234567891')]
    >>> print(' '.join(nhex(x) for x in usps))
    0x1122103b5c2004b1 0xd138a87bab5cf3804b1 0x202bdc097711204d21804b1 0x16907b2a24abc16a2e5c004b1
    >>> print(' '.join(nhex(_crc11(x)) for x in usps))
    0x51 0x65 0x606 0x751
    rN�0�i5i��r%r�rjrr`)rr*r,rb)r2�hexbytes�gpr��datar�r�s       rrlrl�s���C��J����#�H��B�s�8�}�$�%�h�.�H�	�B�
�C��x���|�B���"�D�
�1�Q�Z����$�J�����6�2�+�C��q�&�C��u�����
��
��1�T�!�_����8�A�a��c�?�2�&��)���q��	�A��d�
�E�!��A�v�r�k���1�f���5�L�C��Q�J�D�
	���Jrc�N�d}td�D]}|dz}||dzz}|dz}�|S)zureverse unsigned 13 bit number
    >>> print(_ru13(7936), _ru13(31), _ru13(47), _ru13(7808))
    31 7936 7808 47
    r�
r)rb)rrr�s   r�_ru13r��sB��
	
�A�
�2�Y���	�a���	�Q��U�
��	�a����
�Hrc�&�|dgz}d}|dz
}td�D]]}d}td�D]}||d|zzdk7z
}�||k7r�)t|�}||kr�:||k(r|||<|dz}�J|||<|dz
}|||<|dz
}�_||dzk(sJd|dz||fz��|S)a,create and return table of 13 bit values with N bits on
    >>> T = _initNof13Table(5,1287)
    >>> print(' '.join('T[%d]=%d' % (i, T[i]) for i in (0,1,2,3,4,1271,1272,1284,1285,1286)))
    T[0]=31 T[1]=7936 T[2]=47 T[3]=7808 T[4]=55 T[1271]=6275 T[1272]=6211 T[1284]=856 T[1285]=744 T[1286]=496
    Nrri r�z!u+1(%d)!=l(%d) for %d of 13 table)rbr�)	�N�lenTrr	�ur��bcr�rs	         rrzrz�s���	
�d�V��A�	�A��Q��A�
�4�[���
���r��	 �A��1�a��d�8�a�-��B�	 �
�q�5�(��!�H���Q�3���a�4��A�a�D�
��F�A��A�a�D�
��F�A��A�a�D�
��F�A��
�q��s�8�D�8�A�a�C��!�9�D�D�8��Hrc�*�ddl}|j�S)Nr)�doctest�testmod)r�s r�_testr��s����?�?��r�__main__N)�
__future__r�__version__�__all__�!reportlab.graphics.barcode.commonr�reportlab.lib.utilsrrrrlr�rzr�r�r'rr�<module>rsY��&���
��5�(�
�rI�'�rI�h�@

�
�6��z��	�G�r

Zerion Mini Shell 1.0