/usr/lib/python2.6/site-packages/oslo_utils
NameSizeModeActions
locale/-0755rm
tests/-0755rm
encodeutils.py63090644editdlrm
encodeutils.pyc34620644editdlrm
eventletutils.py52660644editdlrm
eventletutils.pyc32300644editdlrm
excutils.py94070644editdlrm
excutils.pyc88180644editdlrm
fileutils.py28380644editdlrm
fileutils.pyc29850644editdlrm
fixture.py15560644editdlrm
fixture.pyc17320644editdlrm
fnmatch.py26000644editdlrm
fnmatch.pyc21000644editdlrm
imageutils.py66400644editdlrm
imageutils.pyc48470644editdlrm
importutils.py23590644editdlrm
importutils.pyc24720644editdlrm
netutils.py114780644editdlrm
netutils.pyc111440644editdlrm
reflection.py70150644editdlrm
reflection.pyc61910644editdlrm
secretutils.py13170644editdlrm
secretutils.pyc9980644editdlrm
strutils.py91050644editdlrm
strutils.pyc80680644editdlrm
timeutils.py147390644editdlrm
timeutils.pyc169140644editdlrm
units.py9220644editdlrm
units.pyc5930644editdlrm
uuidutils.py13490644editdlrm
uuidutils.pyc12650644editdlrm
versionutils.py26190644editdlrm
versionutils.pyc29240644editdlrm
_i18n.py11580644editdlrm
_i18n.pyc5400644editdlrm
__init__.py00644editdlrm
__init__.pyc1420644editdlrm
Edit: /usr/lib/python2.6/site-packages/oslo_utils/netutils.pyc (11144B)
Ñò zDVc@s,dZddkZddkZddkZddkZddkZddklZddkl Z ddkl Z ddkl Z ei e ƒZdadd„Zd„Zd „Zd „Zd „Zd „Zd „Zd„Zd„Zdeifd„ƒYZded„Zedddd„ZdS(s1 Network-related utilities and helper functions. iÿÿÿÿN(tparse(t_(t_LI(t_LWcCsÉ|pdS|ddjoM|didƒ\}}|}d|jo|idƒd}q¥|}n<|idƒdjo|idƒ\}}n |}|}||djodn t|ƒfS(sInterpret a string as a host:port pair. An IPv6 address MUST be escaped if accompanied by a port, because otherwise ambiguity ensues: 2001:db8:85a3::8a2e:370:7334 means both [2001:db8:85a3::8a2e:370:7334] and [2001:db8:85a3::8a2e:370]:7334. >>> parse_host_port('server01:80') ('server01', 80) >>> parse_host_port('server01') ('server01', None) >>> parse_host_port('server01', default_port=1234) ('server01', 1234) >>> parse_host_port('[::1]:80') ('::1', 80) >>> parse_host_port('[::1]') ('::1', None) >>> parse_host_port('[::1]', default_port=1234) ('::1', 1234) >>> parse_host_port('2001:db8:85a3::8a2e:370:7334', default_port=1234) ('2001:db8:85a3::8a2e:370:7334', 1234) >>> parse_host_port(None) (None, None) it[it]t:N(NN(tNonetsplittcounttint(taddresst default_portt_hostt_portthosttport((s7/tmp/pip-build-lt8jXN/oslo.utils/oslo_utils/netutils.pytparse_host_port$s  cCs,yti|ƒSWntj otSXdS(s‹Verify that address represents a valid IPv4 address. :param address: Value to verify :type address: string :returns: bool N(tnetaddrt valid_ipv4t ExceptiontFalse(R ((s7/tmp/pip-build-lt8jXN/oslo.utils/oslo_utils/netutils.pyt is_valid_ipv4TscCs,yti|ƒSWntj otSXdS(s‹Verify that address represents a valid IPv6 address. :param address: Value to verify :type address: string :returns: bool N(Rt valid_ipv6RR(R ((s7/tmp/pip-build-lt8jXN/oslo.utils/oslo_utils/netutils.pyt is_valid_ipv6ascCsáti|ƒotdƒ}t|ƒ‚nyFtti|ƒiƒƒ}ti|ƒ}ti|i |d AƒSWnhtti fj o+ttdƒh|d6|d6ƒ‚n*t j ot tdƒ|ƒ‚nXdS( sSCalculate IPv6 address using EUI-64 specification. This method calculates the IPv6 address using the EUI-64 addressing scheme as explained in rfc2373. :param prefix: IPv6 prefix. :param mac: IEEE 802 48-bit MAC address. :returns: IPv6 address on success. :raises ValueError, TypeError: For any invalid input. s6Unable to generate IP address by EUI64 for IPv4 prefixii9sTBad prefix or mac format for generating IPv6 address by EUI-64: %(prefix)s, %(mac)s:tprefixtmacs9Bad prefix type for generating IPv6 address by EUI-64: %sNI( RRRt ValueErrorR tEUIteui64t IPNetworkt IPAddresstfirsttAddrFormatErrort TypeError(RRtmsgR((s7/tmp/pip-build-lt8jXN/oslo.utils/oslo_utils/netutils.pytget_ipv6_addr_by_EUI64ns    cCs‚tdjoqd}tii|ƒoNt|dƒiiƒ}z|~}|iƒi ƒ}WdQX|djaq~t antS(súCheck if IPv6 support is enabled on the platform. This api will look into the proc entries of the platform to figure out the status of IPv6 support on the platform. :returns: True if the platform has IPv6 support, False otherwise. s,/proc/sys/net/ipv6/conf/default/disable_ipv6trNt0( t_IS_IPV6_ENABLEDRtostpathtexiststopent__exit__t __enter__treadtstripR(tdisabled_ipv6_patht_[1]tftdisabled((s7/tmp/pip-build-lt8jXN/oslo.utils/oslo_utils/netutils.pytis_ipv6_enabledŠs & cCst|ƒp t|ƒS(s‰Verify that address represents a valid IP address. :param address: Value to verify :type address: string :returns: bool (RR(R ((s7/tmp/pip-build-lt8jXN/oslo.utils/oslo_utils/netutils.pyt is_valid_ip¡scCsDyt|ƒ}Wnttfj otSX|djo |djS(s0Verify that port represents a valid port number.iiÿÿ(R RR"R(Rtval((s7/tmp/pip-build-lt8jXN/oslo.utils/oslo_utils/netutils.pyt is_valid_port«s cCsjyItititiƒ}|idƒ|iƒ\}}|iƒ|SWntij o tƒSXdS(s>Returns the actual ipv4 of the local machine. This code figures out what source address would be used if some traffic were to be sent out to some well known address on the Internet. In this case, IP from RFC5737 is used, but the specific address does not matter much. No traffic is actually sent. s 192.0.2.0iPN(s 192.0.2.0iP(tsockettAF_INETt SOCK_DGRAMtconnectt getsocknametcloseterrort_get_my_ipv4_address(tcsocktaddrR((s7/tmp/pip-build-lt8jXN/oslo.utils/oslo_utils/netutils.pyt get_my_ipv4µs  c Cséd}tiƒ}y|dtid}Wn-ttfj otitdƒƒ|SXy ti|ƒtiddSWngttfj otitdƒ|ƒn:t j o-}titdƒh|d 6|d 6ƒnX|S( sFigure out the best ipv4 s 127.0.0.1tdefaultisOCould not determine default network interface, using 127.0.0.1 for IPv4 addressiRAsBCould not determine IPv4 address for interface %s, using 127.0.0.1sGCould not determine IPv4 address for interface %(interface)s: %(error)st interfaceR>( t netifacestgatewaysR9tKeyErrort IndexErrortLOGtinfoRt ifaddressesR(t LOCALHOSTtgtwRDte((s7/tmp/pip-build-lt8jXN/oslo.utils/oslo_utils/netutils.pyR?Çs    t_ModifiedSplitResultcBs8eZdZed„ƒZed„ƒZed„ZRS(s!Split results class for urlsplit.cCs/|iiddƒd}t|ƒ\}}|S(Nt@iiÿÿÿÿ(tnetlocRR(tselfRQRR((s7/tmp/pip-build-lt8jXN/oslo.utils/oslo_utils/netutils.pythostnameåscCs/|iiddƒd}t|ƒ\}}|S(NRPiiÿÿÿÿ(RQRR(RRRQRR((s7/tmp/pip-build-lt8jXN/oslo.utils/oslo_utils/netutils.pyRëscCs¹|io§|otti|iƒƒSh}xxti|iƒD]d\}}||joAt||tƒo||i|ƒq¥|||g||s4      0    1