File: //lib/python2.7/site-packages/dns/rdtypes/ANY/LOC.pyc
�
�b�Wc @ s� d d l m Z d d l Z d d l Z d d l Z d d l m Z m Z m Z e
d � e d d � D� � Z d Z
d Z d Z d
� Z d � Z d � Z d
� Z d � Z d e j j f d � � YZ d S( i����( t divisionN( t longt xranget round_py2_compatc c s | ] } t d | � Vq d S( i
N( R ( t .0t i( ( s7 /usr/lib/python2.7/site-packages/dns/rdtypes/ANY/LOC.pys <genexpr> s i i g Y@g ��.Ag @�@c C s� | d k r d Sd } xB t t t � � D]. } | t | t d � k r) | d } Pq) q) W| d k ss | d k r� t j j d | � � n | S( Ni i s %s value out of bounds( t NoneR t lent _powsR t dnst exceptiont SyntaxError( t whatt desct expR ( ( s7 /usr/lib/python2.7/site-packages/dns/rdtypes/ANY/LOC.pyt _exponent_of! s
c C s� | d k r d } | d 9} n d } t | d � } t | d � } | | d 8} t | d � } | | d 8} t | d � } | t | d � 8} t | � } | | | | | f S( Ni i����i i��6 i`� i� ( R t int( R t signt degreest minutest seconds( ( s7 /usr/lib/python2.7/site-packages/dns/rdtypes/ANY/LOC.pyt _float_to_tuple. s
c C sj t | d � } | t | d � d 7} | t | d � d 7} | t | d � d 7} t | d � | S( Ni i g N@i g �@i g @wKAi ( t float( R t value( ( s7 /usr/lib/python2.7/site-packages/dns/rdtypes/ANY/LOC.pyt _tuple_to_float? s
c C sB t | � } t | | � d @} | t d | � d @} | d | S( Ni i
i ( R R t pow( R R
t exponentt base( ( s7 /usr/lib/python2.7/site-packages/dns/rdtypes/ANY/LOC.pyt _encode_sizeG s c C sy | d @} | d k r/ t j j d | � � n | d @d ?} | d k rb t j j d | � � n t | � t d | � S( Ni i s bad %s exponenti� i s bad %s basei
( R R
R R R ( R R
R R ( ( s7 /usr/lib/python2.7/site-packages/dns/rdtypes/ANY/LOC.pyt _decode_sizeN s
t LOCc B s� e Z d Z d d d d d d g Z e e e d � Z d e d � Z
e d e d � � Z d d d
� Z
e d d � � Z d � Z d
� Z e e e d d �Z d � Z d � Z e e e d d �Z RS( s� LOC record
@ivar latitude: latitude
@type latitude: (int, int, int, int, sign) tuple specifying the degrees, minutes,
seconds, milliseconds, and sign of the coordinate.
@ivar longitude: longitude
@type longitude: (int, int, int, int, sign) tuple specifying the degrees,
minutes, seconds, milliseconds, and sign of the coordinate.
@ivar altitude: altitude
@type altitude: float
@ivar size: size of the sphere
@type size: float
@ivar horizontal_precision: horizontal precision
@type horizontal_precision: float
@ivar vertical_precision: vertical precision
@type vertical_precision: float
@see: RFC 1876t latitudet longitudet altitudet sizet horizontal_precisiont vertical_precisionc C s t t | � j | | � t | t � s7 t | t � rF t | � } n t | t � rd t | � } n | | _ t | t � s� t | t � r� t | � } n t | t � r� t | � } n | | _ t | � | _
t | � | _ t | � | _ t | � | _
d S( s� Initialize a LOC record instance.
The parameters I{latitude} and I{longitude} may be either a 4-tuple
of integers specifying (degrees, minutes, seconds, milliseconds),
or they may be floating point values specifying the number of
degrees. The other parameters are floats. Size, horizontal precision,
and vertical precision are specified in centimeters.N( t superR t __init__t
isinstanceR R R R R R R! R"