ó
ø¢TQc           @   s&   d  d l  m Z d „  Z d „  Z d S(   iÿÿÿÿ(   t
   smart_textc   	      C   sÔ  i$ d d 6d d 6d d 6d d 6d	 d
 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d	 d 6d d 6d d 6d d 6d d 6d d 6d d  6d! d" 6d# d$ 6d% d& 6d' d( 6d) d* 6d+ d, 6d- d. 6d/ d0 6d1 d2 6d3 d4 6d5 d6 6d7 d8 6d9 d: 6d; d< 6d= d> 6} i$ d d 6d d 6d d 6d d 6d d
 6d% d 6d) d 6d- d 6d1 d 6d5 d 6d d 6d d 6d d 6d d 6d d 6d% d 6d) d 6d- d 6d1 d 6d5 d 6d d  6d	 d" 6d/ d$ 6d3 d& 6d! d( 6d d* 6d d, 6d d. 6d# d0 6d' d2 6d+ d4 6d d6 6d7 d8 6d= d: 6d; d< 6d9 d> 6} g  t  d? d@ ƒ D] } t | ƒ ^ q} |  j ƒ  } d } x‡ t  d d) ƒ D]v } y; | d d k r|| | | | 7} n | | | | 7} WqNt k
 rÃdA i | | dB 6} t | ƒ ‚ qNXqNW| | dC S(D   s5   Calculate Italian social security number check digit.i    t   0i   t   1i   t   2i   t   3i   t   4i   t   5i   t   6i   t   7i   t   8i	   t   9t   At   Bt   Ct   Dt   Et   Ft   Gt   Ht   It   Ji
   t   Ki   t   Li   t   Mi   t   Ni   t   Oi   t   Pi   t   Qi   t   Ri   t   Si   t   Ti   t   Ui   t   Vi   t   Wi   t   Xi   t   Yi   t   ZiA   i[   s$   Character '%(char)s' is not allowed.t   chari   (   t   ranget   chrt   uppert   KeyErrort
   ValueError(	   t   valuet   ssn_even_charst   ssn_odd_charst   xt   ssn_check_digitst   ssnt   totalt   it   msg(    (    s;   ../Django//lib/python/django/contrib/localflavor/it/util.pyt   ssn_check_digit   s0    ??888?88(c         C   s°   t  |  ƒ j d ƒ } d } x. t d d d ƒ D] } | t | | ƒ 7} q. WxK t d d d ƒ D]7 } t t | | ƒ d d ƒ \ } } | | | 7} q_ Wt  d | d d ƒ S(   s)   Calculate Italian VAT number check digit.i
   i    i   i   i   (   R    t   zfillR&   t   intt   divmod(   t
   vat_numbert   normalized_vat_numberR1   R2   t   quotientt	   remainder(    (    s;   ../Django//lib/python/django/contrib/localflavor/it/util.pyt   vat_number_check_digit#   s    #N(   t   django.utils.encodingR    R4   R<   (    (    (    s;   ../Django//lib/python/django/contrib/localflavor/it/util.pyt   <module>   s   	 