Ñò
e>õGc @ s¦ d Z d d k Z d d k Z e d d d d „ Z d d d d d
„ Z d d d „ Z d
d „ Z d „ Z d d d „ Z d d „ Z
d d d d d d d g Z d S( sÆ
Number Helpers
Provides methods for converting numbers into formatted strings.
Functions are provided for phone numbers, currencies, percentages,
precision, positional notation, and file size.
iÿÿÿÿNt -t c C s£ t | ƒ i ƒ } | o t i d d | | ƒ } n t i d d | | f | ƒ } | o% t | ƒ i ƒ o | d | 7} n | o d | | | f } n | S( sE
Format a ``number`` into a US phone number string.
``area_code``
When enabled, adds parentheses around the area code. Defaults to
False.
``delimiter``
The delimiter to use, defaults to "-".
``extension``
Specifies an extension to add to the end of the generated number.
``country_code``
Sets the country code for the phone number.
Examples::
>>> number_to_phone(1235551234)
'123-555-1234'
>>> number_to_phone(1235551234, area_code=True)
'(123) 555-1234'
>>> number_to_phone(1235551234, delimiter=" ")
'123 555 1234'
>>> number_to_phone(1235551234, area_code=True, extension=555)
'(123) 555-1234 x 555'
>>> number_to_phone(1235551234, country_code=1)
'1-123-555-1234'
s ([0-9]{1,3})([0-9]{3})([0-9]{4})s (\1) \2%s\3s
\1%s\2%s\3s x %ss %s%s%s( t strt stript ret sub( t numbert area_codet delimitert extensiont country_code( ( s; /usr/lib/python2.6/site-packages/webhelpers/rails/number.pyt number_to_phone
s
t $i t .t ,c C ss | d j o
d } n t | | ƒ i d ƒ } | t | d | ƒ } t | ƒ d j o | | | d 7} n | S( s›
Format a ``number`` into a currency string.
``precision``
Indicates the level of precision. Defaults to 2.
``unit``
Sets the currency type. Defaults to "$".
``separator``
Used to set what the unit separation should be. Defaults to ".".
``delimiter``
The delimiter character to use. Defaults to ",".
Examples::
>>> number_to_currency(1234567890.50)
'$1,234,567,890.50'
>>> number_to_currency(1234567890.506)
'$1,234,567,890.51'
>>> number_to_currency(1234567890.50, unit="£", separator=",", delimiter="")
'£1234567890,50'
i R R
i ( t number_with_precisiont splitt number_with_delimitert len( R t unitt precisiont separatorR t partst num( ( s; /usr/lib/python2.6/site-packages/webhelpers/rails/number.pyt number_to_currency6 s
i c C sZ t | | ƒ } | i d ƒ } t | ƒ d j o
| d d S| d | | d d Sd S( s°
Format a ``number`` as into a percentage string.
``precision``
The level of precision, defaults to 3
``separator``
The unit separator to be used. Defaults to "."
Examples::
>>> number_to_percentage(100)
'100.000%'
>>> number_to_percentage(100, precision=0)
'100%'
>>> number_to_percentage(302.0574, precision=2)
'302.06%'
R
i i t %i N( R R R ( R R R R ( ( s; /usr/lib/python2.6/site-packages/webhelpers/rails/number.pyt number_to_percentageU s
i c C s¨ | d j o d S| d j o d | S| d j o d | | d S| d j o d | | d S| d j o d | | d S| d j o d
| | d Sd Sd S( s:
Return a formatted-for-humans file size.
``precision``
The level of precision, defaults to 1
Examples::
>>> number_to_human_size(123)
'123 Bytes'
>>> number_to_human_size(1234)
'1.2 KB'
>>> number_to_human_size(12345)
'12.1 KB'
>>> number_to_human_size(1234567)
'1.2 MB'
>>> number_to_human_size(1234567890)
'1.1 GB'
>>> number_to_human_size(1234567890123)
'1.1 TB'
>>> number_to_human_size(1234567, 2)
'1.18 MB'
i s 1 Bytei s %d Bytesi s %%.%if KBg @i s %%.%if MBi s %%.%if GBi s %%.%if TBR Ni i @g 0Al g ÐAl g pB( ( t sizeR ( ( s; /usr/lib/python2.6/site-packages/webhelpers/rails/number.pyt number_to_human_sizeo s
c O s t i d t d ƒ t | | Ž S( s- Deprecated: Use number_to_human_size instead.sU The human_size function has been deprecated, please use number_to_human_size instead.i ( t warningst warnt DeprecationWarningR ( t argst kwargs( ( s; /usr/lib/python2.6/site-packages/webhelpers/rails/number.pyt
human_size— s
c C sI t | ƒ i d ƒ } t i d d | t | d ƒ ƒ | d <| i | ƒ S( sç
Format a ``number`` with grouped thousands using ``delimiter``.
``delimiter``
The delimiter character to use, defaults to ","
``separator``
Used to set what the unit separation should be. Defaults to "."
Example::
>>> number_with_delimiter(12345678)
'12,345,678'
>>> number_with_delimiter(12345678.05)
'12,345,678.05'
>>> number_with_delimiter(12345678, delimiter=".")
'12.345.678'
R
s (\d)(?=(\d\d\d)+(?!\d))s \1%si ( R R R R t join( R R R R ( ( s; /usr/lib/python2.6/site-packages/webhelpers/rails/number.pyR s 'c C s d t | ƒ d } | | S( s
Format a ``number`` with a level of ``precision``.
``precision``
The level of precision, defaults to 3
Example::
>>> number_with_precision(111.2346)
'111.235'
>>> number_with_precision(111.2346, 2)
'111.23'
s %01.t f( R ( R R t formstr( ( s; /usr/lib/python2.6/site-packages/webhelpers/rails/number.pyR ´ s R R R R R R R" ( t __doc__R R t FalseR R R R R" R R t __all__( ( ( s; /usr/lib/python2.6/site-packages/webhelpers/rails/number.pyt