
K~Pc           @   sI   d  d l  m Z d  d l m Z d  d l m Z d d d e d  Z d S(   i(   t   settings(   t	   mark_safe(   t   sixi    t    c      
   C   s  t  j o t  j } | p | } | o- | d k } t |  t  r` | r` | r` t t j |    Sd } t j |   } | d d k r d } | d } n  d | k r | j d  \ }	 }
 | d k	 r |
 |  }
 q n | d }	 }
 | d k	 r	|
 d | t
 |
  }
 n  |
 r| |
 }
 n  | rd } xO t |	 d d d   D]4 \ } } | rl| | rl| | 7} n  | | 7} qBW| d d d  }	 n  | |	 |
 S(	   sp  
    Gets a number (as a number or string), and returns it as a string,
    using formats defined as arguments:

    * decimal_sep: Decimal separator symbol (for example ".")
    * decimal_pos: Number of decimal positions
    * grouping: Number of digits in every group limited by thousand separator
    * thousand_sep: Thousand separator symbol (for example ",")
    i    R   t   -i   t   .t   0Ni(   R    t   USE_L10Nt   USE_THOUSAND_SEPARATORt
   isinstancet   intR   R   t	   text_typet   splitt   Nonet   lent	   enumerate(   t   numbert   decimal_sept   decimal_post   groupingt   thousand_sept   force_groupingt   use_groupingt   signt
   str_numbert   int_partt   dec_partt   int_part_gdt   cntt   digit(    (    s2   ../Django//lib/python/django/utils/numberformat.pyt   format   s6    &N(	   t   django.confR    t   django.utils.safestringR   t   django.utilsR   R   t   FalseR   (    (    (    s2   ../Django//lib/python/django/utils/numberformat.pyt   <module>   s   	