phonenumbers.util | index phonenumbers/util.py

`Python 2.x/3.x compatibility utilities.
This module defines a collection of functions that allow the same Python
source code to be used in both Python 2.x and Python 3.x.
- prnt() prints its arguments to a file, with given separator and ending.
- to_long() creates a (long) integer object from its input parameter.
- u() allows string literals involving non-ASCII characters to be
used in both Python 2.x / 3.x, e.g. u("ā is a-with-macron")
- unicod() forces its argument to a Unicode string.
- rpr() generates a representation of a string that can be parsed in either
Python 2.x or 3.x, assuming use of the u() function above.
>>> from .util import prnt, u, rpr
>>> prnt("hello")
hello
>>> prnt("hello", "world")
hello world
>>> prnt("hello", "world", sep=":")
hello:world
>>> prnt("hello", "world", sep=":", end='!\n')
hello:world!
>>> u('ā') == u('ā')
True
>>> u('ā') == u('ā')
True
>>> a_macron = u('ā')
>>> rpr(a_macron)
"u('\\u0101')"
>>> rpr(u('abc')) == "'abc'" # In Python 2, LHS is Unicode but RHS is string
True
>>> rpr("'")
"'\\''"`

Modules
`` |  |
builtins | sys |  |

Classes
`` |  | builtins.object ImmutableMixin UnicodeMixin
class ImmutableMixin(builtins.object)
`` | `Mixin class to make objects of subclasses immutable`
| Methods defined here: __delattr__(self, name) `Implement delattr(self, name).` __setattr__(self, name, value) `Implement setattr(self, name, value).` Data descriptors defined here: __dict__ `dictionary for instance variables (if defined)` __weakref__ `list of weak references to the object (if defined)`
class UnicodeMixin(builtins.object)
`` | `Mixin class to define a __str__ method in terms of __unicode__ method`
| Methods defined here: __str__(self) `Return str(self).` Data descriptors defined here: __dict__ `dictionary for instance variables (if defined)` __weakref__ `list of weak references to the object (if defined)`

Functions
`` |  | force_unicode(s) `Force the argument to be a Unicode string, preserving None` mutating_method(func) `Decorator for methods that are allowed to modify immutable objects` print3 = print(...) `print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) Prints the values to a stream, or to sys.stdout by default. Optional keyword arguments: file: a file-like object (stream); defaults to the current sys.stdout. sep: string inserted between values, default a space. end: string appended after the last value, default a newline. flush: whether to forcibly flush the stream.` prnt(*args, **kwargs) rpr(s) `Create a representation of a Unicode string that can be used in both Python 2 and Python 3k, allowing for use of the u() function`

Data
`` |  | U_DASH = '-' U_EMPTY_STRING = '' U_PERCENT = '%' U_PLUS = '+' U_SEMICOLON = ';' U_SLASH = '/' U_SPACE = ' ' U_STAR = '*' U_TILDE = '~' U_X_LOWER = 'x' U_X_UPPER = 'X' U_ZERO = '0'