[netaddr] r346 committed - Python 3.x support added....

9 views
Skip to first unread message

codesite...@google.com

unread,
Apr 28, 2010, 6:21:21 PM4/28/10
to net...@googlegroups.com
Revision: 346
Author: drkjam
Date: Wed Apr 28 15:12:10 2010
Log: Python 3.x support added.

Made some fairly minro 2.x code changes highlighted by 3.x conversion
process.
Fixed Issue 52.
Fixed Issue 55.


http://code.google.com/p/netaddr/source/detail?r=346

Modified:
/branches/rel-0.7.x/MANIFEST.in
/branches/rel-0.7.x/lib/netaddr/__init__.py
/branches/rel-0.7.x/lib/netaddr/core.py
/branches/rel-0.7.x/lib/netaddr/eui/__init__.py
/branches/rel-0.7.x/lib/netaddr/eui/iab.idx
/branches/rel-0.7.x/lib/netaddr/eui/iab.txt
/branches/rel-0.7.x/lib/netaddr/eui/ieee.py
/branches/rel-0.7.x/lib/netaddr/eui/oui.idx
/branches/rel-0.7.x/lib/netaddr/eui/oui.txt
/branches/rel-0.7.x/lib/netaddr/fbsocket.py
/branches/rel-0.7.x/lib/netaddr/ip/__init__.py
/branches/rel-0.7.x/lib/netaddr/ip/ipv4-address-space
/branches/rel-0.7.x/lib/netaddr/ip/rfc1924.py
/branches/rel-0.7.x/lib/netaddr/strategy/eui48.py
/branches/rel-0.7.x/lib/netaddr/strategy/eui64.py
/branches/rel-0.7.x/lib/netaddr/strategy/ipv4.py
/branches/rel-0.7.x/lib/netaddr/strategy/ipv6.py
/branches/rel-0.7.x/lib/netaddr/tests/__init__.py
/branches/rel-0.7.x/lib/netaddr/tests/ip/matches.txt
/branches/rel-0.7.x/lib3/netaddr/__init__.py
/branches/rel-0.7.x/lib3/netaddr/core.py
/branches/rel-0.7.x/lib3/netaddr/eui/__init__.py
/branches/rel-0.7.x/lib3/netaddr/eui/iab.idx
/branches/rel-0.7.x/lib3/netaddr/eui/iab.txt
/branches/rel-0.7.x/lib3/netaddr/eui/ieee.py
/branches/rel-0.7.x/lib3/netaddr/eui/oui.idx
/branches/rel-0.7.x/lib3/netaddr/eui/oui.txt
/branches/rel-0.7.x/lib3/netaddr/fbsocket.py
/branches/rel-0.7.x/lib3/netaddr/ip/__init__.py
/branches/rel-0.7.x/lib3/netaddr/ip/iana.py
/branches/rel-0.7.x/lib3/netaddr/ip/intset.py
/branches/rel-0.7.x/lib3/netaddr/ip/ipv4-address-space
/branches/rel-0.7.x/lib3/netaddr/ip/rfc1924.py
/branches/rel-0.7.x/lib3/netaddr/ip/sets.py
/branches/rel-0.7.x/lib3/netaddr/strategy/__init__.py
/branches/rel-0.7.x/lib3/netaddr/strategy/eui48.py
/branches/rel-0.7.x/lib3/netaddr/strategy/eui64.py
/branches/rel-0.7.x/lib3/netaddr/strategy/ipv4.py
/branches/rel-0.7.x/lib3/netaddr/strategy/ipv6.py
/branches/rel-0.7.x/lib3/netaddr/tests/__init__.py
/branches/rel-0.7.x/lib3/netaddr/tests/core/pubsub.txt
/branches/rel-0.7.x/lib3/netaddr/tests/eui/eui64.txt
/branches/rel-0.7.x/lib3/netaddr/tests/eui/pubsub.txt
/branches/rel-0.7.x/lib3/netaddr/tests/ip/matches.txt
/branches/rel-0.7.x/lib3/netaddr/tests/ip/multicast.txt
/branches/rel-0.7.x/lib3/netaddr/tests/ip/nmap.txt
/branches/rel-0.7.x/lib3/netaddr/tests/ip/sets.txt
/branches/rel-0.7.x/lib3/netaddr/tests/ip/socket_fallback.txt
/branches/rel-0.7.x/lib3/netaddr/tests/ip/subnet.txt
/branches/rel-0.7.x/lib3/netaddr/tests/ip/tutorial.txt
/branches/rel-0.7.x/lib3/netaddr/tests/strategy/eui48.txt
/branches/rel-0.7.x/lib3/netaddr/tests/strategy/ipv4.txt
/branches/rel-0.7.x/lib3/netaddr/tests/strategy/ipv6.txt
/branches/rel-0.7.x/release.bat
/branches/rel-0.7.x/release.py
/branches/rel-0.7.x/release.sh
/branches/rel-0.7.x/setup.py
/branches/rel-0.7.x/setup_egg.py

=======================================
--- /branches/rel-0.7.x/MANIFEST.in Tue Aug 18 12:47:26 2009
+++ /branches/rel-0.7.x/MANIFEST.in Wed Apr 28 15:12:10 2010
@@ -16,28 +16,28 @@
include docs/epydoc.css
recursive-include docs/api *

-include netaddr/__init__.py
-include netaddr/core.py
-include netaddr/fbsocket.py
-
-recursive-include netaddr/eui *.py *.txt *.idx
-
-recursive-include netaddr/ip *.py
-include netaddr/ip/ipv4-address-space
-include netaddr/ip/ipv6-address-space
-include netaddr/ip/multicast-addresses
-
-recursive-include netaddr/strategy *.py
-
-include netaddr/tests/__init__.py
-include netaddr/tests/netaddr_coverage.sh
-include netaddr/tests/netaddr_coverage_report.txt
-recursive-include netaddr/tests/core *.txt
-recursive-include netaddr/tests/eui *.txt
-recursive-include netaddr/tests/ip *.txt
-recursive-include netaddr/tests/strategy *.txt
-
-include netaddr/tools/netaddr
+include lib*/netaddr/__init__.py
+include lib*/netaddr/core.py
+include lib*/netaddr/fbsocket.py
+
+recursive-include lib*/netaddr/eui *.py *.txt *.idx
+
+recursive-include lib*/netaddr/ip *.py
+include lib*/netaddr/ip/ipv4-address-space
+include lib*/netaddr/ip/ipv6-address-space
+include lib*/netaddr/ip/multicast-addresses
+
+recursive-include lib*/netaddr/strategy *.py
+
+include lib*/netaddr/tests/__init__.py
+include lib*/netaddr/tests/netaddr_coverage.sh
+include lib*/netaddr/tests/netaddr_coverage_report.txt
+recursive-include lib*/netaddr/tests/core *.txt
+recursive-include lib*/netaddr/tests/eui *.txt
+recursive-include lib*/netaddr/tests/ip *.txt
+recursive-include lib*/netaddr/tests/strategy *.txt
+
+include lib*/netaddr/tools/netaddr

global-exclude *.pyc
global-exclude *.svn*
=======================================
--- /branches/rel-0.7.x/lib/netaddr/__init__.py Wed Dec 2 06:13:23 2009
+++ /branches/rel-0.7.x/lib/netaddr/__init__.py Wed Apr 28 15:12:10 2010
@@ -10,7 +10,8 @@
if _sys.version_info[0:2] < (2, 4):
raise RuntimeError('Python 2.4.x or higher is required!')

-__version__ = '0.7.4'
+VERSION = (0, 7, 5, '-pre', 0)
+__version__ = '%d.%d.%d%s' % VERSION[0:4] + str(VERSION[4] or '')

from netaddr.core import AddrConversionError, AddrFormatError, \
NotRegisteredError
=======================================
--- /branches/rel-0.7.x/lib/netaddr/core.py Sun Aug 2 14:06:36 2009
+++ /branches/rel-0.7.x/lib/netaddr/core.py Wed Apr 28 15:12:10 2010
@@ -181,3 +181,20 @@
def __repr__(self):
return _pprint.pformat(self.__dict__)

+#-----------------------------------------------------------------------------
+def dos2unix(filename):
+ """
+ Replace DOS line endings (CRLF) with UNIX line endings (LF) in file.
+
+ """
+ data = open(filename, "rb").read()
+ data.close()
+
+ if '\0' in data:
+ raise ValueError('file contains binary data: %s!' % filename)
+
+ newdata = data.replace("\r\n", "\n")
+ if newdata != data:
+ f = open(filename, "wb")
+ f.write(newdata)
+ f.close()
=======================================
--- /branches/rel-0.7.x/lib/netaddr/eui/__init__.py Wed Dec 2 06:13:23 2009
+++ /branches/rel-0.7.x/lib/netaddr/eui/__init__.py Wed Apr 28 15:12:10 2010
@@ -58,7 +58,7 @@

# Discover offsets.
if self.value in ieee.OUI_INDEX:
- fh = open(ieee.OUI_REGISTRY, 'rb')
+ fh = open(ieee.OUI_REGISTRY)
for (offset, size) in ieee.OUI_INDEX[self.value]:
fh.seek(offset)
data = fh.read(size)
@@ -80,7 +80,7 @@

for line in data.split("\n"):
line = line.strip()
- if line == '':
+ if not line:
continue

if '(hex)' in line:
@@ -108,7 +108,7 @@
@return: hexadecimal string representation of this OUI (in network
byte
order).
"""
- return hex(self.value).rstrip('L').lower()
+ return '0x%x' % self._value

def registration(self, index=0):
"""
@@ -208,7 +208,7 @@

# Discover offsets.
if self.value in ieee.IAB_INDEX:
- fh = open(ieee.IAB_REGISTRY, 'rb')
+ fh = open(ieee.IAB_REGISTRY)
(offset, size) = ieee.IAB_INDEX[self.value][0]
self.record['offset'] = offset
self.record['size'] = size
@@ -223,7 +223,7 @@
"""Returns a dict record from raw IAB record data"""
for line in data.split("\n"):
line = line.strip()
- if line == '':
+ if not line:
continue

if '(hex)' in line:
@@ -244,7 +244,7 @@
@return: hexadecimal string representation of this IAB (in network
byte order)
"""
- return hex(self.value).rstrip('L').lower()
+ return '0x%x' % self._value

def registration(self):
""" The IEEE registration details for this IAB"""
@@ -469,7 +469,7 @@
"""
@return: hexadecimal string representation of this EUI identifier.
"""
- return hex(self._value).rstrip('L').lower()
+ return '0x%x' % self._value

def __eq__(self, other):
"""
@@ -513,8 +513,8 @@

def __gt__(self, other):
"""
- @return: C{True} if this EUI object is numerically greater in
value than
- other, C{False} otherwise.
+ @return: C{True} if this EUI object is numerically greater in value
+ than other, C{False} otherwise.
"""
try:
return (self.version, self._value) > (other.version,
other._value)
@@ -541,22 +541,21 @@

@property
def packed(self):
- """@return: binary packed string of this address"""
+ """The value of this EUI address as a packed binary string."""
return self._module.int_to_packed(self._value)

@property
def words(self):
- """
- A list of unsigned integer octets found in this EUI address.
- """
+ """A list of unsigned integer octets found in this EUI address."""
return self._module.int_to_words(self._value)

@property
def bin(self):
"""
- @return: standard Python binary representation of this address. A
back
- port of the format provided by the builtin bin() type
available in
- Python 2.6.x and higher."""
+ The value of this EUI adddress in standard Python binary
+ representational form (0bxxx). A back port of the format provided
by
+ the builtin bin() function found in Python 2.6.x and higher.
+ """
return self._module.int_to_bin(self._value)

def eui64(self):
=======================================
--- /branches/rel-0.7.x/lib/netaddr/eui/iab.idx Tue Aug 18 12:47:26 2009
+++ /branches/rel-0.7.x/lib/netaddr/eui/iab.idx Wed Apr 28 15:12:10 2010
@@ -21,2821 +21,3068 @@
84680724,3049,121
84680725,3170,169
84680726,3339,192
-84680727,3531,182
-84680728,3713,111
-84680729,3824,205
-84680730,4029,174
-84680731,4203,164
-84680732,4367,110
-84680733,4477,163
-84680734,4640,186
-84680735,4826,153
-84680736,4979,160
-84680737,5139,159
-84680738,5298,147
-84680739,5445,148
-84680740,5593,114
-84680741,5707,163
-84680742,5870,161
-84680743,6031,152
-84680744,6183,181
-84680745,6364,151
-84680746,6515,134
-84680747,6649,152
-84680748,6801,175
-84680749,6976,133
-84680750,7109,152
-84680751,7261,145
-84680752,7406,195
-84680753,7601,177
-84680754,7778,120
-84680755,7898,151
-84680756,8049,160
-84680757,8209,183
-84680758,8392,159
-84680759,8551,150
-84680760,8701,144
-84680761,8845,161
-84680762,9006,150
-84680763,9156,144
-84680764,9300,190
-84680765,9490,149
-84680766,9639,149
-84680767,9788,119
-84680768,9907,186
-84680769,10093,171
-84680770,10264,203
-84680771,10467,153
-84680772,10620,57
-84680773,10677,163
-84680774,10840,57
-84680775,10897,131
-84680776,11028,135
-84680777,11163,142
-84680778,11305,167
-84680779,11472,161
-84680780,11633,152
-84680782,11785,183
-84680783,11968,140
-84680784,12108,130
-84680785,12238,135
-84680786,12373,161
-84680788,12534,175
-84680789,12709,175
-84680790,12884,121
-84680791,13005,113
-84680792,13118,143
-84680793,13261,191
-84680794,13452,151
-84680795,13603,139
-84680796,13742,168
-84680797,13910,152
-84680798,14062,133
-84680799,14195,171
-84680800,14366,57
-84680801,14423,169
-84680802,14592,57
-84680803,14649,151
-84680804,14800,57
-84680805,14857,139
-84680806,14996,57
-84680807,15053,176
-84680808,15229,129
-84680809,15358,152
-84680810,15510,116
-84680811,15626,159
-84680812,15785,157
-84680813,15942,143
-84680814,16085,171
-84680815,16256,146
-84680816,16402,159
-84680817,16561,157
-84680818,16718,186
-84680819,16904,185
-84680820,17089,181
-84680821,17270,123
-84680822,17393,175
-84680823,17568,146
-84680824,17714,121
-84680825,17835,125
-84680826,17960,111
-84680827,18071,159
-84680828,18230,150
-84680829,18380,142
-84680830,18522,111
-84680831,18633,141
-84680832,18774,113
-84680833,18887,161
-84680834,19048,130
-84680835,19178,111
-84680836,19289,161
-84680837,19450,155
-84680838,19605,158
-84680839,19763,168
-84680840,19931,144
-84680841,20075,147
-84680842,20222,156
-84680843,20378,141
-84680844,20519,123
-84680845,20642,201
-84680846,20843,122
-84680847,20965,187
-84680848,21152,168
-84680849,21320,152
-84680850,21472,221
-84680851,21693,157
-84680852,21850,182
-84680853,22032,121
-84680854,22153,161
-84680855,22314,132
-84680856,22446,154
-84680857,22600,207
-84680858,22807,198
-84680859,23005,128
-84680860,23133,149
-84680861,23282,111
-84680862,23393,152
-84680863,23545,172
-84680864,23717,110
-84680865,23827,151
-84680866,23978,176
-84680867,24154,120
-84680868,24274,147
-84680869,24421,142
-84680870,24563,161
-84680871,24724,154
-84680872,24878,133
-84680873,25011,178
-84680874,25189,150
-84680875,25339,154
-84680876,25493,127
-84680877,25620,140
-84680878,25760,145
-84680879,25905,168
-84680880,26073,162
-84680881,26235,156
-84680882,26391,142
-84680883,26533,137
-84680884,26670,157
-84680885,26827,153
-84680886,26980,190
-84680887,27170,116
-84680888,27286,138
-84680889,27424,137
-84680890,27561,137
-84680891,27698,118
-84680892,27816,137
-84680893,27953,124
-84680894,28077,196
-84680895,28273,57
-84680896,28330,138
-84680897,28468,113
-84680898,28581,181
-84680899,28762,122
-84680900,28884,213
-84680901,29097,147
-84680902,29244,202
-84680903,29446,174
-84680904,29620,145
-84680905,29765,148
-84680906,29913,142
-84680907,30055,136
-84680908,30191,178
-84680909,30369,107
-84680910,30476,152
-84680911,30628,115
-84680912,30743,124
-84680913,30867,174
-84680914,31041,171
-84680915,31212,160
-84680916,31372,151
-84680917,31523,126
-84680918,31649,133
-84680919,31782,154
-84680920,31936,172
-84680921,32108,131
-84680922,32239,151
-84680923,32390,129
-84680924,32519,127
-84680925,32646,171
-84680926,32817,148
-84680927,32965,154
-84680928,33119,123
-84680929,33242,148
-84680930,33390,167
-84680931,33557,116
-84680932,33673,176
-84680933,33849,142
-84680934,33991,149
-84680935,34140,151
-84680936,34291,173
-84680937,34464,154
-84680938,34618,148
-84680939,34766,148
-84680940,34914,138
-84680941,35052,150
-84680942,35202,167
-84680943,35369,156
-84680944,35525,173
-84680945,35698,168
-84680946,35866,138
-84680947,36004,194
-84680948,36198,140
-84680949,36338,225
-84680950,36563,161
-84680951,36724,160
-84680952,36884,132
-84680953,37016,155
-84680954,37171,161
-84680955,37332,174
-84680956,37506,169
-84680957,37675,145
-84680958,37820,117
-84680959,37937,159
-84680960,38096,154
-84680961,38250,144
-84680962,38394,201
-84680963,38595,162
-84680964,38757,130
-84680965,38887,125
-84680966,39012,122
-84680967,39134,132
-84680968,39266,137
-84680969,39403,135
-84680970,39538,118
-84680971,39656,126
-84680972,39782,154
-84680973,39936,121
-84680974,40057,116
-84680975,40173,138
-84680976,40311,130
-84680977,40441,177
-84680978,40618,117
-84680979,40735,143
-84680980,40878,154
-84680981,41032,128
-84680982,41160,187
-84680983,41347,117
-84680984,41464,121
-84680985,41585,201
-84680986,41786,146
-84680987,41932,133
-84680988,42065,143
-84680989,42208,164
-84680990,42372,144
-84680991,42516,152
-84680992,42668,142
-84680993,42810,139
-84680994,42949,131
-84680995,43080,170
-84680996,43250,154
-84680997,43404,126
-84680998,43530,199
-84680999,43729,166
-84681000,43895,129
-84681001,44024,168
-84681002,44192,145
-84681003,44337,215
-84681004,44552,162
-84681005,44714,165
-84681006,44879,110
-84681007,44989,128
-84681008,45117,157
-84681009,45274,154
-84681010,45428,133
-84681011,45561,139
-84681012,45700,128
-84681013,45828,119
-84681014,45947,139
-84681015,46086,212
-84681016,46298,147
-84681017,46445,143
-84681018,46588,135
-84681019,46723,128
-84681020,46851,161
-84681021,47012,184
-84681022,47196,172
-84681023,47368,148
-84681024,47516,138
-84681025,47654,156
-84681026,47810,123
-84681027,47933,118
-84681028,48051,147
-84681029,48198,129
-84681030,48327,141
-84681031,48468,171
-84681032,48639,114
-84681033,48753,134
-84681034,48887,133
-84681035,49020,130
-84681036,49150,113
-84681037,49263,203
-84681038,49466,138
-84681039,49604,146
-84681040,49750,109
-84681041,49859,134
-84681042,49993,169
-84681043,50162,167
-84681044,50329,106
-84681045,50435,128
-84681046,50563,183
-84681047,50746,128
-84681048,50874,166
-84681049,51040,144
-84681050,51184,150
-84681051,51334,142
-84681052,51476,142
-84681053,51618,126
-84681054,51744,170
-84681055,51914,126
-84681056,52040,191
-84681057,52231,156
-84681058,52387,164
-84681059,52551,143
-84681060,52694,119
-84681061,52813,155
-84681062,52968,120
-84681063,53088,149
-84681064,53237,164
-84681065,53401,131
-84681066,53532,133
-84681067,53665,141
-84681068,53806,242
-84681069,54048,144
-84681070,54192,100
-84681071,54292,144
-84681072,54436,159
-84681073,54595,135
-84681074,54730,138
-84681075,54868,121
-84681076,54989,187
-84681077,55176,119
-84681078,55295,119
-84681079,55414,143
-84681080,55557,150
-84681081,55707,130
-84681082,55837,159
-84681083,55996,157
-84681084,56153,150
-84681085,56303,147
-84681086,56450,170
-84681087,56620,140
-84681088,56760,149
-84681089,56909,126
-84681090,57035,127
-84681091,57162,174
-84681092,57336,182
-84681093,57518,165
-84681094,57683,151
-84681095,57834,169
-84681096,58003,136
-84681097,58139,109
-84681098,58248,145
-84681099,58393,134
-84681100,58527,143
-84681101,58670,173
-84681102,58843,160
-84681103,59003,145
-84681104,59148,138
-84681105,59286,149
-84681106,59435,155
-84681107,59590,152
-84681108,59742,109
-84681109,59851,174
-84681110,60025,115
-84681111,60140,185
-84681112,60325,150
-84681113,60475,171
-84681114,60646,158
-84681115,60804,156
-84681116,60960,118
-84681117,61078,138
-84681118,61216,147
-84681119,61363,170
-84681120,61533,154
-84681121,61687,140
-84681122,61827,140
-84681123,61967,152
-84681124,62119,200
-84681125,62319,140
-84681126,62459,125
-84681127,62584,167
-84681128,62751,138
-84681129,62889,153
-84681130,63042,173
-84681131,63215,141
-84681132,63356,134
-84681133,63490,113
-84681134,63603,146
-84681135,63749,161
-84681136,63910,170
-84681137,64080,135
-84681138,64215,164
-84681139,64379,170
-84681140,64549,136
-84681141,64685,144
-84681142,64829,121
-84681143,64950,126
-84681144,65076,175
-84681145,65251,167
-84681146,65418,128
-84681147,65546,137
-84681148,65683,144
-84681149,65827,169
-84681150,65996,151
-84681151,66147,218
-84681152,66365,148
-84681153,66513,164
-84681154,66677,157
-84681155,66834,201
-84681156,67035,153
-84681157,67188,126
-84681158,67314,136
-84681159,67450,152
-84681160,67602,203
-84681161,67805,111
-84681162,67916,143
-84681163,68059,170
-84681164,68229,123
-84681165,68352,164
-84681166,68516,170
-84681167,68686,165
-84681168,68851,156
-84681169,69007,146
-84681170,69153,173
-84681171,69326,146
-84681172,69472,172
-84681173,69644,156
-84681174,69800,203
-84681175,70003,159
-84681176,70162,175
-84681177,70337,101
-84681178,70438,126
-84681179,70564,182
-84681180,70746,150
-84681181,70896,169
-84681182,71065,127
-84681183,71192,167
-84681184,71359,136
-84681185,71495,157
-84681186,71652,184
-84681187,71836,164
-84681188,72000,147
-84681189,72147,159
-84681190,72306,161
-84681191,72467,134
-84681192,72601,156
-84681193,72757,142
-84681194,72899,112
-84681195,73011,132
-84681196,73143,137
-84681197,73280,141
-84681198,73421,214
-84681199,73635,155
-84681200,73790,160
-84681201,73950,147
-84681202,74097,135
-84681203,74232,157
-84681204,74389,186
-84681205,74575,184
-84681206,74759,158
-84681207,74917,178
-84681208,75095,175
-84681209,75270,118
-84681210,75388,142
-84681211,75530,147
-84681212,75677,132
-84681213,75809,133
-84681214,75942,187
-84681215,76129,227
-84681216,76356,183
-84681217,76539,119
-84681218,76658,132
-84681219,76790,57
-84681220,76847,155
-84681221,77002,119
-84681222,77121,143
-84681223,77264,244
-84681224,77508,143
-84681225,77651,152
-84681226,77803,140
-84681227,77943,128
-84681228,78071,228
-84681229,78299,172
-84681230,78471,161
-84681231,78632,139
-84681232,78771,167
-84681233,78938,221
-84681234,79159,179
-84681235,79338,128
-84681236,79466,156
-84681237,79622,123
-84681238,79745,147
-84681239,79892,156
-84681240,80048,194
-84681241,80242,161
-84681242,80403,150
-84681243,80553,194
-84681244,80747,163
-84681245,80910,176
-84681246,81086,175
-84681247,81261,169
-84681248,81430,152
-84681249,81582,145
-84681250,81727,132
-84681251,81859,148
-84681252,82007,132
-84681253,82139,145
-84681254,82284,130
-84681255,82414,159
-84681256,82573,184
-84681257,82757,152
-84681258,82909,134
-84681259,83043,185
-84681260,83228,150
-84681261,83378,117
-84681262,83495,147
-84681263,83642,141
-84681264,83783,182
-84681265,83965,152
-84681266,84117,111
-84681267,84228,180
-84681268,84408,152
-84681269,84560,186
-84681270,84746,142
-84681271,84888,164
-84681272,85052,147
-84681273,85199,142
-84681274,85341,157
-84681275,85498,129
-84681276,85627,152
-84681277,85779,153
-84681278,85932,137
-84681279,86069,141
-84681280,86210,147
-84681281,86357,161
-84681282,86518,125
-84681283,86643,134
-84681284,86777,121
-84681285,86898,169
-84681286,87067,104
-84681287,87171,196
-84681288,87367,183
-84681289,87550,170
-84681290,87720,146
-84681291,87866,140
-84681292,88006,137
-84681293,88143,141
-84681294,88284,190
-84681295,88474,126
-84681296,88600,147
-84681297,88747,141
-84681298,88888,138
-84681299,89026,148
-84681300,89174,161
-84681301,89335,204
-84681302,89539,163
-84681303,89702,138
-84681304,89840,166
-84681305,90006,137
-84681306,90143,151
-84681307,90294,145
-84681308,90439,167
-84681309,90606,119
-84681310,90725,164
-84681311,90889,185
-84681312,91074,133
-84681313,91207,135
-84681314,91342,201
-84681315,91543,156
-84681316,91699,149
-84681317,91848,135
-84681318,91983,138
-84681319,92121,180
-84681320,92301,140
-84681321,92441,152
-84681322,92593,131
-84681323,92724,187
-84681324,92911,187
-84681325,93098,173
-84681326,93271,130
-84681327,93401,160
-84681328,93561,164
-84681329,93725,158
-84681330,93883,142
-84681331,94025,212
-84681332,94237,153
-84681333,94390,175
-84681334,94565,155
-84681335,94720,141
-84681336,94861,120
-84681337,94981,143
-84681338,95124,130
-84681339,95254,122
-84681340,95376,134
-84681341,95510,137
-84681342,95647,143
-84681343,95790,184
-84681344,95974,135
-84681345,96109,127
-84681346,96236,106
-84681347,96342,166
-84681348,96508,117
-84681349,96625,151
-84681350,96776,124
-84681351,96900,214
-84681352,97114,173
-84681353,97287,129
-84681354,97416,144
-84681355,97560,189
-84681356,97749,154
-84681357,97903,108
-84681358,98011,135
-84681359,98146,182
-84681360,98328,125
-84681361,98453,130
-84681362,98583,129
-84681363,98712,122
-84681364,98834,126
-84681365,98960,165
-84681366,99125,118
-84681367,99243,115
-84681368,99358,136
-84681369,99494,119
-84681370,99613,157
-84681371,99770,147
-84681372,99917,151
-84681373,100068,157
-84681374,100225,190
-84681375,100415,152
-84681376,100567,173
-84681377,100740,137
-84681378,100877,113
-84681379,100990,164
-84681380,101154,156
-84681381,101310,161
-84681382,101471,161
-84681383,101632,173
-84681384,101805,123
-84681385,101928,173
-84681386,102101,126
-84681387,102227,190
-84681388,102417,151
-84681389,102568,143
-84681390,102711,177
-84681391,102888,179
-84681392,103067,177
-84681393,103244,57
-84681394,103301,138
-84681395,103439,147
-84681396,103586,157
-84681397,103743,177
-84681398,103920,115
-84681399,104035,148
-84681400,104183,168
-84681401,104351,155
-84681402,104506,172
-84681403,104678,181
-84681404,104859,143
-84681405,105002,152
-84681406,105154,168
-84681407,105322,134
-84681408,105456,157
-84681409,105613,220
-84681410,105833,157
-84681411,105990,155
-84681412,106145,177
-84681413,106322,126
-84681414,106448,185
-84681415,106633,146
-84681416,106779,106
-84681417,106885,141
-84681418,107026,176
-84681419,107202,157
-84681420,107359,145
-84681421,107504,158
-84681422,107662,161
-84681423,107823,197
-84681424,108020,138
-84681425,108158,162
-84681426,108320,152
-84681427,108472,172
-84681428,108644,218
-84681429,108862,111
-84681430,108973,142
-84681431,109115,167
-84681432,109282,142
-84681433,109424,57
-84681434,109481,145
-84681435,109626,182
-84681436,109808,146
-84681437,109954,177
-84681438,110131,143
-84681439,110274,134
-84681440,110408,151
-84681441,110559,157
-84681442,110716,167
-84681443,110883,148
-84681444,111031,109
-84681445,111140,161
-84681446,111301,114
-84681447,111415,151
-84681448,111566,157
-84681449,111723,145
-84681450,111868,125
-84681451,111993,133
-84681452,112126,214
-84681453,112340,159
-84681454,112499,172
-84681455,112671,140
-84681456,112811,145
-84681457,112956,138
-84681458,113094,136
-84681459,113230,154
-84681460,113384,179
-84681461,113563,162
-84681462,113725,164
-84681463,113889,123
-84681464,114012,141
-84681465,114153,123
-84681466,114276,159
-84681467,114435,205
-84681468,114640,159
-84681469,114799,157
-84681470,114956,121
-84681471,115077,144
-84681472,115221,140
-84681473,115361,175
-84681474,115536,185
-84681475,115721,162
-84681476,115883,137
-84681477,116020,149
-84681478,116169,172
-84681479,116341,171
-84681480,116512,114
-84681481,116626,167
-84681482,116793,146
-84681483,116939,149
-84681484,117088,122
-84681485,117210,116
-84681486,117326,136
-84681487,117462,166
-84681488,117628,171
-84681489,117799,128
-84681490,117927,175
-84681491,118102,148
-84681492,118250,151
-84681493,118401,140
-84681494,118541,119
-84681495,118660,160
-84681496,118820,158
-84681497,118978,169
-84681498,119147,164
-84681499,119311,108
-84681500,119419,137
-84681501,119556,150
-84681502,119706,136
-84681503,119842,152
-84681504,119994,139
-84681505,120133,162
-84681506,120295,184
-84681507,120479,133
-84681508,120612,121
-84681509,120733,183
-84681510,120916,134
-84681511,121050,137
-84681512,121187,191
-84681513,121378,118
-84681514,121496,158
-84681515,121654,167
-84681516,121821,239
-84681517,122060,151
-84681518,122211,174
-84681519,122385,128
-84681520,122513,131
-84681521,122644,155
-84681522,122799,166
-84681523,122965,149
-84681524,123114,149
-84681525,123263,138
-84681526,123401,178
-84681527,123579,129
-84681528,123708,110
-84681529,123818,143
-84681530,123961,175
-84681531,124136,144
-84681532,124280,119
-84681533,124399,194
-84681534,124593,156
-84681535,124749,120
-84681536,124869,116
-84681537,124985,152
-84681538,125137,158
-84681539,125295,222
-84681540,125517,141
-84681541,125658,124
-84681542,125782,145
-84681543,125927,124
-84681544,126051,142
-84681545,126193,140
-84681546,126333,167
-84681547,126500,166
-84681548,126666,175
-84681549,126841,178
-84681550,127019,214
-84681551,127233,181
-84681552,127414,179
-84681553,127593,164
-84681554,127757,133
-84681555,127890,163
-84681556,128053,169
-84681557,128222,109
-84681558,128331,146
-84681559,128477,146
-84681560,128623,150
-84681561,128773,142
-84681562,128915,194
-84681563,129109,158
-84681564,129267,117
-84681565,129384,121
-84681566,129505,127
-84681567,129632,130
-84681568,129762,181
-84681569,129943,101
-84681570,130044,135
-84681571,130179,139
-84681572,130318,140
-84681573,130458,121
-84681574,130579,163
-84681575,130742,186
-84681576,130928,129
-84681577,131057,133
-84681578,131190,134
-84681579,131324,139
-84681580,131463,117
-84681581,131580,158
-84681582,131738,149
-84681583,131887,138
-84681584,132025,174
-84681585,132199,144
-84681586,132343,143
-84681587,132486,150
-84681588,132636,175
-84681589,132811,148
-84681590,132959,112
-84681591,133071,121
-84681592,133192,162
-84681593,133354,148
-84681594,133502,138
-84681595,133640,147
-84681596,133787,156
-84681597,133943,144
-84681598,134087,135
-84681599,134222,184
-84681600,134406,133
-84681601,134539,154
-84681602,134693,139
-84681603,134832,140
-84681604,134972,168
-84681605,135140,205
-84681606,135345,166
-84681607,135511,151
-84681608,135662,125
-84681609,135787,136
-84681610,135923,154
-84681611,136077,119
-84681612,136196,125
-84681613,136321,161
-84681614,136482,122
-84681615,136604,112
-84681616,136716,141
-84681617,136857,147
-84681618,137004,160
-84681619,137164,152
-84681620,137316,114
-84681621,137430,135
-84681622,137565,138
-84681623,137703,121
-84681624,137824,167
-84681625,137991,159
-84681626,138150,155
-84681627,138305,150
-84681628,138455,141
-84681629,138596,157
-84681630,138753,189
-84681631,138942,125
-84681632,139067,172
-84681633,139239,108
-84681634,139347,134
-84681635,139481,215
-84681636,139696,192
-84681637,139888,149
-84681638,140037,146
-84681639,140183,180
-84681640,140363,120
-84681641,140483,148
-84681642,140631,180
-84681643,140811,153
-84681644,140964,136
-84681645,141100,240
-84681646,141340,180
-84681647,141520,114
-84681648,141634,189
-84681649,141823,183
-84681650,142006,196
-84681651,142202,136
-84681652,142338,157
-84681653,142495,149
-84681654,142644,148
-84681655,142792,164
-84681656,142956,136
-84681657,143092,143
-84681658,143235,160
-84681659,143395,182
-84681660,143577,129
-84681661,143706,128
-84681662,143834,189
-84681663,144023,199
-84681664,144222,142
-84681665,144364,171
-84681666,144535,150
-84681667,144685,168
-84681668,144853,144
-84681669,144997,171
-84681670,145168,140
-84681671,145308,177
-84681672,145485,147
-84681673,145632,138
-84681674,145770,139
-84681675,145909,145
-84681676,146054,215
-84681677,146269,151
-84681678,146420,165
-84681679,146585,170
-84681680,146755,155
-84681681,146910,127
-84681682,147037,149
-84681683,147186,155
-84681684,147341,201
-84681685,147542,197
-84681686,147739,132
-84681687,147871,163
-84681688,148034,139
-84681689,148173,159
-84681690,148332,150
-84681691,148482,135
-84681692,148617,132
-84681693,148749,118
-84681694,148867,140
-84681695,149007,125
-84681696,149132,125
-84681697,149257,150
-84681698,149407,114
-84681699,149521,177
-84681700,149698,121
-84681701,149819,105
-84681702,149924,117
-84681703,150041,182
-84681704,150223,163
-84681705,150386,164
-84681706,150550,156
-84681707,150706,161
-84681708,150867,144
-84681709,151011,145
-84681710,151156,138
-84681711,151294,207
-84681712,151501,147
-84681713,151648,170
-84681714,151818,137
-84681715,151955,143
-84681716,152098,131
-84681717,152229,180
-84681718,152409,154
-84681719,152563,132
-84681720,152695,123
-84681721,152818,130
-84681722,152948,104
-84681723,153052,145
***The diff for this file has been truncated for email.***
=======================================
--- /branches/rel-0.7.x/lib/netaddr/eui/iab.txt Tue Aug 18 12:47:26 2009
+++ /branches/rel-0.7.x/lib/netaddr/eui/iab.txt Wed Apr 28 15:12:10 2010
@@ -154,9 +154,9 @@

00-50-C2 (hex) Hunter Technology Inc.
017000-017FFF (base 16) Hunter Technology Inc.
- Haedong Bldg., 2F,
- 897-15, Dae-Chi-Dong
- Kangnam-gu, Seoul
+ 1408, Woolim e-biz Center,
+ 170-5, Guro-3dong, Guro-gu,
+ Seoul
KOREA, REPUBLIC OF

00-50-C2 (hex) CAD-UL GmbH
@@ -417,10 +417,11 @@
RTP NC 27709
UNITED STATES

-00-50-C2 (hex) Miyazaki System Planning Office, Ltd.
-040000-040FFF (base 16) Miyazaki System Planning Office, Ltd.
- 1-8-5, Saginuma, Miyamae-ku
- Kawasaki-shi 216-0004
+00-50-C2 (hex) MiSPO Co., Ltd.
+040000-040FFF (base 16) MiSPO Co., Ltd.
+ Kanagawa Prefecture,
+ Takatsu-ku,Futago, 5-1-1, Takatsu Park plaza, 3F
+ Kawasaki City, 213-0002
JAPAN

00-50-C2 (hex) Damler Chrysler Rail System (Signal) AB
@@ -792,7 +793,7 @@

00-50-C2 (hex) Matuschek Messtechnik GmbH
081000-081FFF (base 16) Matuschek Messtechnik GmbH
- Werner-Heisenberg-Straße 14
+ Werner-Heisenberg-Stra�e 14
Alsdorf NRW 52477
GERMANY

@@ -998,9 +999,9 @@
Etobicoke Ontario M8Z 1K2
CANADA

-00-50-C2 (hex) Jäger Computergesteuerte Messtechnik GmbH
-0A2000-0A2FFF (base 16) Jäger Computergesteuerte Messtechnik GmbH
- Rheinstraße 2-4
+00-50-C2 (hex) J�ger Computergesteuerte Messtechnik GmbH
+0A2000-0A2FFF (base 16) J�ger Computergesteuerte Messtechnik GmbH
+ Rheinstra�e 2-4
64653 Lorsch
GERMANY

@@ -1539,8 +1540,8 @@

00-50-C2 (hex) Tecnint HTE S.r.L.
0F8000-0F8FFF (base 16) Tecnint HTE S.r.L.
- Via Como 35
- 23807 Merate (Lecco)
+ Via della tecnica 16/18
+ Osnago (Lecco) 23875
ITALY

00-50-C2 (hex) Raven Industries
@@ -1885,8 +1886,8 @@
Rishon Lezion
ISRAEL

-00-50-C2 (hex) INTERZEAG AG
-12F000-12FFFF (base 16) INTERZEAG AG
+00-50-C2 (hex) HAAG-STREIT AG
+12F000-12FFFF (base 16) HAAG-STREIT AG
Rietbachstrasse 5
Schlieren CH-8952
SWITZERLAND
@@ -2329,7 +2330,7 @@

00-50-C2 (hex) Wavium AB
176000-176FFF (base 16) Wavium AB
- Västberga Allé 60
+ V�stberga All� 60
Stockholm SE-126 75
SWEDEN

@@ -2410,7 +2411,7 @@

00-50-C2 (hex) Mixbaal S.A. de C.V.
183000-183FFF (base 16) Mixbaal S.A. de C.V.
- Blvd. José Guadalupe Zuno #48-MIX
+ Blvd. Jos� Guadalupe Zuno #48-MIX
Los Belenes
Zapopan Jalisco 45101
MEXICO
@@ -2442,7 +2443,7 @@

00-50-C2 (hex) dresden-elektronik
188000-188FFF (base 16) dresden-elektronik
- Glasewaldtstraße 22
+ Glasewaldtstra�e 22
Dresden D-01277
GERMANY

@@ -2538,7 +2539,7 @@
00-50-C2 (hex) EPM Tecnologia e Equipamentos
197000-197FFF (base 16) EPM Tecnologia e Equipamentos
Av Com Gumercindo Barranqueiros, 285
- Jundiaí São Paulo 13211-410
+ Jundia� S�o Paulo 13211-410
BRAZIL

00-50-C2 (hex) PotsTek, Inc
@@ -2568,7 +2569,7 @@

00-50-C2 (hex) Artec Design
19C000-19CFFF (base 16) Artec Design
- Järvevana tee 9
+ J�rvevana tee 9
Tallinn 11314
ESTONIA

@@ -2648,7 +2649,7 @@

00-50-C2 (hex) Axotec Technologies GmbH
1A9000-1A9FFF (base 16) Axotec Technologies GmbH
- Sudetenstraße 88
+ Sudetenstra�e 88
Geretsried Bavaria 82538
GERMANY

@@ -2668,7 +2669,7 @@
00-50-C2 (hex) Beckmann+Egle GmbH
1AC000-1ACFFF (base 16) Beckmann+Egle GmbH
Kirchstrasse 30
- Stetten BaWü 71394
+ Stetten BaW� 71394
GERMANY

00-50-C2 (hex) Remia s.r.o.
@@ -2962,11 +2963,11 @@
Campbell CA 95008
UNITED STATES

-00-50-C2 (hex) Prolificx Ltd
-1DC000-1DCFFF (base 16) Prolificx Ltd
- Level 1
- 13 Ronwood Avenue
- Manukau City Auckland 1702
+00-50-C2 (hex) Imarda New Zealand Limited
+1DC000-1DCFFF (base 16) Imarda New Zealand Limited
+ Suite G16, National Innovation Centre,
+ Australian Technology Park,
+ Eveleigh NSW 2015
NEW ZEALAND

00-50-C2 (hex) Peiker acustic GmbH & Co. KG
@@ -3022,7 +3023,7 @@
1E5000-1E5FFF (base 16) DORLET S.A.
Albert Einstein 34
Parque Tecnologico de Alava
- Miñano Mayor ALAVA 01510
+ Mi�ano Mayor ALAVA 01510
SPAIN

00-50-C2 (hex) United Tri-Tech Corporation
@@ -3070,15 +3071,15 @@

00-50-C2 (hex) EMKA-electronic AG
1ED000-1EDFFF (base 16) EMKA-electronic AG
- Lohmühlenweg 18a
- Arnstadt Thüringen 99310
+ Lohm�hlenweg 18a
+ Arnstadt Th�ringen 99310
GERMANY

-00-50-C2 (hex) Perto Periféricos de Automação S.A.
-1EE000-1EEFFF (base 16) Perto Periféricos de Automação S.A.
+00-50-C2 (hex) Perto Perif�ricos de Automa��o S.A.
+1EE000-1EEFFF (base 16) Perto Perif�ricos de Automa��o S.A.
Rua Nissin Castiel, 640
- Distrito Industrial de Gravataí
- Gravataí RS 94000-970
+ Distrito Industrial de Gravata�
+ Gravata� RS 94000-970
BRAZIL

00-50-C2 (hex) M2 Technology Pty Ltd
@@ -3130,8 +3131,8 @@
Johnson City NY 13790
UNITED STATES

-00-50-C2 (hex) ARC'Créations
-1F7000-1F7FFF (base 16) ARC'Créations
+00-50-C2 (hex) ARC'Cr�ations
+1F7000-1F7FFF (base 16) ARC'Cr�ations
ZI les Milles 100 rue Pierre DUHEM
La Robole Bt A Cedex 3
Aix en Provence BDR 13856
@@ -3291,9 +3292,9 @@
Los Angeles CA 90064
UNITED STATES

-00-50-C2 (hex) Hochschule für Technik, Wirtschaft und Kultur Leipzig (FH)
-211000-211FFF (base 16) Hochschule für Technik, Wirtschaft und Kultur
Leipzig (FH)
- Wächterstrasse 13
+00-50-C2 (hex) Hochschule f�r Technik, Wirtschaft und Kultur Leipzig
(FH)
+211000-211FFF (base 16) Hochschule f�r Technik, Wirtschaft und Kultur
Leipzig (FH)
+ W�chterstrasse 13
Leipzig Saxonia D-04107
GERMANY

@@ -3319,8 +3320,8 @@

00-50-C2 (hex) VoiceCom AG
215000-215FFF (base 16) VoiceCom AG
- Südwestpark 65
- Nürnberg Germany 90449
+ S�dwestpark 65
+ N�rnberg Germany 90449
GERMANY

00-50-C2 (hex) Level Control Systems
@@ -3336,9 +3337,9 @@
Glasgow Scotland G76 0EQ
UNITED KINGDOM

-00-50-C2 (hex) Nansen S. A. - Instrumentos de Precisão
-218000-218FFF (base 16) Nansen S. A. - Instrumentos de Precisão
- José Pedro Araújo, 960
+00-50-C2 (hex) Nansen S. A. - Instrumentos de Precis�o
+218000-218FFF (base 16) Nansen S. A. - Instrumentos de Precis�o
+ Jos� Pedro Ara�jo, 960
Contagem Minas Gerais 32341560
BRAZIL

@@ -3407,12 +3408,12 @@
00-50-C2 (hex) visicontrol GmbH
223000-223FFF (base 16) visicontrol GmbH
Ettishofer Str. 8
- Weingarten Baden-Württemberg 88250
+ Weingarten Baden-W�rttemberg 88250
GERMANY

00-50-C2 (hex) PANNOCOM Ltd.
224000-224FFF (base 16) PANNOCOM Ltd.
- Törökvész út 98/b
+ T�r�kv�sz �t 98/b
Budapest Pest Megye 1025
HUNGARY

@@ -3456,7 +3457,7 @@
00-50-C2 (hex) Riegl Laser Measurement Systems GmbH
22B000-22BFFF (base 16) Riegl Laser Measurement Systems GmbH
Riedenburgstrasse 48
- Horn Niederösterreich A-3580
+ Horn Nieder�sterreich A-3580
AUSTRIA

00-50-C2 (hex) Intrinsity
@@ -3634,7 +3635,7 @@
247000-247FFF (base 16) Gradual Tecnologia Ltda.
Rod. Alkindar M. Junqueira Km 34,2
Caixa Postal 66
- Bragança Paulista SP 12914-970
+ Bragan�a Paulista SP 12914-970
BRAZIL

00-50-C2 (hex) Dixtal Biomedica Ind. Com. Ltda.
@@ -3646,7 +3647,7 @@
00-50-C2 (hex) Dipl.-Ing. W. Bender GmbH & Co. KG
249000-249FFF (base 16) Dipl.-Ing. W. Bender GmbH & Co. KG
Londorfer Str. 65
- 35305 Grünberg 1161
+ 35305 Gr�nberg 1161
GERMANY

00-50-C2 (hex) CDS Rail
@@ -3907,14 +3908,14 @@

00-50-C2 (hex) Servicios Condumex, S. A. de C. V.
273000-273FFF (base 16) Servicios Condumex, S. A. de C. V.
- Carretera a San Luis Potosí km. 9.6
+ Carretera a San Luis Potos� km. 9.6
Parque industrial Jurica
Queretaro 76120
MEXICO

-00-50-C2 (hex) FUNDACIÓN ROBOTIKER
-274000-274FFF (base 16) FUNDACIÓN ROBOTIKER
- Parque Tecnológico Edificio 202
+00-50-C2 (hex) FUNDACI�N ROBOTIKER
+274000-274FFF (base 16) FUNDACI�N ROBOTIKER
+ Parque Tecnol�gico Edificio 202
Zamudio Vizcaya 48170
SPAIN

@@ -3958,7 +3959,7 @@
00-50-C2 (hex) LinkSecurity A/S
27B000-27BFFF (base 16) LinkSecurity A/S
Glerupvej 20
- Rødovre 2610
+ R�dovre 2610
DENMARK

00-50-C2 (hex) Danlaw Inc
@@ -4110,8 +4111,8 @@

00-50-C2 (hex) EPSa GmbH
294000-294FFF (base 16) EPSa GmbH
- Göschwitzer Straße 32
- Jena Thüringen D-07745
+ G�schwitzer Stra�e 32
+ Jena Th�ringen D-07745
GERMANY

00-50-C2 (hex) LOGOSOL, INC.
@@ -4325,7 +4326,7 @@
00-50-C2 (hex) Rafi GmbH & Co. KG
2B7000-2B7FFF (base 16) Rafi GmbH & Co. KG
P.O. Box 2060
- Ravensburg Baden-Württemberg 88190
+ Ravensburg Baden-W�rttemberg 88190
GERMANY

00-50-C2 (hex) Admiral Secure Products, Ltd.
@@ -4387,7 +4388,7 @@

00-50-C2 (hex) Stage Tec Entwicklungsgesellschaft fuer professionelle
Audio
2C1000-2C1FFF (base 16) Stage Tec Entwicklungsgesellschaft fuer
professionelle Audio
- Tabbertstraße 10
+ Tabbertstra�e 10
Berlin Berlin 12459
GERMANY

@@ -4471,8 +4472,8 @@
BAYSWATER VICTORIA 3153
AUSTRALIA

-00-50-C2 (hex) Diseño de Sistemas en Silicio S.A.
-2CF000-2CFFFF (base 16) Diseño de Sistemas en Silicio S.A.
+00-50-C2 (hex) Dise�o de Sistemas en Silicio S.A.
+2CF000-2CFFFF (base 16) Dise�o de Sistemas en Silicio S.A.
Charles Robert Darwin, 2
Parc tecnologic
Paterna Valencia 46980
@@ -4571,7 +4572,7 @@
00-50-C2 (hex) MICREL-NKE
2DF000-2DFFFF (base 16) MICREL-NKE
rue gutenberg
- Z.I. de Kerandré
+ Z.I. de Kerandr�
HENNEBONT 56700
FRANCE

@@ -4596,7 +4597,7 @@

00-50-C2 (hex) MG Industrieelektronik GmbH
2E3000-2E3FFF (base 16) MG Industrieelektronik GmbH
- Nobelstraße 7
+ Nobelstra�e 7
Ettlingen 76275
GERMANY

@@ -4629,7 +4630,7 @@
00-50-C2 (hex) S.M.V. Systemelektronik GmbH
2E8000-2E8FFF (base 16) S.M.V. Systemelektronik GmbH
Firkenweg 7
- Unterföhring Bayern 85774
+ Unterf�hring Bayern 85774
GERMANY

00-50-C2 (hex) SRI International
@@ -4766,8 +4767,8 @@

00-50-C2 (hex) Saab AB
2FE000-2FEFFF (base 16) Saab AB
- Nobymalmsvägen
- Linköping Östergötland 581 82
+ Nobymalmsv�gen
+ Link�ping �sterg�tland 581 82
SWEDEN

00-50-C2 (hex) Patria Advanced Solutions
@@ -4791,7 +4792,7 @@

00-50-C2 (hex) EuroDesign embedded technologies GmbH
302000-302FFF (base 16) EuroDesign embedded technologies GmbH
- Waldstraße 4A
+ Waldstra�e 4A
Kirchdorf a.d. Amper Bayern 85414
GERMANY

@@ -4854,7 +4855,7 @@
00-50-C2 (hex) TEAMLOG
30C000-30CFFF (base 16) TEAMLOG
10, rue Lavoisier
- Montbonnot Isère (38) 38330
+ Montbonnot Is�re (38) 38330
FRANCE

00-50-C2 (hex) SETARAM
@@ -4872,7 +4873,7 @@

00-50-C2 (hex) Digicontrole Lda
30F000-30FFFF (base 16) Digicontrole Lda
- Av. Eng. Arantes e Oliveira Nº5 - 2ºD
+ Av. Eng. Arantes e Oliveira N�5 - 2�D
Olaias
Lisboa 1900-221 LIS
PORTUGAL
@@ -4917,7 +4918,7 @@
00-50-C2 (hex) Dataline AB
316000-316FFF (base 16) Dataline AB
Katrinedalsgatan 53
- BORÃ…S S-50451
+ BOR�S S-50451
SWEDEN

00-50-C2 (hex) Cosine Systems, Inc.
@@ -4959,11 +4960,11 @@
Tewksbury MA 01876
UNITED STATES

-00-50-C2 (hex) Prolificx Ltd
-31D000-31DFFF (base 16) Prolificx Ltd
- Level 1
- 13 Ronwood Avenue
- Manukau City Auckland 1702
+00-50-C2 (hex) Imarda New Zealand Limited
+31D000-31DFFF (base 16) Imarda New Zealand Limited
+ Suite G16, National Innovation Centre,
+ Australian Technology Park,
+ Eveleigh NSW 2015
NEW ZEALAND

00-50-C2 (hex) C3-ilex, LLC
@@ -4987,7 +4988,7 @@
00-50-C2 (hex) UXP
321000-321FFF (base 16) UXP
12 AVENUE PIERRE DE COUBERTIN
- ZI PERCEVALIERE N° 7408
+ ZI PERCEVALIERE N� 7408
SEYSSINET PARISET CEDEX ISERE 38174
FRANCE

@@ -5005,7 +5006,7 @@

00-50-C2 (hex) ODIXION
324000-324FFF (base 16) ODIXION
- 188 rue de la Liberté
+ 188 rue de la Libert�
AVRANCHES France 50300
FRANCE

@@ -5024,7 +5025,7 @@
00-50-C2 (hex) Dornier GmbH
327000-327FFF (base 16) Dornier GmbH
an der B31
- Friedrichshafen Baden-Würtemberg 88039
+ Friedrichshafen Baden-W�rtemberg 88039
GERMANY

00-50-C2 (hex) I.C.S. Electronics Limited
@@ -5040,8 +5041,8 @@
Mississauga Ontario L5K 1B1
CANADA

-00-50-C2 (hex) PHYTEC Meßtechnik GmbH
-32A000-32AFFF (base 16) PHYTEC Meßtechnik GmbH
+00-50-C2 (hex) PHYTEC Me�technik GmbH
+32A000-32AFFF (base 16) PHYTEC Me�technik GmbH
Robert-Koch-Strasse 39
Mainz Rheinland-Pfalz 55129
GERMANY
@@ -5268,8 +5269,8 @@
Augsburg Bavaria 86156
GERMANY

-00-50-C2 (hex) ABB Power Technologies S.p.A. Unità Operativa SACE (PTMV)
-34E000-34EFFF (base 16) ABB Power Technologies S.p.A. Unità Operativa
SACE (PTMV)
+00-50-C2 (hex) ABB Power Technologies S.p.A. Unit� Operativa SACE
(PTMV)
+34E000-34EFFF (base 16) ABB Power Technologies S.p.A. Unit� Operativa
SACE (PTMV)
vai Friuli 4
Dalmine (Bergamo) 20044
ITALY
@@ -5605,7 +5606,7 @@
00-50-C2 (hex) Wireless Reading Systems Holding ASA
384000-384FFF (base 16) Wireless Reading Systems Holding ASA
Skredderveien 9
- Moss Østfold 1537
+ Moss �stfold 1537
NORWAY

00-50-C2 (hex) SUNGJIN NEOTECH Co.Ltd.
@@ -5666,7 +5667,7 @@

00-50-C2 (hex) Nordic Alarm AB
38E000-38EFFF (base 16) Nordic Alarm AB
- Englundavägen 11
+ Englundav�gen 11
Solna 17141
SWEDEN

@@ -5846,7 +5847,7 @@

00-50-C2 (hex) taskit Rechnertechnik GmbH
3AB000-3ABFFF (base 16) taskit Rechnertechnik GmbH
- Seelenbinder Straße 33
+ Seelenbinder Stra�e 33
Berlin 12 555
GERMANY

@@ -5900,10 +5901,10 @@
Tokyo 101-0021
JAPAN

-00-50-C2 (hex) Contrôle Analytique inc.
-3B4000-3B4FFF (base 16) Contrôle Analytique inc.
+00-50-C2 (hex) Contr�le Analytique inc.
+3B4000-3B4FFF (base 16) Contr�le Analytique inc.
1076 rue Johnson
- Thetford Mines Québec G6G 5W6
+ Thetford Mines Qu�bec G6G 5W6
CANADA

00-50-C2 (hex) NEC TOKIN Corporation
@@ -5930,8 +5931,8 @@
Wuppertal D 42277
GERMANY

-00-50-C2 (hex) Autotank AB
-3B9000-3B9FFF (base 16) Autotank AB
+00-50-C2 (hex) Gilbarco Autotank AB
+3B9000-3B9FFF (base 16) Gilbarco Autotank AB
P.O. Box 11059
Johannesfredsvagen 11A
BROMMA SE-16111
@@ -5943,8 +5944,8 @@
Mainz Rheinland-Pfalz 55129
GERMANY

-00-50-C2 (hex) Strampe Systemelektronik GmbH & Co. KG
-3BB000-3BBFFF (base 16) Strampe Systemelektronik GmbH & Co. KG
+00-50-C2 (hex) IMAGO Technologies GmbH
+3BB000-3BBFFF (base 16) IMAGO Technologies GmbH
In der Grobach 22
Florstadt Hessen D-61197
GERMANY
@@ -6047,7 +6048,7 @@
3CB000-3CBFFF (base 16) Analytica GmbH
Vorholzstr. 84
76137
- Karlsruhe Baden-Württemberg
+ Karlsruhe Baden-W�rttemberg
GERMANY

00-50-C2 (hex) LINKWELL TELESYSTEMS PRIVATE LIMITED
@@ -6122,7 +6123,7 @@

00-50-C2 (hex) TTC TELEKOMUNIKACE Ltd
3D7000-3D7FFF (base 16) TTC TELEKOMUNIKACE Ltd
- Tøebohostická 987/5, Prague 10
+ T�ebohostick� 987/5, Prague 10
Prague CZ-100 00
CZECH REPUBLIC

@@ -6290,13 +6291,13 @@

00-50-C2 (hex) STL GmbH
3F2000-3F2FFF (base 16) STL GmbH
- Max-Stromeyer-Straße 116
- Konstanz Baden Württemberg 78467
+ Max-Stromeyer-Stra�e 116
+ Konstanz Baden W�rttemberg 78467
GERMANY

00-50-C2 (hex) Hytec Geraetebau GmbH
3F3000-3F3FFF (base 16) Hytec Geraetebau GmbH
- Cochemer Str. 12 – 14
+ Cochemer Str. 12 � 14
68309 Mannheim
GERMANY

@@ -6378,7 +6379,7 @@
00-50-C2 (hex) SmartMotor AS
400000-400FFF (base 16) SmartMotor AS
Stiklestadveien 1
- Trondheim Sør-Trøndelag 7041
+ Trondheim S�r-Tr�ndelag 7041
NORWAY

00-50-C2 (hex) Promess Incorporated
@@ -6393,8 +6394,8 @@
Czestochowa 42-200
POLAND

-00-50-C2 (hex) TOPEX PUBLIC SWITCHING S.A.
-403000-403FFF (base 16) TOPEX PUBLIC SWITCHING S.A.
+00-50-C2 (hex) TOPEX S.A.
+403000-403FFF (base 16) TOPEX S.A.
Str. Feleacului, nr.10, sector 1, cod 014186, Bucuresti,
Bucharest 014186
ROMANIA
@@ -6465,7 +6466,7 @@
00-50-C2 (hex) ads-tec GmbH
40E000-40EFFF (base 16) ads-tec GmbH
Raiffeisenstr. 14
- Leinfelden-Echterdingen Baden-Württemberg 70771
+ Leinfelden-Echterdingen Baden-W�rttemberg 70771
GERMANY

00-50-C2 (hex) BIR,INC.
@@ -6521,8 +6522,8 @@

00-50-C2 (hex) QT systems ab
417000-417FFF (base 16) QT systems ab
- Alfavägen 3
- Lycksele Västerbotten 921 33
+ Alfav�gen 3
+ Lycksele V�sterbotten 921 33
SWEDEN

00-50-C2 (hex) Planea Oy
@@ -6583,13 +6584,13 @@
00-50-C2 (hex) EFSYS
421000-421FFF (base 16) EFSYS
60, rue de la bolle
- Saint-dié des Vosges Vosges 88100
+ Saint-di� des Vosges Vosges 88100
FRANCE

00-50-C2 (hex) Gekeler Martina
422000-422FFF (base 16) Gekeler Martina
Raiffeisenstr. 14
- Leinfelden-Echterdingen Baden-Württemberg 70771
+ Leinfelden-Echterdingen Baden-W�rttemberg 70771
GERMANY

00-50-C2 (hex) Power-One Inc.
@@ -6601,7 +6602,7 @@
00-50-C2 (hex) Metrolab Instruments SA
424000-424FFF (base 16) Metrolab Instruments SA
ch. du Pont-du-Centenaire 110
- Plan-les-Ouates Genève 1228
+ Plan-les-Ouates Gen�ve 1228
SWITZERLAND

00-50-C2 (hex) Pinnacle Technology
@@ -6649,8 +6650,8 @@
RICHARDSON TEXAS 75081
UNITED STATES

-00-50-C2 (hex) Continental Automotive Systems US, Inc.
-42C000-42CFFF (base 16) Continental Automotive Systems US, Inc.
+00-50-C2 (hex) Trapeze ITS U.S.A., LLC
+42C000-42CFFF (base 16) Trapeze ITS U.S.A., LLC
5265 Rockwell Drive NE
Cedar Rapids IA 52402
UNITED STATES
@@ -6695,7 +6696,7 @@

00-50-C2 (hex) Idetech Europe S.A.
433000-433FFF (base 16) Idetech Europe S.A.
- Pedrosa C, nº23 (Polígono Pedrosa)
+ Pedrosa C, n�23 (Pol�gono Pedrosa)
Hospitalet de Llobregat BARCELONA 08908
SPAIN

@@ -6889,7 +6890,7 @@

00-50-C2 (hex) SCAME SISTEMI s.r.l.
452000-452FFF (base 16) SCAME SISTEMI s.r.l.
- Via Lombardia N°5
+ Via Lombardia N�5
ARLUNO MI 20010
ITALY

@@ -6917,7 +6918,7 @@
456000-456FFF (base 16) DRDC Valcartier
2459 blvd. Pie XI North
Bldg 53
- Val-Belair Québec G3J 1X5
+ Val-Belair Qu�bec G3J 1X5
CANADA

00-50-C2 (hex) Danbridge
@@ -7121,7 +7122,7 @@
00-50-C2 (hex) SEV Tidsystem AB
477000-477FFF (base 16) SEV Tidsystem AB
Box 121
- Västerhaninge Stockholm 137 22
+ V�sterhaninge Stockholm 137 22
SWEDEN

00-50-C2 (hex) Metafix Inc.
@@ -7177,7 +7178,7 @@
00-50-C2 (hex) SELKOM GmbH
480000-480FFF (base 16) SELKOM GmbH
Jahnstr. 4
- Muggensturm Baden Württemberg 76461
+ Muggensturm Baden W�rttemberg 76461
GERMANY

00-50-C2 (hex) Computer Sciences Corp
@@ -7208,14 +7209,14 @@

00-50-C2 (hex) PHYTEC Messtechnik GmbH
485000-485FFF (base 16) PHYTEC Messtechnik GmbH
- Robert-Koch-Straße 39
+ Robert-Koch-Stra�e 39
Mainz Rheinland-Pfalz 55129
GERMANY

00-50-C2 (hex) Safegate International AB
486000-486FFF (base 16) Safegate International AB
- Storsjöstråket 15
- Östersund 83134
+ Storsj�str�ket 15
+ �stersund 83134
SWEDEN

00-50-C2 (hex) Eridon Corporation
@@ -7248,7 +7249,7 @@
00-50-C2 (hex) ADS-TEC GmbH
48B000-48BFFF (base 16) ADS-TEC GmbH
Raiffeisentr. 14
- Leinfelden-Echterdingen Baden-Württemberg 70771
+ Leinfelden-Echterdingen Baden-W�rttemberg 70771
GERMANY

00-50-C2 (hex) UNITON AG
@@ -7440,7 +7441,7 @@

00-50-C2 (hex) HEINEN ELEKTRONIK GmbH
4AA000-4AAFFF (base 16) HEINEN ELEKTRONIK GmbH
- Hunsrückstr. 7
+ Hunsr�ckstr. 7
HAAN NRW 42781
GERMANY

@@ -7467,7 +7468,7 @@
00-50-C2 (hex) ads-tec GmbH
4AE000-4AEFFF (base 16) ads-tec GmbH
Raiffeisenstr. 14
- Leinfelden-Echterdingen Baden-Württemberg 70771
+ Leinfelden-Echterdingen Baden-W�rttemberg 70771
GERMANY

00-50-C2 (hex) Orbis Oy
@@ -7695,7 +7696,7 @@

00-50-C2 (hex) SOFTIN sp. z o.o.
4D3000-4D3FFF (base 16) SOFTIN sp. z o.o.
- Skwer Ks. Krd. St. Wyszyñskiego 2/62
+ Skwer Ks. Krd. St. Wyszy�skiego 2/62
Warsaw Mazowieckie 01-015
POLAND

@@ -7711,9 +7712,9 @@
Dandenong VIC 3175
AUSTRALIA

-00-50-C2 (hex) Ingenieurbüro Schober
-4D6000-4D6FFF (base 16) Ingenieurbüro Schober
- Schloßgarten 16
+00-50-C2 (hex) Ingenieurb�ro Schober
+4D6000-4D6FFF (base 16) Ingenieurb�ro Schober
+ Schlo�garten 16
Cadolzburg Bayern 90556
GERMANY

@@ -7744,7 +7745,7 @@
00-50-C2 (hex) Alfing Montagetechnik GmbH
4DB000-4DBFFF (base 16) Alfing Montagetechnik GmbH
Auguste-Kessler-Str. 20
- Aalen Baden-Württemberg 73433
+ Aalen Baden-W�rttemberg 73433
GERMANY

00-50-C2 (hex) Ace Electronics Inc.
@@ -7824,7 +7825,7 @@
00-50-C2 (hex) SATEL sp. z o.o.
4E8000-4E8FFF (base 16) SATEL sp. z o.o.
Schuberta 79
- Gdañsk pomorskie 80-172
+ Gda�sk pomorskie 80-172
POLAND

00-50-C2 (hex) Seachange international
@@ -8010,8 +8011,8 @@

00-50-C2 (hex) 7+ Kft
506000-506FFF (base 16) 7+ Kft
- Homoród 17
- Budapest magyarország 1118
+ Homor�d 17
+ Budapest magyarorsz�g 1118
HUNGARY

00-50-C2 (hex) Micro Connect Pty Ltd
@@ -8067,7 +8068,7 @@

00-50-C2 (hex) Polystar Instruments AB
50F000-50FFFF (base 16) Polystar Instruments AB
- MÃ¥rbackagatan 19
+ M�rbackagatan 19
123 43 Farsta
Stockholm 11559
SWEDEN
@@ -8126,7 +8127,7 @@

00-50-C2 (hex) Christ Elektronik GmbH
518000-518FFF (base 16) Christ Elektronik GmbH
- Alpenstraße 34
+ Alpenstra�e 34
Memmingen Bavaria 87700
GERMANY

@@ -8234,7 +8235,7 @@

00-50-C2 (hex) Phytec Messtechnik GmbH
529000-529FFF (base 16) Phytec Messtechnik GmbH
- Robert-Koch-Straße 39
+ Robert-Koch-Stra�e 39
Mainz Rheinland-Pfalz 55129
GERMANY

@@ -8270,10 +8271,10 @@
CHESTERFIELD DERBYSHIRE S41 0TZ
UNITED KINGDOM

-00-50-C2 (hex) Gesellschaft für Rationalisierung und Rechentechnik mbH
-52F000-52FFFF (base 16) Gesellschaft für Rationalisierung und
Rechentechnik mbH
+00-50-C2 (hex) Gesellschaft f�r Rationalisierung und Rechentechnik mbH
+52F000-52FFFF (base 16) Gesellschaft f�r Rationalisierung und
Rechentechnik mbH
Ob der Eck 4
- Gütenbach Baden Württemberg 78148
+ G�tenbach Baden W�rttemberg 78148
GERMANY

00-50-C2 (hex) Innovation, Institute, Inc
@@ -8323,7 +8324,7 @@
00-50-C2 (hex) DST CONTROL AB
537000-537FFF (base 16) DST CONTROL AB
Westmansgatan 29
- Linköping 58216
+ Link�ping 58216
SWEDEN

00-50-C2 (hex) EtherTek Circuits
@@ -8471,11 +8472,11 @@
00-50-C2 (hex) Valtronic SA
54F000-54FFFF (base 16) Valtronic SA
Rue de Bon Port
- Les Charbonnières Vaud 1343
+ Les Charbonni�res Vaud 1343
SWITZERLAND

-00-50-C2 (hex) LJU Industrieelektronik GmbH
-550000-550FFF (base 16) LJU Industrieelektronik GmbH
+00-50-C2 (hex) LJU Automatisierungstechnik GmbH
+550000-550FFF (base 16) LJU Automatisierungstechnik GmbH
Am Schlahn 1
Potsdam Brandenburg D-14476
GERMANY
@@ -8552,7 +8553,7 @@
00-50-C2 (hex) ads-tec GmbH
55C000-55CFFF (base 16) ads-tec GmbH
Raiffeisenstr. 14
- Leinfelden-Echterdingen Baden-Württemberg 70771
+ Leinfelden-Echterdingen Baden-W�rttemberg 70771
GERMANY

00-50-C2 (hex) ACD Elektronik GmbH
@@ -8595,7 +8596,7 @@

00-50-C2 (hex) ORTRAT, S.L.
563000-563FFF (base 16) ORTRAT, S.L.
- c/ Sófora, 15
+ c/ S�fora, 15
E-28020 Madrid
SPAIN

@@ -8622,7 +8623,7 @@
00-50-C2 (hex) Tess GmbH
567000-567FFF (base 16) Tess GmbH
Schumanstr. 33d
- Würselen NRW 52146
+ W�rselen NRW 52146
GERMANY

00-50-C2 (hex) GeoFocus, LLC
@@ -8700,9 +8701,9 @@
Taganrog Rostov Region 347916
RUSSIAN FEDERATION

-00-50-C2 (hex) Ingeniería Almudí S.L.
-574000-574FFF (base 16) Ingeniería Almudí S.L.
- c/ San Luis, 8 bajo 1º
+00-50-C2 (hex) Ingenier�a Almud� S.L.
+574000-574FFF (base 16) Ingenier�a Almud� S.L.
+ c/ San Luis, 8 bajo 1�
Murcia Alcantarilla 30820
SPAIN

@@ -8721,7 +8722,7 @@

00-50-C2 (hex) Advanced Software Technologies
577000-577FFF (base 16) Advanced Software Technologies
- c/ Caleruega, 102 2ª Planta
+ c/ Caleruega, 102 2� Planta
Madrid 28033
SPAIN

@@ -8793,16 +8794,16 @@
Toftlund Jutland DK-6520
DENMARK

-00-50-C2 (hex) Jünger Audio-Studiotechnik GmbH
-583000-583FFF (base 16) Jünger Audio-Studiotechnik GmbH
- Justus-von-Liebig-Straße 7
+00-50-C2 (hex) J�nger Audio-Studiotechnik GmbH
+583000-583FFF (base 16) J�nger Audio-Studiotechnik GmbH
+ Justus-von-Liebig-Stra�e 7
Berlin 12489
GERMANY

00-50-C2 (hex) Toyota Motorsport GmbH
584000-584FFF (base 16) Toyota Motorsport GmbH
Toyota-Allee 7
- Köln NRW 50858
+ K�ln NRW 50858
GERMANY

00-50-C2 (hex) Wireless Cables Inc
@@ -8829,8 +8830,8 @@
Cranston Rhode Island 02921
UNITED STATES

-00-50-C2 (hex) HORIBA ABX
-589000-589FFF (base 16) HORIBA ABX
+00-50-C2 (hex) HORIBA MEDICAL
+589000-589FFF (base 16) HORIBA MEDICAL
rue du caducee
Montpellier Herault 34000
FRANCE
@@ -8926,8 +8927,8 @@
Hackett's Cove Nova Scotia B3Z3J4
CANADA

-00-50-C2 (hex) Bundesamt für Strahlenschutz
-598000-598FFF (base 16) Bundesamt für Strahlenschutz
+00-50-C2 (hex) Bundesamt f�r Strahlenschutz
+598000-598FFF (base 16) Bundesamt f�r Strahlenschutz
Rosastrasse 9
Freiburg NA 79098
GERMANY
@@ -8975,7 +8976,7 @@
00-50-C2 (hex) ads-tec GmbH
59F000-59FFFF (base 16) ads-tec GmbH
Raiffeisenstr. 14
- Leinfelden-Echterdingen Baden-Württemberg 70771
+ Leinfelden-Echterdingen Baden-W�rttemberg 70771
GERMANY

00-50-C2 (hex) Rudolph Technologies, Inc.
@@ -9000,7 +9001,7 @@
00-50-C2 (hex) LUMEL S.A.
5A3000-5A3FFF (base 16) LUMEL S.A.
UL. SULECHOWSKA 1
- ZIELONA GÓRA WOJ. LUBUSKIE 65-022
+ ZIELONA G�RA WOJ. LUBUSKIE 65-022
POLAND

00-50-C2 (hex) Federal State Unitary Enterprise Experimental Factory for
Sc
@@ -9009,8 +9010,8 @@
Chernogolovka Moscow Region 142432
RUSSIAN FEDERATION

-00-50-C2 (hex) Equipos de Telecomunicación Optoelectronicos, S.A.
-5A5000-5A5FFF (base 16) Equipos de Telecomunicación Optoelectronicos, S.A.
+00-50-C2 (hex) Equipos de Telecomunicaci�n Optoelectronicos, S.A.
+5A5000-5A5FFF (base 16) Equipos de Telecomunicaci�n Optoelectronicos,
S.A.
Poligono Malpica G. Quejido, 74
Zaragoza 50007
SPAIN
@@ -9022,9 +9023,9 @@
Cambridge Cambridgeshire CB4 0FX
UNITED KINGDOM

-00-50-C2 (hex) Phytec Meßtechnik GmbH
-5A7000-5A7FFF (base 16) Phytec Meßtechnik GmbH
- Robert-Koch-Straße 39
+00-50-C2 (hex) Phytec Me�technik GmbH
+5A7000-5A7FFF (base 16) Phytec Me�technik GmbH
+ Robert-Koch-Stra�e 39
Mainz Rheinland-Pfalz 55129
GERMANY

@@ -9274,7 +9275,7 @@

00-50-C2 (hex) Innomed Medical Inc
***The diff for this file has been truncated for email.***
=======================================
--- /branches/rel-0.7.x/lib/netaddr/eui/ieee.py Thu Jul 16 16:57:59 2009
+++ /branches/rel-0.7.x/lib/netaddr/eui/ieee.py Wed Apr 28 15:12:10 2010
@@ -33,10 +33,11 @@
"""

import os as _os
+import sys as _sys
import os.path as _path
import csv as _csv

-from netaddr.core import Subscriber, Publisher
+from netaddr.core import Subscriber, Publisher, dos2unix


#-----------------------------------------------------------------------------

@@ -119,7 +120,7 @@
if hasattr(ieee_file, 'readline') and hasattr(ieee_file, 'tell'):
self.fh = ieee_file
else:
- self.fh = open(ieee_file, 'rb')
+ self.fh = open(ieee_file)

def parse(self):
"""
@@ -198,7 +199,7 @@
if hasattr(ieee_file, 'readline') and hasattr(ieee_file, 'tell'):
self.fh = ieee_file
else:
- self.fh = open(ieee_file, 'rb')
+ self.fh = open(ieee_file)

def parse(self):
"""
@@ -248,7 +249,7 @@
self.notify(record)


#-----------------------------------------------------------------------------
-def create_ieee_indices():
+def create_indices():
"""Create indices for OUI and IAB file based lookups"""
oui_parser = OUIIndexParser(OUI_REGISTRY)
oui_parser.attach(FileIndexer(OUI_METADATA))
@@ -259,7 +260,7 @@
iab_parser.parse()


#-----------------------------------------------------------------------------
-def load_ieee_indices():
+def load_indices():
"""Load OUI and IAB lookup indices into memory"""
for row in _csv.reader(open(OUI_METADATA)):
(key, offset, size) = [int(_) for _ in row]
@@ -287,16 +288,19 @@
response = urllib2.urlopen(request)
save_path = _path.dirname(__file__)
filename = _path.join(save_path,
_os.path.basename(response.geturl()))
- fh = open(filename, 'wb')
+ fh = open(filename, 'w')
fh.write(response.read())
fh.close()

+ # Make sure the line endings are consistent across platforms.
+ dos2unix(filename)
+

#-----------------------------------------------------------------------------
if __name__ == '__main__':
# Generate indices when module is executed as a script.
get_latest_files()
- create_ieee_indices()
+ create_indices()


# On module load read indices in memory to enable lookups.
-load_ieee_indices()
+load_indices()
=======================================
--- /branches/rel-0.7.x/lib/netaddr/eui/oui.idx Tue Aug 18 12:47:26 2009
+++ /branches/rel-0.7.x/lib/netaddr/eui/oui.idx Wed Apr 28 15:12:10 2010
@@ -242,12549 +242,13144 @@
241,37924,155
242,38079,157
243,38236,163
-244,38399,175
-245,38574,172
-246,38746,184
-247,38930,187
-248,39117,190
-249,39307,149
-250,39456,163
-251,39619,153
-252,39772,131
-253,39903,171
-254,40074,175
-255,40249,162
-256,40411,123
-257,40534,56
-258,40590,154
-259,40744,153
-260,40897,191
-261,41088,135
-262,41223,139
-263,41362,113
-264,41475,187
-265,41662,167
-266,41829,188
-267,42017,182
-268,42199,168
-269,42367,147
-270,42514,182
-271,42696,179
-272,42875,131
-273,43006,158
-274,43164,156
-275,43320,147
-276,43467,182
-277,43649,156
-278,43805,176
-279,43981,130
-280,44111,178
-281,44289,137
-282,44426,137
-283,44563,186
-284,44749,182
-285,44931,157
-286,45088,155
-287,45243,154
-288,45397,140
-289,45537,180
-290,45717,195
-291,45912,162
-292,46074,179
-293,46253,154
-294,46407,127
-295,46534,156
-296,46690,140
-297,46830,145
-298,46975,161
-299,47136,82
-300,47218,160
-301,47378,140
-302,47518,178
-303,47696,203
-304,47899,141
-305,48040,154
-306,48194,132
-307,48326,152
-308,48478,136
-309,48614,153
-310,48767,208
-311,48975,181
-312,49156,214
-313,49370,216
-314,49586,177
-315,49763,129
-316,49892,129
-317,50021,158
-318,50179,116
-319,50295,197
-320,50492,170
-321,50662,139
-322,50801,155
-323,50956,155
-324,51111,132
-325,51243,138
-326,51381,150
-327,51531,142
-328,51673,152
-329,51825,169
-330,51994,160
-331,52154,155
-332,52309,152
-333,52461,208
-334,52669,158
-335,52827,133
-336,52960,170
-337,53130,166
-338,53296,163
-339,53459,201
-340,53660,154
-341,53814,206
-342,54020,166
-343,54186,176
-344,54362,163
-345,54525,177
-346,54702,211
-347,54913,138
-348,55051,138
-349,55189,152
-350,55341,191
-351,55532,131
-352,55663,144
-353,55807,171
-354,55978,161
-355,56139,155
-356,56294,155
-357,56449,148
-358,56597,118
-359,56715,154
-360,56869,161
-361,57030,180
-362,57210,129
-363,57339,131
-364,57470,119
-365,57589,138
-366,57727,154
-367,57881,140
-368,58021,178
-369,58199,168
-370,58367,164
-371,58531,116
-372,58647,162
-373,58809,168
-374,58977,167
-375,59144,123
-376,59267,156
-377,59423,197
-378,59620,201
-379,59821,176
-380,59997,123
-381,60120,132
-382,60252,174
-383,60426,168
-384,60594,186
-385,60780,145
-386,60925,144
-387,61069,158
-388,61227,145
-389,61372,138
-390,61510,126
-391,61636,126
-392,61762,144
-393,61906,170
-394,62076,144
-395,62220,169
-396,62389,128
-397,62517,154
-398,62671,146
-399,62817,127
-400,62944,120
-401,63064,141
-402,63205,159
-403,63364,191
-404,63555,179
-405,63734,189
-406,63923,155
-407,64078,155
-408,64233,168
-409,64401,177
-410,64578,136
-411,64714,169
-412,64883,150
-413,65033,160
-414,65193,146
-415,65339,139
-416,65478,163
-417,65641,136
-418,65777,161
-419,65938,168
-420,66106,161
-421,66267,149
-422,66416,178
-423,66594,195
-424,66789,211
-425,67000,126
-426,67126,201
-427,67327,165
-428,67492,145
-429,67637,227
-430,67864,148
-431,68012,164
-432,68176,220
-433,68396,144
-434,68540,182
-435,68722,176
-436,68898,148
-437,69046,153
-438,69199,190
-439,69389,181
-440,69570,153
-441,69723,153
-442,69876,167
-443,70043,132
-444,70175,155
-445,70330,192
-446,70522,181
-447,70703,160
-448,70863,126
-449,70989,156
-450,71145,147
-451,71292,130
-452,71422,181
-453,71603,168
-454,71771,156
-455,71927,145
-456,72072,142
-456,72214,72
-457,72286,147
-458,72433,170
-459,72603,107
-460,72710,230
-461,72940,113
-462,73053,194
-463,73247,197
-464,73444,135
-465,73579,154
-466,73733,214
-467,73947,174
-468,74121,149
-469,74270,232
-470,74502,121
-471,74623,146
-472,74769,157
-473,74926,140
-474,75066,208
-475,75274,147
-476,75421,129
-477,75550,142
-478,75692,143
-479,75835,198
-480,76033,151
-481,76184,206
-482,76390,167
-483,76557,126
-484,76683,132
-485,76815,176
-486,76991,166
-487,77157,166
-488,77323,151
-489,77474,181
-490,77655,132
-491,77787,182
-492,77969,156
-493,78125,149
-494,78274,181
-495,78455,216
-496,78671,149
-497,78820,171
-498,78991,162
-499,79153,126
-500,79279,142
-501,79421,131
-502,79552,224
-503,79776,175
-504,79951,187
-505,80138,189
-506,80327,116
-507,80443,184
-508,80627,170
-509,80797,160
-510,80957,196
-511,81153,161
-512,81314,196
-513,81510,144
-514,81654,179
-515,81833,174
-516,82007,184
-517,82191,153
-518,82344,131
-519,82475,176
-520,82651,161
-521,82812,231
-522,83043,137
-523,83180,147
-524,83327,120
-525,83447,127
-526,83574,154
-527,83728,121
-528,83849,181
-529,84030,235
-530,84265,122
-531,84387,143
-532,84530,167
-533,84697,173
-534,84870,147
-535,85017,147
-536,85164,217
-537,85381,152
-538,85533,135
-539,85668,142
-540,85810,154
-541,85964,204
-542,86168,134
-543,86302,159
-544,86461,155
-545,86616,195
-546,86811,137
-547,86948,162
-548,87110,118
-549,87228,157
-550,87385,139
-551,87524,175
-552,87699,158
-553,87857,171
-554,88028,179
-555,88207,148
-556,88355,160
-557,88515,125
-558,88640,127
-559,88767,126
-560,88893,143
-561,89036,153
-562,89189,189
-563,89378,178
-564,89556,156
-565,89712,167
-566,89879,126
-567,90005,167
-568,90172,191
-569,90363,123
-570,90486,161
-571,90647,141
-572,90788,189
-573,90977,146
-574,91123,162
-575,91285,194
-576,91479,171
-577,91650,122
-578,91772,165
-579,91937,166
-580,92103,208
-581,92311,182
-582,92493,203
-583,92696,228
-584,92924,147
-585,93071,198
-586,93269,145
-587,93414,145
-588,93559,138
-589,93697,179
-590,93876,149
-591,94025,149
-592,94174,149
-593,94323,161
-594,94484,150
-595,94634,133
-596,94767,124
-597,94891,186
-598,95077,150
-599,95227,145
-600,95372,182
-601,95554,227
-602,95781,143
-603,95924,190
-604,96114,190
-605,96304,141
-606,96445,190
-607,96635,158
-608,96793,161
-609,96954,113
-610,97067,217
-611,97284,162
-612,97446,136
-613,97582,189
-614,97771,156
-615,97927,140
-616,98067,196
-617,98263,174
-618,98437,205
-619,98642,209
-620,98851,155
-621,99006,150
-622,99156,164
-623,99320,211
-624,99531,178
-625,99709,151
-626,99860,196
-627,100056,143
-628,100199,186
-629,100385,170
-630,100555,181
-631,100736,162
-632,100898,211
-633,101109,161
-634,101270,213
-635,101483,142
-636,101625,141
-637,101766,145
-638,101911,145
-639,102056,179
-640,102235,141
-641,102376,147
-642,102523,137
-643,102660,145
-644,102805,125
-645,102930,155
-646,103085,138
-647,103223,123
-648,103346,166
-649,103512,139
-650,103651,213
-651,103864,134
-652,103998,167
-653,104165,205
-654,104370,154
-655,104524,156
-656,104680,169
-657,104849,174
-658,105023,155
-659,105178,153
-660,105331,168
-661,105499,192
-662,105691,204
-663,105895,146
-664,106041,166
-665,106207,128
-666,106335,132
-667,106467,158
-668,106625,114
-669,106739,165
-670,106904,204
-671,107108,173
-672,107281,134
-673,107415,135
-674,107550,134
-675,107684,173
-676,107857,203
-677,108060,153
-678,108213,192
-679,108405,138
-680,108543,183
-681,108726,152
-682,108878,175
-683,109053,183
-684,109236,126
-685,109362,140
-686,109502,179
-687,109681,151
-688,109832,191
-689,110023,165
-690,110188,139
-691,110327,160
-692,110487,120
-693,110607,128
-694,110735,205
-695,110940,189
-696,111129,142
-697,111271,145
-698,111416,145
-699,111561,162
-700,111723,153
-701,111876,182
-702,112058,170
-703,112228,143
-704,112371,226
-705,112597,181
-706,112778,196
-707,112974,124
-708,113098,144
-709,113242,163
-710,113405,189
-711,113594,172
-712,113766,232
-713,113998,149
-714,114147,132
-715,114279,172
-716,114451,122
-717,114573,164
-718,114737,146
-719,114883,180
-720,115063,152
-721,115215,159
-722,115374,134
-723,115508,149
-724,115657,161
-725,115818,115
-726,115933,124
-727,116057,142
-728,116199,183
-729,116382,139
-730,116521,165
-731,116686,142
-732,116828,179
-733,117007,210
-734,117217,157
-735,117374,163
-736,117537,115
-737,117652,168
-738,117820,157
-739,117977,165
-740,118142,184
-741,118326,157
-742,118483,169
-743,118652,136
-744,118788,117
-745,118905,160
-746,119065,138
-747,119203,167
-748,119370,170
-749,119540,166
-750,119706,132
-751,119838,215
-752,120053,208
-753,120261,169
-754,120430,149
-755,120579,181
-756,120760,132
-757,120892,173
-758,121065,141
-759,121206,131
-760,121337,157
-761,121494,175
-762,121669,136
-763,121805,166
-764,121971,145
-765,122116,145
-766,122261,147
-767,122408,180
-768,122588,143
-769,122731,182
-770,122913,160
-771,123073,197
-772,123270,172
-773,123442,156
-774,123598,185
-775,123783,155
-776,123938,154
-777,124092,159
-778,124251,149
-779,124400,189
-780,124589,183
-781,124772,193
-782,124965,230
-783,125195,214
-784,125409,187
-785,125596,182
-786,125778,137
-787,125915,138
-788,126053,204
-789,126257,146
-790,126403,170
-791,126573,162
-792,126735,146
-793,126881,116
-794,126997,202
-795,127199,180
-796,127379,155
-797,127534,198
-798,127732,153
-799,127885,131
-800,128016,142
-801,128158,182
-802,128340,159
-803,128499,171
-804,128670,172
-805,128842,167
-806,129009,177
-807,129186,118
-808,129304,141
-809,129445,172
-810,129617,209
-811,129826,158
-812,129984,146
-813,130130,166
-814,130296,207
-815,130503,195
-816,130698,151
-817,130849,145
-818,130994,145
-819,131139,155
-820,131294,144
-821,131438,160
-822,131598,134
-823,131732,167
-824,131899,137
-825,132036,160
-826,132196,159
-827,132355,175
-828,132530,145
-829,132675,150
-830,132825,198
-831,133023,138
-832,133161,174
-833,133335,135
-834,133470,152
-835,133622,145
-836,133767,132
-837,133899,205
-838,134104,160
-839,134264,161
-840,134425,161
-841,134586,159
-842,134745,138
-843,134883,150
-844,135033,217
-845,135250,152
-846,135402,181
-847,135583,159
-848,135742,116
-849,135858,135
-850,135993,143
-851,136136,145
-852,136281,212
-853,136493,163
-854,136656,169
-855,136825,151
-856,136976,184
-857,137160,146
-858,137306,136
-859,137442,157
-860,137599,185
-861,137784,184
-862,137968,198
-863,138166,196
-864,138362,212
-865,138574,147
-866,138721,198
-867,138919,173
-868,139092,163
-869,139255,211
-870,139466,161
-871,139627,148
-872,139775,189
-873,139964,169
-874,140133,118
-875,140251,145
-876,140396,145
-877,140541,172
-878,140713,168
-879,140881,136
-880,141017,136
-881,141153,190
-882,141343,181
-883,141524,149
-884,141673,142
-885,141815,137
-886,141952,154
-887,142106,140
-888,142246,167
-889,142413,218
-890,142631,155
-891,142786,171
-892,142957,143
-893,143100,147
-894,143247,191
-895,143438,173
-896,143611,176
-897,143787,161
-898,143948,159
-899,144107,165
-900,144272,139
-901,144411,163
-902,144574,180
-903,144754,149
-904,144903,209
-905,145112,127
-906,145239,146
-907,145385,177
-908,145562,140
-909,145702,177
-910,145879,144
-911,146023,150
-912,146173,189
-913,146362,217
-914,146579,220
-915,146799,151
-916,146950,128
-917,147078,148
-918,147226,188
-919,147414,142
-920,147556,123
-921,147679,237
-922,147916,131
-923,148047,156
-924,148203,175
-925,148378,155
-926,148533,198
-927,148731,145
-928,148876,145
-929,149021,215
-930,149236,157
-931,149393,114
-932,149507,153
-933,149660,168
-934,149828,163
-935,149991,187
-936,150178,210
-937,150388,140
-938,150528,114
-939,150642,159
-940,150801,169
-941,150970,128
-942,151098,201
-943,151299,153
-944,151452,178
-945,151630,131
-946,151761,114
-947,151875,218
-948,152093,199
-949,152292,210
-950,152502,150
-951,152652,147
-952,152799,164
-953,152963,168
-954,153131,152
-955,153283,185
-956,153468,121
-957,153589,184
-958,153773,142
-959,153915,209
-960,154124,164
-961,154288,161
-962,154449,145
-963,154594,147
-964,154741,145
-965,154886,132
-966,155018,149
-967,155167,143
-968,155310,166
-969,155476,171
-970,155647,137
-971,155784,194
-972,155978,170
-973,156148,143
-974,156291,222
-975,156513,193
-976,156706,167
-977,156873,169
-978,157042,153
-979,157195,160
-980,157355,156
-981,157511,186
-982,157697,141
-983,157838,168
-984,158006,158
-985,158164,133
-986,158297,195
-987,158492,175
-988,158667,142
-989,158809,123
-990,158932,128
-991,159060,136
-992,159196,170
-993,159366,187
-994,159553,158
-995,159711,145
-996,159856,145
-997,160001,138
-998,160139,136
-999,160275,192
-1000,160467,209
-1001,160676,151
-1002,160827,213
-1003,161040,148
-1004,161188,155
-1005,161343,174
-1006,161517,140
-1007,161657,126
-1008,161783,197
-1009,161980,174
-1010,162154,149
-1011,162303,154
-1012,162457,130
-1013,162587,121
-1014,162708,155
-1015,162863,150
-1016,163013,181
-1017,163194,169
-1018,163363,138
-1019,163501,138
-1020,163639,138
-1021,163777,145
-1022,163922,145
-1023,164067,144
-1024,164211,173
-1025,164384,178
-1026,164562,167
-1027,164729,142
-1028,164871,180
-1029,165051,180
-1030,165231,138
-1031,165369,179
-1032,165548,150
-1033,165698,151
-1034,165849,148
-1035,165997,170
-1036,166167,165
-1037,166332,160
-1038,166492,106
-1039,166598,214
-1040,166812,153
-1041,166965,152
-1042,167117,151
-1043,167268,147
-1044,167415,190
-1045,167605,171
-1046,167776,186
-1047,167962,123
-1048,168085,152
-1049,168237,177
-1050,168414,176
-1051,168590,150
-1052,168740,151
-1053,168891,138
-1054,169029,184
-1055,169213,173
-1056,169386,156
-1057,169542,155
-1058,169697,140
-1059,169837,159
-1060,169996,124
-1061,170120,193
-1062,170313,158
-1063,170471,145
-1064,170616,145
-1065,170761,205
-1066,170966,154
-1067,171120,174
-1068,171294,166
-1069,171460,200
-1070,171660,185
-1071,171845,218
-1072,172063,125
-1073,172188,170
-1074,172358,152
-1075,172510,137
-1076,172647,162
-1077,172809,153
-1078,172962,185
-1079,173147,215
-1080,173362,159
-1081,173521,178
-1082,173699,207
-1083,173906,161
-1084,174067,207
-1085,174274,127
-1086,174401,126
-1087,174527,183
-1088,174710,152
-1089,174862,160
-1090,175022,107
-1091,175129,191
-1092,175320,181
-1093,175501,169
-1094,175670,189
-1095,175859,195
-1096,176054,143
-1097,176197,145
-1098,176342,150
-1099,176492,118
-1100,176610,156
-1101,176766,145
-1102,176911,145
-1103,177056,176
-1104,177232,144
-1105,177376,129
-1106,177505,160
-1107,177665,133
-1108,177798,157
-1109,177955,135
-1110,178090,176
-1111,178266,227
-1112,178493,191
-1113,178684,143
-1114,178827,152
-1115,178979,197
-1116,179176,140
-1117,179316,126
-1118,179442,182
-1119,179624,206
-1120,179830,199
-1121,180029,217
-1122,180246,243
-1123,180489,157
-1124,180646,150
-1125,180796,167
-1126,180963,182
-1127,181145,211
-1128,181356,129
-1129,181485,165
-1130,181650,149
-1131,181799,149
-1132,181948,207
-1133,182155,145
-1134,182300,145
-1135,182445,199
-1136,182644,139
-1137,182783,122
-1138,182905,165
-1139,183070,143
-1140,183213,122
-1141,183335,158
-1142,183493,158
-1143,183651,151
-1144,183802,227
-1145,184029,162
-1146,184191,146
-1147,184337,166
-1148,184503,138
-1149,184641,110
-1150,184751,129
-1151,184880,158
-1152,185038,168
-1153,185206,172
-1154,185378,167
-1155,185545,204
-1156,185749,128
-1157,185877,130
-1158,186007,160
-1159,186167,178
-1160,186345,141
-1161,186486,143
-1162,186629,156
-1163,186785,171
-1164,186956,141
-1165,187097,165
-1166,187262,146
-1167,187408,167
-1168,187575,129
-1169,187704,166
-1170,187870,203
-1171,188073,190
-1172,188263,163
-1173,188426,172
-1174,188598,138
-1175,188736,171
-1176,188907,136
-1177,189043,153
-1178,189196,145
-1179,189341,145
-1180,189486,173
-1181,189659,160
-1182,189819,180
-1183,189999,165
-1184,190164,157
-1185,190321,144
-1186,190465,154
-1187,190619,162
-1188,190781,136
-1189,190917,154
-1190,191071,138
-1191,191209,216
-1192,191425,165
-1193,191590,164
-1194,191754,160
-1195,191914,168
-1196,192082,149
-1197,192231,135
-1198,192366,154
-1199,192520,152
-1200,192672,183
-1201,192855,181
-1202,193036,138
-1203,193174,134
-1204,193308,125
-1205,193433,146
-1206,193579,155
-1207,193734,132
-1208,193866,161
-1209,194027,167
-1210,194194,166
-1211,194360,147
-1212,194507,200
-1213,194707,132
-1214,194839,147
-1215,194986,134
-1216,195120,145
-1217,195265,145
-1218,195410,159
-1219,195569,154
-1220,195723,172
-1221,195895,144
-1222,196039,186
-1223,196225,114
-1224,196339,150
-1225,196489,184
-1226,196673,175
-1227,196848,164
-1228,197012,152
-1229,197164,171
-1230,197335,129
-1231,197464,139
-1232,197603,150
-1233,197753,170
-1234,197923,137
-1235,198060,155
-1236,198215,198
-1237,198413,236
***The diff for this file has been truncated for email.***
=======================================
--- /branches/rel-0.7.x/lib/netaddr/eui/oui.txt Tue Aug 18 12:47:26 2009
+++ /branches/rel-0.7.x/lib/netaddr/eui/oui.txt Wed Apr 28 15:12:10 2010
File is too large to display a diff.
=======================================
--- /branches/rel-0.7.x/lib/netaddr/fbsocket.py Wed Aug 26 13:15:46 2009
+++ /branches/rel-0.7.x/lib/netaddr/fbsocket.py Wed Apr 28 15:12:10 2010
@@ -63,7 +63,7 @@
for token in tokens:
if (token >> 8) != 0:
raise invalid_addr
- words.append(chr(token))
+ words.append(_pack('B', token))
return ''.join(words)
else:
raise invalid_addr
@@ -99,7 +99,7 @@
# Replace first longest run with an empty string.
if len(positions) != 0:
# Locate longest, left-most run of zeros.
- positions.sort(lambda x, y: cmp(x[1], y[1]))
+ positions.sort(key=lambda x: x[1])
best_position = positions[0]
for position in positions:
if position[0] > best_position[0]:
=======================================
--- /branches/rel-0.7.x/lib/netaddr/ip/__init__.py Wed Dec 2 06:13:23 2009
+++ /branches/rel-0.7.x/lib/netaddr/ip/__init__.py Wed Apr 28 15:12:10 2010
@@ -449,7 +449,7 @@

def __hex__(self):
"""@return: a hexadecimal string representation of this IP
address."""
- return hex(self._value).rstrip('L').lower()
+ return '0x%x' % self._value

def bits(self, word_sep=None):
"""
@@ -941,6 +941,8 @@
"""
if hasattr(other, '_value') and not hasattr(other, '_prefixlen'):
other = IPNetwork("%s/%d" % (other, other._module.width))
+ if self.version != other.version:
+ return False
return other.first >= self.first and other.last <= self.last

def __nonzero__(self):
@@ -961,8 +963,9 @@
@return: A key tuple used to compare and sort this L{IPNetwork}
correctly.
"""
- skey = self._module.width - num_bits(self.size)
- return self.version, self.first, skey
+ net_size_bits = self._module.width - num_bits(self.size)
+ host_bits = self._value - self.first
+ return self.version, self.first, net_size_bits, host_bits

def ipv4(self):
"""
@@ -1085,7 +1088,7 @@

# Calculate number of subnets to be returned.
width = self._module.width
- max_subnets = 2 ** (width - self.prefixlen) / 2 ** (width -
prefixlen)
+ max_subnets = 2 ** (width - self.prefixlen) // 2 ** (width -
prefixlen)

if count is None:
count = max_subnets
@@ -1244,6 +1247,8 @@
"""
if hasattr(other, '_value') and not hasattr(other, '_prefixlen'):
other = IPNetwork("%s/%d" % (other, other._module.width))
+ if self.version != other.version:
+ return False
return other.first >= self.first and other.last <= self.last

def __nonzero__(self):
=======================================
--- /branches/rel-0.7.x/lib/netaddr/ip/ipv4-address-space Tue Aug 18
12:47:26 2009
+++ /branches/rel-0.7.x/lib/netaddr/ip/ipv4-address-space Wed Apr 28
15:12:10 2010
@@ -1,6 +1,6 @@
IANA IPv4 Address Space Registry

-(last updated 2009-08-03)
+(last updated 2010-02-11)

The allocation of Internet Protocol version 4 (IPv4) address space to
various registries is listed
here. Originally, all the IPv4 address spaces was managed directly by the
IANA. Later parts of the
@@ -17,8 +17,8 @@
----- ------ ----
----- ---------- ----

000/8 IANA - Local Identification
1981-09 RESERVED [2]
-001/8
IANA
UNALLOCATED
-002/8
IANA
UNALLOCATED
+001/8 APNIC 2010-01
whois.apnic.net ALLOCATED
+002/8 RIPE NCC 2009-09
whois.ripe.net ALLOCATED
003/8 General Electric Company
1994-05 LEGACY
004/8 Level 3 Communications, Inc.
1992-12 LEGACY
005/8
IANA
UNALLOCATED
@@ -43,7 +43,7 @@
024/8 ARIN 2001-05
whois.arin.net ALLOCATED
025/8 UK Ministry of Defence 1995-01
whois.ripe.net LEGACY
026/8 Defense Information Systems Agency
1995-05 LEGACY
-027/8
IANA
UNALLOCATED
+027/8 APNIC 2010-01
whois.apnic.net ALLOCATED
028/8 DSI-North
1992-07 LEGACY
029/8 Defense Information Systems Agency
1991-07 LEGACY
030/8 Defense Information Systems Agency
1991-07 LEGACY
@@ -62,11 +62,11 @@
043/8 Administered by APNIC
1991-01 LEGACY
044/8 Amateur Radio Digital Communications
1992-07 LEGACY
045/8 Interop Show Network
1995-01 LEGACY
-046/8
IANA
UNALLOCATED
+046/8 RIPE NCC 2009-09
whois.ripe.net ALLOCATED
047/8 Bell-Northern Research
1991-01 LEGACY
048/8 Prudential Securities Inc.
1995-05 LEGACY
049/8
IANA
UNALLOCATED
-050/8
IANA
UNALLOCATED
+050/8 ARIN 2010-02
whois.arin.net ALLOCATED
051/8 UK Government Department for Work and Pensions 1994-08
whois.ripe.net LEGACY
052/8 E.I. duPont de Nemours and Co., Inc.
1991-12 LEGACY
053/8 Cap Debis CCS
1993-10 LEGACY
@@ -123,7 +123,7 @@
104/8
IANA
UNALLOCATED
105/8
IANA
UNALLOCATED
106/8
IANA
UNALLOCATED
-107/8
IANA
UNALLOCATED
+107/8 ARIN 2010-02
whois.arin.net ALLOCATED
108/8 ARIN 2008-12
whois.arin.net ALLOCATED
109/8 RIPE NCC 2009-01
whois.ripe.net ALLOCATED
110/8 APNIC 2008-11
whois.apnic.net ALLOCATED
@@ -208,18 +208,18 @@
189/8 LACNIC 1995-06
whois.lacnic.net ALLOCATED
190/8 LACNIC 1995-06
whois.lacnic.net ALLOCATED
191/8 Administered by LACNIC 1993-05
whois.lacnic.net LEGACY
-192/8 Administered by ARIN 1993-05
whois.arin.net LEGACY [8]
+192/8 Administered by ARIN 1993-05
whois.arin.net LEGACY [8] [9]
193/8 RIPE NCC 1993-05
whois.ripe.net ALLOCATED
194/8 RIPE NCC 1993-05
whois.ripe.net ALLOCATED
195/8 RIPE NCC 1993-05
whois.ripe.net ALLOCATED
196/8 Administered by AfriNIC 1993-05
whois.afrinic.net LEGACY
197/8 AfriNIC 2008-10
whois.afrinic.net ALLOCATED
-198/8 Administered by ARIN 1993-05
whois.arin.net LEGACY [9]
+198/8 Administered by ARIN 1993-05
whois.arin.net LEGACY [10]
199/8 ARIN 1993-05
whois.arin.net ALLOCATED
200/8 LACNIC 2002-11
whois.lacnic.net ALLOCATED
201/8 LACNIC 2003-04
whois.lacnic.net ALLOCATED
202/8 APNIC 1993-05
whois.apnic.net ALLOCATED
-203/8 APNIC 1993-05
whois.apnic.net ALLOCATED
+203/8 APNIC 1993-05
whois.apnic.net ALLOCATED [11]
204/8 ARIN 1994-03
whois.arin.net ALLOCATED
205/8 ARIN 1994-03
whois.arin.net ALLOCATED
206/8 ARIN 1995-04
whois.arin.net ALLOCATED
@@ -240,38 +240,38 @@
221/8 APNIC 2002-07
whois.apnic.net ALLOCATED
222/8 APNIC 2003-02
whois.apnic.net ALLOCATED
223/8
IANA
UNALLOCATED
-224/8 Multicast
1981-09 RESERVED [10]
-225/8 Multicast
1981-09 RESERVED [10]
-226/8 Multicast
1981-09 RESERVED [10]
-227/8 Multicast
1981-09 RESERVED [10]
-228/8 Multicast
1981-09 RESERVED [10]
-229/8 Multicast
1981-09 RESERVED [10]
-230/8 Multicast
1981-09 RESERVED [10]
-231/8 Multicast
1981-09 RESERVED [10]
-232/8 Multicast
1981-09 RESERVED [10]
-233/8 Multicast
1981-09 RESERVED [10]
-234/8 Multicast
1981-09 RESERVED [10]
-235/8 Multicast
1981-09 RESERVED [10]
-236/8 Multicast
1981-09 RESERVED [10]
-237/8 Multicast
1981-09 RESERVED [10]
-238/8 Multicast
1981-09 RESERVED [10]
-239/8 Multicast
1981-09 RESERVED [10]
-240/8 Future use
1981-09 RESERVED [11]
-241/8 Future use
1981-09 RESERVED [11]
-242/8 Future use
1981-09 RESERVED [11]
-243/8 Future use
1981-09 RESERVED [11]
-244/8 Future use
1981-09 RESERVED [11]
-245/8 Future use
1981-09 RESERVED [11]
-246/8 Future use
1981-09 RESERVED [11]
-247/8 Future use
1981-09 RESERVED [11]
-248/8 Future use
1981-09 RESERVED [11]
-249/8 Future use
1981-09 RESERVED [11]
-250/8 Future use
1981-09 RESERVED [11]
-251/8 Future use
1981-09 RESERVED [11]
-252/8 Future use
1981-09 RESERVED [11]
-253/8 Future use
1981-09 RESERVED [11]
-254/8 Future use
1981-09 RESERVED [11]
-255/8 Future use
1981-09 RESERVED [11]
+224/8 Multicast
1981-09 RESERVED [12]
+225/8 Multicast
1981-09 RESERVED [12]
+226/8 Multicast
1981-09 RESERVED [12]
+227/8 Multicast
1981-09 RESERVED [12]
+228/8 Multicast
1981-09 RESERVED [12]
+229/8 Multicast
1981-09 RESERVED [12]
+230/8 Multicast
1981-09 RESERVED [12]
+231/8 Multicast
1981-09 RESERVED [12]
+232/8 Multicast
1981-09 RESERVED [12]
+233/8 Multicast
1981-09 RESERVED [12]
+234/8 Multicast
1981-09 RESERVED [12]
+235/8 Multicast
1981-09 RESERVED [12]
+236/8 Multicast
1981-09 RESERVED [12]
+237/8 Multicast
1981-09 RESERVED [12]
+238/8 Multicast
1981-09 RESERVED [12]
+239/8 Multicast
1981-09 RESERVED [12]
+240/8 Future use
1981-09 RESERVED [13]
+241/8 Future use
1981-09 RESERVED [13]
+242/8 Future use
1981-09 RESERVED [13]
+243/8 Future use
1981-09 RESERVED [13]
+244/8 Future use
1981-09 RESERVED [13]
+245/8 Future use
1981-09 RESERVED [13]
+246/8 Future use
1981-09 RESERVED [13]
+247/8 Future use
1981-09 RESERVED [13]
+248/8 Future use
1981-09 RESERVED [13]
+249/8 Future use
1981-09 RESERVED [13]
+250/8 Future use
1981-09 RESERVED [13]
+251/8 Future use
1981-09 RESERVED [13]
+252/8 Future use
1981-09 RESERVED [13]
+253/8 Future use
1981-09 RESERVED [13]
+254/8 Future use
1981-09 RESERVED [13]
+255/8 Future use
1981-09 RESERVED [13] [14]



@@ -286,7 +286,7 @@
ALLOCATED: delegated entirely to specific RIR as indicated.
UNALLOCATED: not yet allocated or reserved.

-[2] 0.0.0.0/8 reserved for self-identification [RFC3330]
+[2] 0.0.0.0/8 reserved for self-identification [RFC5735]

[3] Reserved for Private-Use Networks [RFC1918]

@@ -294,29 +294,38 @@
See: http://www.iana.org/assignments/public-data-network-numbers
It was recovered in February 2008.

-[5] 127.0.0.0/8 is reserved for Loopback [RFC3330]
-
-[6] 169.254.0.0/16 reserved for Link Local [RFC3330]
+[5] 127.0.0.0/8 is reserved for Loopback [RFC5735]
+
+[6] 169.254.0.0/16 reserved for Link Local [RFC5735]

[7] 172.16.0.0/12 reserved for Private-Use Networks [RFC1918]

-[8] 192.0.2.0/24 reserved for Test-Net [RFC3330]
+[8] 192.0.2.0/24 reserved for TEST-NET-1 [RFC5737]
192.88.99.0/24 reserved for 6to4 Relay Anycast [RFC3068]
192.168.0.0/16 reserved for Private-Use Networks [RFC1918]

-[9] 198.18.0.0/15 reserved for Network Interconnect Device
- Benchmark Testing [RFC3330]
-
-[10] Multicast (formerly "Class D") [RFC1700]
+[9] 192.0.0.0/24 reserved for IANA IPv4 Special Purpose Address Registry
[RFC5736]
+
+[10] 198.18.0.0/15 reserved for Network Interconnect Device
+ Benchmark Testing [RFC-iana-rfc3330bis-11.txt]
+ 198.51.100.0/24 reserved for TEST-NET-2 [RFC5737]
+
+[11] 203.0.113.0/24 reserved for TEST-NET-3 [RFC5737]
+
+[12] Multicast (formerly "Class D") [RFC3171]
See: http://www.iana.org/assignments/multicast-addresses

-[11] Reserved for future use (formerly "Class E") [RFC1700]
-
+[13] Reserved for future use (formerly "Class E") [RFC1112]
+
+[14] Reserved for "limited broadcast" destination address [RFC0919] and
[RFC0922]


Reference
---------

+[RFC1112] Deering, S., "Host Extensions for IP Multicasting",
+ RFC 1112, August 1989
+
[RFC1356] Malis, A., Robinson, D., and R. Ullmann, "Multiprotocol
Interconnect on X.25 and ISDN in the Packet Mode",
RFC 1356, August 1992.
@@ -324,9 +333,6 @@
[RFC1466] Gerich, E., "Guidelines for Management of IP Address
Space", RFC 1466, May 1993.

-[RFC1700] Reynolds, J. and J. Postel, "Assigned Numbers",
- RFC1700, October 1994.
-
[RFC1918] Rekhter, Y., Moskowitz, R., Karrenberg, D., Groot, G.,
and E. Lear, "Address Allocation for Private
Internets", BCP 5, RFC 1918, February 1996.
@@ -342,5 +348,11 @@
"IANA Guidelines for IPv4 Multicast Address
Assignments", BCP 51, RFC 3171, August 2001.

-[RFC3330] IANA, "Special-Use IPv4 Addresses", RFC 3330,
- September 2002.
+[RFC5735] Cotton, M, "Special-Use IPv4 Addresses", RFC 5735,
+ January 2010.
+
+[RFC5736] Huston, G, "IANA IPv4 Special Purpose Address Registry",
+ RFC 5736, January 2010.
+
+[RFC5737] Arkko, J, "IPv4 Address Blocks Reserved for Documentation",
+ RFC 5737, January 2010.
=======================================
--- /branches/rel-0.7.x/lib/netaddr/ip/rfc1924.py Wed Aug 5 14:27:15 2009
+++ /branches/rel-0.7.x/lib/netaddr/ip/rfc1924.py Wed Apr 28 15:12:10 2010
@@ -30,9 +30,8 @@
remainder = []
while int_val > 0:
remainder.append(int_val % 85)
- int_val /= 85
-
- #print '-'.join([str(w) for w in reversed(remainder)])
+ int_val //= 85
+
return ''.join([BASE_85[w] for w in reversed(remainder)])


#-----------------------------------------------------------------------------
=======================================
--- /branches/rel-0.7.x/lib/netaddr/strategy/eui48.py Wed Dec 2 06:13:23
2009
+++ /branches/rel-0.7.x/lib/netaddr/strategy/eui48.py Wed Apr 28 15:12:10
2010
@@ -55,7 +55,7 @@
word_size = 8

#: The number of words in this address type.
- num_words = width / word_size
+ num_words = width // word_size

#: The maximum integer value for an individual word in this address
type.
max_word = 2 ** word_size - 1
@@ -72,7 +72,7 @@
class mac_unix(mac_eui48):
"""A UNIX-style MAC address dialect class."""
word_size = 8
- num_words = width / word_size
+ num_words = width // word_size
word_sep = ':'
word_fmt = '%x'
word_base = 16
@@ -80,7 +80,7 @@
class mac_cisco(mac_eui48):
"""A Cisco 'triple hextet' MAC address dialect class."""
word_size = 16
- num_words = width / word_size
+ num_words = width // word_size
word_sep = '.'
word_fmt = '%.4x'
word_base = 16
@@ -88,7 +88,7 @@
class mac_bare(mac_eui48):
"""A bare (no delimiters) MAC address dialect class."""
word_size = 48
- num_words = width / word_size
+ num_words = width // word_size
word_sep = ''
word_fmt = '%.12X'
word_base = 16
@@ -96,7 +96,7 @@
class mac_pgsql(mac_eui48):
"""A PostgreSQL style (2 x 24-bit words) MAC address dialect class."""
word_size = 24
- num_words = width / word_size
+ num_words = width // word_size
word_sep = ':'
word_fmt = '%.6x'
word_base = 16
=======================================
--- /branches/rel-0.7.x/lib/netaddr/strategy/eui64.py Wed Aug 5 14:27:15
2009
+++ /branches/rel-0.7.x/lib/netaddr/strategy/eui64.py Wed Apr 28 15:12:10
2010
@@ -52,7 +52,7 @@
max_int = 2 ** width - 1

#: The number of words in this address type.
-num_words = width / word_size
+num_words = width // word_size

#: The maximum integer value for an individual word in this address type.
max_word = 2 ** word_size - 1
=======================================
--- /branches/rel-0.7.x/lib/netaddr/strategy/ipv4.py Wed Dec 2 06:13:23
2009
+++ /branches/rel-0.7.x/lib/netaddr/strategy/ipv4.py Wed Apr 28 15:12:10
2010
@@ -63,7 +63,7 @@
max_int = 2 ** width - 1

#: The number of words in this address type.
-num_words = width / word_size
+num_words = width // word_size

#: The maximum integer value for an individual word in this address type.
max_word = 2 ** word_size - 1
=======================================
--- /branches/rel-0.7.x/lib/netaddr/strategy/ipv6.py Wed Aug 5 14:27:15
2009
+++ /branches/rel-0.7.x/lib/netaddr/strategy/ipv6.py Wed Apr 28 15:12:10
2010
@@ -64,7 +64,7 @@
max_int = 2 ** width - 1

#: The number of words in this address type.
-num_words = width / word_size
+num_words = width // word_size

#: The maximum integer value for an individual word in this address type.
max_word = 2 ** word_size - 1
=======================================
--- /branches/rel-0.7.x/lib/netaddr/tests/__init__.py Tue Aug 11 16:00:15
2009
+++ /branches/rel-0.7.x/lib/netaddr/tests/__init__.py Wed Apr 28 15:12:10
2010
@@ -18,7 +18,7 @@
DEBUG = True


#-----------------------------------------------------------------------------
-def test_suit_all():
+def test_suite_all():

test_dirs = ['ip', 'eui', 'strategy', 'core']

@@ -57,6 +57,11 @@

return suite

-if __name__ == "__main__":
+#-----------------------------------------------------------------------------
+def run():
runner = unittest.TextTestRunner()
- runner.run(test_suit_all())
+ runner.run(test_suite_all())
+
+#-----------------------------------------------------------------------------
+if __name__ == "__main__":
+ run()
=======================================
--- /branches/rel-0.7.x/lib/netaddr/tests/ip/matches.txt Tue Aug 18
12:47:26 2009
+++ /branches/rel-0.7.x/lib/netaddr/tests/ip/matches.txt Wed Apr 28
15:12:10 2010
@@ -37,3 +37,29 @@
IPNetwork('192.0.0.0/22')

}}}
+
+Checking matches with varying IP address versions.
+
+{{{
+>>> all_matching_cidrs('192.0.2.0', ['192.0.2.0/24'])
+[IPNetwork('192.0.2.0/24')]
+
+>>> all_matching_cidrs('192.0.2.0', ['::/96'])
+[]
+
+>>> all_matching_cidrs('::ffff:192.0.2.1', ['::ffff:192.0.2.0/96'])
+[IPNetwork('::ffff:192.0.2.0/96')]
+
+>>> all_matching_cidrs('::192.0.2.1', ['::192.0.2.0/96'])
+[IPNetwork('::192.0.2.0/96')]
+
+>>> all_matching_cidrs('::192.0.2.1', ['192.0.2.0/23'])
+[]
+
+>>> all_matching_cidrs('::192.0.2.1', ['192.0.2.0/24', '::192.0.2.0/120'])
+[IPNetwork('::192.0.2.0/120')]
+
+>>> all_matching_cidrs('::192.0.2.1', [IPNetwork('192.0.2.0/24'),
IPNetwork('::192.0.2.0/120')])
+[IPNetwork('::192.0.2.0/120')]
+
+}}}
=======================================
--- /branches/rel-0.7.x/lib3/netaddr/__init__.py Wed Dec 2 06:13:23 2009
+++ /branches/rel-0.7.x/lib3/netaddr/__init__.py Wed Apr 28 15:12:10 2010
@@ -10,7 +10,8 @@
if _sys.version_info[0:2] < (2, 4):
raise RuntimeError('Python 2.4.x or higher is required!')

-__version__ = '0.7.4'
+VERSION = (0, 7, 5, '-pre', 0)
+__version__ = '%d.%d.%d%s' % VERSION[0:4] + str(VERSION[4] or '')

from netaddr.core import AddrConversionError, AddrFormatError, \
NotRegisteredError
=======================================
--- /branches/rel-0.7.x/lib3/netaddr/core.py Sun Aug 2 14:06:36 2009
+++ /branches/rel-0.7.x/lib3/netaddr/core.py Wed Apr 28 15:12:10 2010
@@ -118,7 +118,7 @@
interface.
"""
if hasattr(subscriber, 'update') and \
- callable(eval('subscriber.update')):
+ hasattr(eval('subscriber.update'), '__call__'):
if subscriber not in self.subscribers:
self.subscribers.append(subscriber)
else:
@@ -176,8 +176,25 @@
return self.__dict__[name]

def __iter__(self):
- return iter(self.__dict__.keys())
+ return self.__dict__.keys()

def __repr__(self):
return _pprint.pformat(self.__dict__)

+#-----------------------------------------------------------------------------
+def dos2unix(filename):
+ """
+ Replace DOS line endings (CRLF) with UNIX line endings (LF) in file.
+
+ """
+ data = open(filename, "rb").read()
+ data.close()
+
+ if '\0' in data:
+ raise ValueError('file contains binary data: %s!' % filename)
+
+ newdata = data.replace(b"\r\n", b"\n")
+ if newdata != data:
+ f = open(filename, "wb")
+ f.write(newdata)
+ f.close()
=======================================
--- /branches/rel-0.7.x/lib3/netaddr/eui/__init__.py Wed Dec 2 06:13:23
2009
+++ /branches/rel-0.7.x/lib3/netaddr/eui/__init__.py Wed Apr 28 15:12:10
2010
@@ -48,7 +48,7 @@
#TODO: Accept full MAC/EUI-48 addressses as well as XX-XX-XX
#TODO: and just take /16 (see IAB for details)
self.value = int(oui.replace('-', ''), 16)
- elif isinstance(oui, (int, long)):
+ elif isinstance(oui, int):
if 0 <= oui <= 0xffffff:
self.value = oui
else:
@@ -58,7 +58,7 @@

# Discover offsets.
if self.value in ieee.OUI_INDEX:
- fh = open(ieee.OUI_REGISTRY, 'rb')
+ fh = open(ieee.OUI_REGISTRY)
for (offset, size) in ieee.OUI_INDEX[self.value]:
fh.seek(offset)
data = fh.read(size)
@@ -80,7 +80,7 @@

for line in data.split("\n"):
line = line.strip()
- if line == '':
+ if not line:
continue

if '(hex)' in line:
@@ -103,12 +103,12 @@
"""@return: integer representation of this OUI"""
return self.value

- def __hex__(self):
+ def __index__(self):
"""
@return: hexadecimal string representation of this OUI (in network
byte
order).
"""
- return hex(self.value).rstrip('L').lower()
+ return self.value

def registration(self, index=0):
"""
@@ -200,7 +200,7 @@
int_val = int(iab.replace('-', ''), 16)
(iab_int, user_int) = IAB.split_iab_mac(int_val, strict)
self.value = iab_int
- elif isinstance(iab, (int, long)):
+ elif isinstance(iab, int):
(iab_int, user_int) = IAB.split_iab_mac(iab, strict)
self.value = iab_int
else:
@@ -208,7 +208,7 @@

# Discover offsets.
if self.value in ieee.IAB_INDEX:
- fh = open(ieee.IAB_REGISTRY, 'rb')
+ fh = open(ieee.IAB_REGISTRY)
(offset, size) = ieee.IAB_INDEX[self.value][0]
self.record['offset'] = offset
self.record['size'] = size
@@ -223,7 +223,7 @@
"""Returns a dict record from raw IAB record data"""
for line in data.split("\n"):
line = line.strip()
- if line == '':
+ if not line:
continue

if '(hex)' in line:
@@ -239,12 +239,12 @@
"""@return: integer representation of this IAB"""
return self.value

- def __hex__(self):
+ def __index__(self):
"""
@return: hexadecimal string representation of this IAB (in network
byte order)
"""
- return hex(self.value).rstrip('L').lower()
+ return self.value

def registration(self):
""" The IEEE registration details for this IAB"""
@@ -311,10 +311,11 @@
else:
# Choose a default version when addr is an integer and version is
# not specified.
- if 0 <= addr <= 0xffffffffffff:
- self._module = _eui48
- elif 0xffffffffffff < addr <= 0xffffffffffffffff:
- self._module = _eui64
+ if isinstance(addr, int):
+ if 0 <= addr <= 0xffffffffffff:
+ self._module = _eui48
+ elif 0xffffffffffff < addr <= 0xffffffffffffffff:
+ self._module = _eui64

self.value = addr

@@ -418,7 +419,7 @@
of bounds. Also supports Python list slices for accessing
word groups.
"""
- if isinstance(idx, (int, long)):
+ if isinstance(idx, int):
# Indexing, including negative indexing goodness.
num_words = self._dialect.num_words
if not (-num_words) <= idx <= (num_words - 1):
@@ -436,13 +437,13 @@
# TODO - settable slices.
raise NotImplementedError('settable slices are not supported!')

- if not isinstance(idx, (int, long)):
+ if not isinstance(idx, int):
raise TypeError('index not an integer!')

if not 0 <= idx <= (self._dialect.num_words - 1):
raise IndexError('index %d outside address type boundary!' %
idx)

- if not isinstance(value, (int, long)):
+ if not isinstance(value, int):
raise TypeError('value not an integer!')

if not 0 <= value <= self._dialect.max_word:
@@ -465,11 +466,11 @@
"""@return: value of this EUI object as an unsigned integer"""
return self._value

- def __hex__(self):
+ def __index__(self):
"""
@return: hexadecimal string representation of this EUI identifier.
"""
- return hex(self._value).rstrip('L').lower()
+ return self._value

def __eq__(self, other):
"""
@@ -513,8 +514,8 @@

def __gt__(self, other):
"""
- @return: C{True} if this EUI object is numerically greater in
value than
- other, C{False} otherwise.
+ @return: C{True} if this EUI object is numerically greater in value
+ than other, C{False} otherwise.
"""
try:
return (self.version, self._value) > (other.version,
other._value)
@@ -541,22 +542,21 @@

@property
def packed(self):
- """@return: binary packed string of this address"""
+ """The value of this EUI address as a packed binary string."""
return self._module.int_to_packed(self._value)

@property
def words(self):
- """
- A list of unsigned integer octets found in this EUI address.
- """
+ """A list of unsigned integer octets found in this EUI address."""
return self._module.int_to_words(self._value)

@property
def bin(self):
"""
- @return: standard Python binary representation of this address. A
back
- port of the format provided by the builtin bin() type
available in
- Python 2.6.x and higher."""
+ The value of this EUI adddress in standard Python binary
+ representational form (0bxxx). A back port of the format provided
by
+ the builtin bin() function found in Python 2.6.x and higher.
+ """
return self._module.int_to_bin(self._value)

def eui64(self):
=======================================
--- /branches/rel-0.7.x/lib3/netaddr/eui/iab.idx Tue Aug 18 12:47:26 2009
+++ /branches/rel-0.7.x/lib3/netaddr/eui/iab.idx Wed Apr 28 15:12:10 2010
@@ -21,2821 +21,3068 @@
84680724,3049,121
84680725,3170,169
84680726,3339,192
-84680727,3531,182
-84680728,3713,111
-84680729,3824,205
-84680730,4029,174
-84680731,4203,164
-84680732,4367,110
-84680733,4477,163
-84680734,4640,186
-84680735,4826,153
-84680736,4979,160
-84680737,5139,159
-84680738,5298,147
-84680739,5445,148
-84680740,5593,114
-84680741,5707,163
-84680742,5870,161
-84680743,6031,152
-84680744,6183,181
-84680745,6364,151
-84680746,6515,134
-84680747,6649,152
-84680748,6801,175
-84680749,6976,133
-84680750,7109,152
-84680751,7261,145
-84680752,7406,195
-84680753,7601,177
-84680754,7778,120
-84680755,7898,151
-84680756,8049,160
-84680757,8209,183
-84680758,8392,159
-84680759,8551,150
-84680760,8701,144
-84680761,8845,161
-84680762,9006,150
-84680763,9156,144
-84680764,9300,190
-84680765,9490,149
-84680766,9639,149
-84680767,9788,119
-84680768,9907,186
-84680769,10093,171
-84680770,10264,203
-84680771,10467,153
-84680772,10620,57
-84680773,10677,163
-84680774,10840,57
-84680775,10897,131
-84680776,11028,135
-84680777,11163,142
-84680778,11305,167
-84680779,11472,161
-84680780,11633,152
-84680782,11785,183
-84680783,11968,140
-84680784,12108,130
-84680785,12238,135
-84680786,12373,161
-84680788,12534,175
-84680789,12709,175
-84680790,12884,121
-84680791,13005,113
-84680792,13118,143
-84680793,13261,191
-84680794,13452,151
-84680795,13603,139
-84680796,13742,168
-84680797,13910,152
-84680798,14062,133
-84680799,14195,171
-84680800,14366,57
-84680801,14423,169
-84680802,14592,57
-84680803,14649,151
-84680804,14800,57
-84680805,14857,139
-84680806,14996,57
-84680807,15053,176
-84680808,15229,129
-84680809,15358,152
-84680810,15510,116
-84680811,15626,159
-84680812,15785,157
-84680813,15942,143
-84680814,16085,171
-84680815,16256,146
-84680816,16402,159
-84680817,16561,157
-84680818,16718,186
-84680819,16904,185
-84680820,17089,181
-84680821,17270,123
-84680822,17393,175
-84680823,17568,146
-84680824,17714,121
-84680825,17835,125
-84680826,17960,111
-84680827,18071,159
-84680828,18230,150
-84680829,18380,142
-84680830,18522,111
-84680831,18633,141
-84680832,18774,113
-84680833,18887,161
-84680834,19048,130
-84680835,19178,111
-84680836,19289,161
-84680837,19450,155
-84680838,19605,158
-84680839,19763,168
-84680840,19931,144
-84680841,20075,147
-84680842,20222,156
-84680843,20378,141
-84680844,20519,123
-84680845,20642,201
-84680846,20843,122
-84680847,20965,187
-84680848,21152,168
-84680849,21320,152
-84680850,21472,221
-84680851,21693,157
-84680852,21850,182
-84680853,22032,121
-84680854,22153,161
-84680855,22314,132
-84680856,22446,154
-84680857,22600,207
-84680858,22807,198
-84680859,23005,128
-84680860,23133,149
-84680861,23282,111
-84680862,23393,152
-84680863,23545,172
-84680864,23717,110
-84680865,23827,151
-84680866,23978,176
-84680867,24154,120
-84680868,24274,147
-84680869,24421,142
-84680870,24563,161
-84680871,24724,154
-84680872,24878,133
-84680873,25011,178
-84680874,25189,150
-84680875,25339,154
-84680876,25493,127
-84680877,25620,140
-84680878,25760,145
-84680879,25905,168
-84680880,26073,162
-84680881,26235,156
-84680882,26391,142
-84680883,26533,137
-84680884,26670,157
-84680885,26827,153
-84680886,26980,190
-84680887,27170,116
-84680888,27286,138
-84680889,27424,137
-84680890,27561,137
-84680891,27698,118
-84680892,27816,137
-84680893,27953,124
-84680894,28077,196
-84680895,28273,57
-84680896,28330,138
-84680897,28468,113
-84680898,28581,181
-84680899,28762,122
-84680900,28884,213
-84680901,29097,147
-84680902,29244,202
-84680903,29446,174
-84680904,29620,145
-84680905,29765,148
-84680906,29913,142
-84680907,30055,136
-84680908,30191,178
-84680909,30369,107
-84680910,30476,152
-84680911,30628,115
-84680912,30743,124
-84680913,30867,174
-84680914,31041,171
-84680915,31212,160
-84680916,31372,151
-84680917,31523,126
-84680918,31649,133
-84680919,31782,154
-84680920,31936,172
-84680921,32108,131
-84680922,32239,151
-84680923,32390,129
-84680924,32519,127
-84680925,32646,171
-84680926,32817,148
-84680927,32965,154
-84680928,33119,123
-84680929,33242,148
-84680930,33390,167
-84680931,33557,116
-84680932,33673,176
-84680933,33849,142
-84680934,33991,149
-84680935,34140,151
-84680936,34291,173
-84680937,34464,154
-84680938,34618,148
-84680939,34766,148
-84680940,34914,138
-84680941,35052,150
-84680942,35202,167
-84680943,35369,156
-84680944,35525,173
-84680945,35698,168
-84680946,35866,138
-84680947,36004,194
-84680948,36198,140
-84680949,36338,225
-84680950,36563,161
-84680951,36724,160
-84680952,36884,132
-84680953,37016,155
-84680954,37171,161
-84680955,37332,174
-84680956,37506,169
-84680957,37675,145
-84680958,37820,117
-84680959,37937,159
-84680960,38096,154
-84680961,38250,144
-84680962,38394,201
-84680963,38595,162
-84680964,38757,130
-84680965,38887,125
-84680966,39012,122
-84680967,39134,132
-84680968,39266,137
-84680969,39403,135
-84680970,39538,118
-84680971,39656,126
-84680972,39782,154
-84680973,39936,121
-84680974,40057,116
-84680975,40173,138
-84680976,40311,130
-84680977,40441,177
-84680978,40618,117
-84680979,40735,143
-84680980,40878,154
-84680981,41032,128
-84680982,41160,187
-84680983,41347,117
-84680984,41464,121
-84680985,41585,201
-84680986,41786,146
-84680987,41932,133
-84680988,42065,143
-84680989,42208,164
-84680990,42372,144
-84680991,42516,152
-84680992,42668,142
-84680993,42810,139
-84680994,42949,131
-84680995,43080,170
-84680996,43250,154
-84680997,43404,126
-84680998,43530,199
-84680999,43729,166
-84681000,43895,129
-84681001,44024,168
-84681002,44192,145
-84681003,44337,215
-84681004,44552,162
-84681005,44714,165
-84681006,44879,110
-84681007,44989,128
-84681008,45117,157
-84681009,45274,154
-84681010,45428,133
-84681011,45561,139
-84681012,45700,128
-84681013,45828,119
-84681014,45947,139
-84681015,46086,212
-84681016,46298,147
-84681017,46445,143
-84681018,46588,135
-84681019,46723,128
-84681020,46851,161
-84681021,47012,184
-84681022,47196,172
-84681023,47368,148
-84681024,47516,138
-84681025,47654,156
-84681026,47810,123
-84681027,47933,118
-84681028,48051,147
-84681029,48198,129
-84681030,48327,141
-84681031,48468,171
-84681032,48639,114
-84681033,48753,134
-84681034,48887,133
-84681035,49020,130
-84681036,49150,113
-84681037,49263,203
-84681038,49466,138
-84681039,49604,146
-84681040,49750,109
-84681041,49859,134
-84681042,49993,169
-84681043,50162,167
-84681044,50329,106
-84681045,50435,128
-84681046,50563,183
-84681047,50746,128
-84681048,50874,166
-84681049,51040,144
-84681050,51184,150
-84681051,51334,142
-84681052,51476,142
-84681053,51618,126
-84681054,51744,170
-84681055,51914,126
-84681056,52040,191
-84681057,52231,156
-84681058,52387,164
-84681059,52551,143
-84681060,52694,119
-84681061,52813,155
-84681062,52968,120
-84681063,53088,149
-84681064,53237,164
-84681065,53401,131
-84681066,53532,133
-84681067,53665,141
-84681068,53806,242
-84681069,54048,144
-84681070,54192,100
-84681071,54292,144
-84681072,54436,159
-84681073,54595,135
-84681074,54730,138
-84681075,54868,121
-84681076,54989,187
-84681077,55176,119
-84681078,55295,119
-84681079,55414,143
-84681080,55557,150
-84681081,55707,130
-84681082,55837,159
-84681083,55996,157
-84681084,56153,150
-84681085,56303,147
-84681086,56450,170
-84681087,56620,140
-84681088,56760,149
-84681089,56909,126
-84681090,57035,127
-84681091,57162,174
-84681092,57336,182
-84681093,57518,165
-84681094,57683,151
-84681095,57834,169
-84681096,58003,136
-84681097,58139,109
-84681098,58248,145
-84681099,58393,134
-84681100,58527,143
-84681101,58670,173
-84681102,58843,160
-84681103,59003,145
-84681104,59148,138
-84681105,59286,149
-84681106,59435,155
-84681107,59590,152
-84681108,59742,109
-84681109,59851,174
-84681110,60025,115
-84681111,60140,185
-84681112,60325,150
-84681113,60475,171
-84681114,60646,158
-84681115,60804,156
-84681116,60960,118
-84681117,61078,138
-84681118,61216,147
-84681119,61363,170
-84681120,61533,154
-84681121,61687,140
-84681122,61827,140
-84681123,61967,152
-84681124,62119,200
-84681125,62319,140
-84681126,62459,125
-84681127,62584,167
-84681128,62751,138
-84681129,62889,153
-84681130,63042,173
-84681131,63215,141
-84681132,63356,134
-84681133,63490,113
-84681134,63603,146
-84681135,63749,161
-84681136,63910,170
-84681137,64080,135
-84681138,64215,164
-84681139,64379,170
-84681140,64549,136
-84681141,64685,144
-84681142,64829,121
-84681143,64950,126
-84681144,65076,175
-84681145,65251,167
-84681146,65418,128
-84681147,65546,137
-84681148,65683,144
-84681149,65827,169
-84681150,65996,151
-84681151,66147,218
-84681152,66365,148
-84681153,66513,164
-84681154,66677,157
-84681155,66834,201
-84681156,67035,153
-84681157,67188,126
-84681158,67314,136
-84681159,67450,152
-84681160,67602,203
-84681161,67805,111
-84681162,67916,143
-84681163,68059,170
-84681164,68229,123
-84681165,68352,164
-84681166,68516,170
-84681167,68686,165
-84681168,68851,156
-84681169,69007,146
-84681170,69153,173
-84681171,69326,146
-84681172,69472,172
-84681173,69644,156
-84681174,69800,203
-84681175,70003,159
-84681176,70162,175
-84681177,70337,101
-84681178,70438,126
-84681179,70564,182
-84681180,70746,150
-84681181,70896,169
-84681182,71065,127
-84681183,71192,167
-84681184,71359,136
-84681185,71495,157
-84681186,71652,184
-84681187,71836,164
-84681188,72000,147
-84681189,72147,159
-84681190,72306,161
-84681191,72467,134
-84681192,72601,156
-84681193,72757,142
-84681194,72899,112
-84681195,73011,132
-84681196,73143,137
-84681197,73280,141
-84681198,73421,214
-84681199,73635,155
-84681200,73790,160
-84681201,73950,147
-84681202,74097,135
-84681203,74232,157
-84681204,74389,186
-84681205,74575,184
-84681206,74759,158
-84681207,74917,178
-84681208,75095,175
-84681209,75270,118
-84681210,75388,142
-84681211,75530,147
-84681212,75677,132
-84681213,75809,133
-84681214,75942,187
-84681215,76129,227
-84681216,76356,183
-84681217,76539,119
-84681218,76658,132
-84681219,76790,57
-84681220,76847,155
-84681221,77002,119
-84681222,77121,143
-84681223,77264,244
-84681224,77508,143
-84681225,77651,152
-84681226,77803,140
-84681227,77943,128
-84681228,78071,228
-84681229,78299,172
-84681230,78471,161
-84681231,78632,139
-84681232,78771,167
-84681233,78938,221
-84681234,79159,179
-84681235,79338,128
-84681236,79466,156
-84681237,79622,123
-84681238,79745,147
-84681239,79892,156
-84681240,80048,194
-84681241,80242,161
-84681242,80403,150
-84681243,80553,194
-84681244,80747,163
-84681245,80910,176
-84681246,81086,175
-84681247,81261,169
-84681248,81430,152
-84681249,81582,145
-84681250,81727,132
-84681251,81859,148
-84681252,82007,132
-84681253,82139,145
-84681254,82284,130
-84681255,82414,159
-84681256,82573,184
-84681257,82757,152
-84681258,82909,134
-84681259,83043,185
-84681260,83228,150
-84681261,83378,117
-84681262,83495,147
-84681263,83642,141
-84681264,83783,182
-84681265,83965,152
-84681266,84117,111
-84681267,84228,180
-84681268,84408,152
-84681269,84560,186
-84681270,84746,142
-84681271,84888,164
-84681272,85052,147
-84681273,85199,142
-84681274,85341,157
-84681275,85498,129
-84681276,85627,152
-84681277,85779,153
-84681278,85932,137
-84681279,86069,141
-84681280,86210,147
-84681281,86357,161
-84681282,86518,125
-84681283,86643,134
-84681284,86777,121
-84681285,86898,169
-84681286,87067,104
-84681287,87171,196
-84681288,87367,183
-84681289,87550,170
-84681290,87720,146
-84681291,87866,140
-84681292,88006,137
-84681293,88143,141
-84681294,88284,190
-84681295,88474,126
-84681296,88600,147
-84681297,88747,141
-84681298,88888,138
-84681299,89026,148
-84681300,89174,161
-84681301,89335,204
-84681302,89539,163
-84681303,89702,138
-84681304,89840,166
-84681305,90006,137
-84681306,90143,151
-84681307,90294,145
-84681308,90439,167
-84681309,90606,119
-84681310,90725,164
-84681311,90889,185
-84681312,91074,133
-84681313,91207,135
-84681314,91342,201
-84681315,91543,156
-84681316,91699,149
-84681317,91848,135
-84681318,91983,138
-84681319,92121,180
-84681320,92301,140
-84681321,92441,152
-84681322,92593,131
-84681323,92724,187
-84681324,92911,187
-84681325,93098,173
-84681326,93271,130
-84681327,93401,160
-84681328,93561,164
-84681329,93725,158
-84681330,93883,142
-84681331,94025,212
-84681332,94237,153
-84681333,94390,175
-84681334,94565,155
-84681335,94720,141
-84681336,94861,120
-84681337,94981,143
-84681338,95124,130
-84681339,95254,122
-84681340,95376,134
-84681341,95510,137
-84681342,95647,143
-84681343,95790,184
-84681344,95974,135
-84681345,96109,127
-84681346,96236,106
-84681347,96342,166
-84681348,96508,117
-84681349,96625,151
-84681350,96776,124
-84681351,96900,214
-84681352,97114,173
-84681353,97287,129
-84681354,97416,144
-84681355,97560,189
-84681356,97749,154
-84681357,97903,108
-84681358,98011,135
-84681359,98146,182
-84681360,98328,125
-84681361,98453,130
-84681362,98583,129
-84681363,98712,122
-84681364,98834,126
-84681365,98960,165
-84681366,99125,118
-84681367,99243,115
-84681368,99358,136
-84681369,99494,119
-84681370,99613,157
-84681371,99770,147
-84681372,99917,151
-84681373,100068,157
-84681374,100225,190
-84681375,100415,152
-84681376,100567,173
-84681377,100740,137
-84681378,100877,113
-84681379,100990,164
-84681380,101154,156
-84681381,101310,161
-84681382,101471,161
-84681383,101632,173
-84681384,101805,123
-84681385,101928,173
-84681386,102101,126
-84681387,102227,190
-84681388,102417,151
-84681389,102568,143
-84681390,102711,177
-84681391,102888,179
-84681392,103067,177
-84681393,103244,57
-84681394,103301,138
-84681395,103439,147
-84681396,103586,157
-84681397,103743,177
-84681398,103920,115
-84681399,104035,148
-84681400,104183,168
-84681401,104351,155
-84681402,104506,172
-84681403,104678,181
-84681404,104859,143
-84681405,105002,152
-84681406,105154,168
-84681407,105322,134
-84681408,105456,157
-84681409,105613,220
-84681410,105833,157
-84681411,105990,155
-84681412,106145,177
-84681413,106322,126
-84681414,106448,185
-84681415,106633,146
-84681416,106779,106
-84681417,106885,141
-84681418,107026,176
-84681419,107202,157
-84681420,107359,145
-84681421,107504,158
-84681422,107662,161
-84681423,107823,197
-84681424,108020,138
-84681425,108158,162
-84681426,108320,152
-84681427,108472,172
-84681428,108644,218
-84681429,108862,111
-84681430,108973,142
-84681431,109115,167
-84681432,109282,142
-84681433,109424,57
-84681434,109481,145
-84681435,109626,182
-84681436,109808,146
-84681437,109954,177
-84681438,110131,143
-84681439,110274,134
-84681440,110408,151
-84681441,110559,157
-84681442,110716,167
-84681443,110883,148
-84681444,111031,109
-84681445,111140,161
-84681446,111301,114
-84681447,111415,151
-84681448,111566,157
-84681449,111723,145
-84681450,111868,125
-84681451,111993,133
-84681452,112126,214
-84681453,112340,159
-84681454,112499,172
-84681455,112671,140
-84681456,112811,145
-84681457,112956,138
-84681458,113094,136
-84681459,113230,154
-84681460,113384,179
-84681461,113563,162
-84681462,113725,164
-84681463,113889,123
-84681464,114012,141
-84681465,114153,123
-84681466,114276,159
-84681467,114435,205
-84681468,114640,159
-84681469,114799,157
-84681470,114956,121
-84681471,115077,144
-84681472,115221,140
-84681473,115361,175
-84681474,115536,185
-84681475,115721,162
-84681476,115883,137
-84681477,116020,149
-84681478,116169,172
-84681479,116341,171
-84681480,116512,114
-84681481,116626,167
-84681482,116793,146
-84681483,116939,149
-84681484,117088,122
-84681485,117210,116
-84681486,117326,136
-84681487,117462,166
-84681488,117628,171
-84681489,117799,128
-84681490,117927,175
-84681491,118102,148
-84681492,118250,151
-84681493,118401,140
-84681494,118541,119
-84681495,118660,160
-84681496,118820,158
-84681497,118978,169
-84681498,119147,164
-84681499,119311,108
-84681500,119419,137
-84681501,119556,150
-84681502,119706,136
-84681503,119842,152
-84681504,119994,139
-84681505,120133,162
-84681506,120295,184
-84681507,120479,133
-84681508,120612,121
-84681509,120733,183
-84681510,120916,134
-84681511,121050,137
-84681512,121187,191
-84681513,121378,118
-84681514,121496,158
-84681515,121654,167
-84681516,121821,239
-84681517,122060,151
-84681518,122211,174
-84681519,122385,128
-84681520,122513,131
-84681521,122644,155
-84681522,122799,166
-84681523,122965,149
-84681524,123114,149
-84681525,123263,138
-84681526,123401,178
-84681527,123579,129
-84681528,123708,110
-84681529,123818,143
-84681530,123961,175
-84681531,124136,144
-84681532,124280,119
-84681533,124399,194
-84681534,124593,156
-84681535,124749,120
-84681536,124869,116
-84681537,124985,152
-84681538,125137,158
-84681539,125295,222
-84681540,125517,141
-84681541,125658,124
-84681542,125782,145
-84681543,125927,124
-84681544,126051,142
-84681545,126193,140
-84681546,126333,167
-84681547,126500,166
-84681548,126666,175
-84681549,126841,178
-84681550,127019,214
-84681551,127233,181
-84681552,127414,179
-84681553,127593,164
-84681554,127757,133
-84681555,127890,163
-84681556,128053,169
-84681557,128222,109
-84681558,128331,146
-84681559,128477,146
-84681560,128623,150
-84681561,128773,142
-84681562,128915,194
-84681563,129109,158
-84681564,129267,117
-84681565,129384,121
-84681566,129505,127
-84681567,129632,130
-84681568,129762,181
-84681569,129943,101
-84681570,130044,135
-84681571,130179,139
-84681572,130318,140
-84681573,130458,121
-84681574,130579,163
-84681575,130742,186
-84681576,130928,129
-84681577,131057,133
-84681578,131190,134
-84681579,131324,139
-84681580,131463,117
-84681581,131580,158
-84681582,131738,149
-84681583,131887,138
-84681584,132025,174
-84681585,132199,144
-84681586,132343,143
-84681587,132486,150
-84681588,132636,175
-84681589,132811,148
-84681590,132959,112
-84681591,133071,121
-84681592,133192,162
-84681593,133354,148
-84681594,133502,138
-84681595,133640,147
-84681596,133787,156
-84681597,133943,144
-84681598,134087,135
-84681599,134222,184
-84681600,134406,133
-84681601,134539,154
-84681602,134693,139
-84681603,134832,140
-84681604,134972,168
-84681605,135140,205
-84681606,135345,166
-84681607,135511,151
-84681608,135662,125
-84681609,135787,136
-84681610,135923,154
-84681611,136077,119
-84681612,136196,125
-84681613,136321,161
-84681614,136482,122
-84681615,136604,112
-84681616,136716,141
-84681617,136857,147
-84681618,137004,160
-84681619,137164,152
-84681620,137316,114
-84681621,137430,135
-84681622,137565,138
-84681623,137703,121
-84681624,137824,167
-84681625,137991,159
-84681626,138150,155
-84681627,138305,150
-84681628,138455,141
-84681629,138596,157
-84681630,138753,189
-84681631,138942,125
-84681632,139067,172
-84681633,139239,108
-84681634,139347,134
-84681635,139481,215
-84681636,139696,192
-84681637,139888,149
-84681638,140037,146
-84681639,140183,180
-84681640,140363,120
-84681641,140483,148
-84681642,140631,180
-84681643,140811,153
-84681644,140964,136
-84681645,141100,240
-84681646,141340,180
-84681647,141520,114
-84681648,141634,189
-84681649,141823,183
-84681650,142006,196
-84681651,142202,136
-84681652,142338,157
-84681653,142495,149
-84681654,142644,148
-84681655,142792,164
-84681656,142956,136
-84681657,143092,143
-84681658,143235,160
-84681659,143395,182
-84681660,143577,129
-84681661,143706,128
-84681662,143834,189
-84681663,144023,199
-84681664,144222,142
-84681665,144364,171
-84681666,144535,150
-84681667,144685,168
-84681668,144853,144
-84681669,144997,171
-84681670,145168,140
-84681671,145308,177
-84681672,145485,147
-84681673,145632,138
-84681674,145770,139
-84681675,145909,145
-84681676,146054,215
-84681677,146269,151
-84681678,146420,165
-84681679,146585,170
-84681680,146755,155
-84681681,146910,127
-84681682,147037,149
-84681683,147186,155
-84681684,147341,201
-84681685,147542,197
-84681686,147739,132
-84681687,147871,163
-84681688,148034,139
-84681689,148173,159
-84681690,148332,150
-84681691,148482,135
-84681692,148617,132
-84681693,148749,118
-84681694,148867,140
-84681695,149007,125
-84681696,149132,125
-84681697,149257,150
-84681698,149407,114
-84681699,149521,177
-84681700,149698,121
-84681701,149819,105
-84681702,149924,117
-84681703,150041,182
-84681704,150223,163
-84681705,150386,164
-84681706,150550,156
-84681707,150706,161
-84681708,150867,144
-84681709,151011,145
-84681710,151156,138
-84681711,151294,207
-84681712,151501,147
-84681713,151648,170
-84681714,151818,137
-84681715,151955,143
-84681716,152098,131
-84681717,152229,180
-84681718,152409,154
-84681719,152563,132
-84681720,152695,123
-84681721,152818,130
-84681722,152948,104
-84681723,153052,145
***The diff for this file has been truncated for email.***
=======================================
--- /branches/rel-0.7.x/lib3/netaddr/eui/iab.txt Tue Aug 18 12:47:26 2009
+++ /branches/rel-0.7.x/lib3/netaddr/eui/iab.txt Wed Apr 28 15:12:10 2010
@@ -154,9 +154,9 @@

00-50-C2 (hex) Hunter Technology Inc.
017000-017FFF (base 16) Hunter Technology Inc.
- Haedong Bldg., 2F,
- 897-15, Dae-Chi-Dong
- Kangnam-gu, Seoul
+ 1408, Woolim e-biz Center,
+ 170-5, Guro-3dong, Guro-gu,
+ Seoul
KOREA, REPUBLIC OF

00-50-C2 (hex) CAD-UL GmbH
@@ -417,10 +417,11 @@
RTP NC 27709
UNITED STATES

-00-50-C2 (hex) Miyazaki System Planning Office, Ltd.
-040000-040FFF (base 16) Miyazaki System Planning Office, Ltd.
- 1-8-5, Saginuma, Miyamae-ku
- Kawasaki-shi 216-0004
+00-50-C2 (hex) MiSPO Co., Ltd.
+040000-040FFF (base 16) MiSPO Co., Ltd.
+ Kanagawa Prefecture,
+ Takatsu-ku,Futago, 5-1-1, Takatsu Park plaza, 3F
+ Kawasaki City, 213-0002
JAPAN

00-50-C2 (hex) Damler Chrysler Rail System (Signal) AB
@@ -792,7 +793,7 @@

00-50-C2 (hex) Matuschek Messtechnik GmbH
081000-081FFF (base 16) Matuschek Messtechnik GmbH
- Werner-Heisenberg-Straße 14
+ Werner-Heisenberg-Stra�e 14
Alsdorf NRW 52477
GERMANY

@@ -998,9 +999,9 @@
Etobicoke Ontario M8Z 1K2
CANADA

-00-50-C2 (hex) Jäger Computergesteuerte Messtechnik GmbH
-0A2000-0A2FFF (base 16) Jäger Computergesteuerte Messtechnik GmbH
- Rheinstraße 2-4
+00-50-C2 (hex) J�ger Computergesteuerte Messtechnik GmbH
+0A2000-0A2FFF (base 16) J�ger Computergesteuerte Messtechnik GmbH
+ Rheinstra�e 2-4
64653 Lorsch
GERMANY

@@ -1539,8 +1540,8 @@

00-50-C2 (hex) Tecnint HTE S.r.L.
0F8000-0F8FFF (base 16) Tecnint HTE S.r.L.
- Via Como 35
- 23807 Merate (Lecco)
+ Via della tecnica 16/18
+ Osnago (Lecco) 23875
ITALY

00-50-C2 (hex) Raven Industries
@@ -1885,8 +1886,8 @@
Rishon Lezion
ISRAEL

-00-50-C2 (hex) INTERZEAG AG
-12F000-12FFFF (base 16) INTERZEAG AG
+00-50-C2 (hex) HAAG-STREIT AG
+12F000-12FFFF (base 16) HAAG-STREIT AG
Rietbachstrasse 5
Schlieren CH-8952
SWITZERLAND
@@ -2329,7 +2330,7 @@

00-50-C2 (hex) Wavium AB
176000-176FFF (base 16) Wavium AB
- Västberga Allé 60
+ V�stberga All� 60
Stockholm SE-126 75
SWEDEN

@@ -2410,7 +2411,7 @@

00-50-C2 (hex) Mixbaal S.A. de C.V.
183000-183FFF (base 16) Mixbaal S.A. de C.V.
- Blvd. José Guadalupe Zuno #48-MIX
+ Blvd. Jos� Guadalupe Zuno #48-MIX
Los Belenes
Zapopan Jalisco 45101
MEXICO
@@ -2442,7 +2443,7 @@

00-50-C2 (hex) dresden-elektronik
188000-188FFF (base 16) dresden-elektronik
- Glasewaldtstraße 22
+ Glasewaldtstra�e 22
Dresden D-01277
GERMANY

@@ -2538,7 +2539,7 @@
00-50-C2 (hex) EPM Tecnologia e Equipamentos
197000-197FFF (base 16) EPM Tecnologia e Equipamentos
Av Com Gumercindo Barranqueiros, 285
- Jundiaí São Paulo 13211-410
+ Jundia� S�o Paulo 13211-410
BRAZIL

00-50-C2 (hex) PotsTek, Inc
@@ -2568,7 +2569,7 @@

00-50-C2 (hex) Artec Design
19C000-19CFFF (base 16) Artec Design
- Järvevana tee 9
+ J�rvevana tee 9
Tallinn 11314
ESTONIA

@@ -2648,7 +2649,7 @@

00-50-C2 (hex) Axotec Technologies GmbH
1A9000-1A9FFF (base 16) Axotec Technologies GmbH
- Sudetenstraße 88
+ Sudetenstra�e 88
Geretsried Bavaria 82538
GERMANY

@@ -2668,7 +2669,7 @@
00-50-C2 (hex) Beckmann+Egle GmbH
1AC000-1ACFFF (base 16) Beckmann+Egle GmbH
Kirchstrasse 30
- Stetten BaWü 71394
+ Stetten BaW� 71394
GERMANY

00-50-C2 (hex) Remia s.r.o.
@@ -2962,11 +2963,11 @@
Campbell CA 95008
UNITED STATES

-00-50-C2 (hex) Prolificx Ltd
-1DC000-1DCFFF (base 16) Prolificx Ltd
- Level 1
- 13 Ronwood Avenue
- Manukau City Auckland 1702
+00-50-C2 (hex) Imarda New Zealand Limited
+1DC000-1DCFFF (base 16) Imarda New Zealand Limited
+ Suite G16, National Innovation Centre,
+ Australian Technology Park,
+ Eveleigh NSW 2015
NEW ZEALAND

00-50-C2 (hex) Peiker acustic GmbH & Co. KG
@@ -3022,7 +3023,7 @@
1E5000-1E5FFF (base 16) DORLET S.A.
Albert Einstein 34
Parque Tecnologico de Alava
- Miñano Mayor ALAVA 01510
+ Mi�ano Mayor ALAVA 01510
SPAIN

00-50-C2 (hex) United Tri-Tech Corporation
@@ -3070,15 +3071,15 @@

00-50-C2 (hex) EMKA-electronic AG
1ED000-1EDFFF (base 16) EMKA-electronic AG
- Lohmühlenweg 18a
- Arnstadt Thüringen 99310
+ Lohm�hlenweg 18a
+ Arnstadt Th�ringen 99310
GERMANY

-00-50-C2 (hex) Perto Periféricos de Automação S.A.
-1EE000-1EEFFF (base 16) Perto Periféricos de Automação S.A.
+00-50-C2 (hex) Perto Perif�ricos de Automa��o S.A.
+1EE000-1EEFFF (base 16) Perto Perif�ricos de Automa��o S.A.
Rua Nissin Castiel, 640
- Distrito Industrial de Gravataí
- Gravataí RS 94000-970
+ Distrito Industrial de Gravata�
+ Gravata� RS 94000-970
BRAZIL

00-50-C2 (hex) M2 Technology Pty Ltd
@@ -3130,8 +3131,8 @@
Johnson City NY 13790
UNITED STATES

-00-50-C2 (hex) ARC'Créations
-1F7000-1F7FFF (base 16) ARC'Créations
+00-50-C2 (hex) ARC'Cr�ations
+1F7000-1F7FFF (base 16) ARC'Cr�ations
ZI les Milles 100 rue Pierre DUHEM
La Robole Bt A Cedex 3
Aix en Provence BDR 13856
@@ -3291,9 +3292,9 @@
Los Angeles CA 90064
UNITED STATES

-00-50-C2 (hex) Hochschule für Technik, Wirtschaft und Kultur Leipzig (FH)
-211000-211FFF (base 16) Hochschule für Technik, Wirtschaft und Kultur
Leipzig (FH)
- Wächterstrasse 13
+00-50-C2 (hex) Hochschule f�r Technik, Wirtschaft und Kultur Leipzig
(FH)
+211000-211FFF (base 16) Hochschule f�r Technik, Wirtschaft und Kultur
Leipzig (FH)
+ W�chterstrasse 13
Leipzig Saxonia D-04107
GERMANY

@@ -3319,8 +3320,8 @@

00-50-C2 (hex) VoiceCom AG
215000-215FFF (base 16) VoiceCom AG
- Südwestpark 65
- Nürnberg Germany 90449
+ S�dwestpark 65
+ N�rnberg Germany 90449
GERMANY

00-50-C2 (hex) Level Control Systems
@@ -3336,9 +3337,9 @@
Glasgow Scotland G76 0EQ
UNITED KINGDOM

-00-50-C2 (hex) Nansen S. A. - Instrumentos de Precisão
-218000-218FFF (base 16) Nansen S. A. - Instrumentos de Precisão
- José Pedro Araújo, 960
+00-50-C2 (hex) Nansen S. A. - Instrumentos de Precis�o
+218000-218FFF (base 16) Nansen S. A. - Instrumentos de Precis�o
+ Jos� Pedro Ara�jo, 960
Contagem Minas Gerais 32341560
BRAZIL

@@ -3407,12 +3408,12 @@
00-50-C2 (hex) visicontrol GmbH
223000-223FFF (base 16) visicontrol GmbH
Ettishofer Str. 8
- Weingarten Baden-Württemberg 88250
+ Weingarten Baden-W�rttemberg 88250
GERMANY

00-50-C2 (hex) PANNOCOM Ltd.
224000-224FFF (base 16) PANNOCOM Ltd.
- Törökvész út 98/b
+ T�r�kv�sz �t 98/b
Budapest Pest Megye 1025
HUNGARY

@@ -3456,7 +3457,7 @@
00-50-C2 (hex) Riegl Laser Measurement Systems GmbH
22B000-22BFFF (base 16) Riegl Laser Measurement Systems GmbH
Riedenburgstrasse 48
- Horn Niederösterreich A-3580
+ Horn Nieder�sterreich A-3580
AUSTRIA

00-50-C2 (hex) Intrinsity
@@ -3634,7 +3635,7 @@
247000-247FFF (base 16) Gradual Tecnologia Ltda.
Rod. Alkindar M. Junqueira Km 34,2
Caixa Postal 66
- Bragança Paulista SP 12914-970
+ Bragan�a Paulista SP 12914-970
BRAZIL

00-50-C2 (hex) Dixtal Biomedica Ind. Com. Ltda.
@@ -3646,7 +3647,7 @@
00-50-C2 (hex) Dipl.-Ing. W. Bender GmbH & Co. KG
249000-249FFF (base 16) Dipl.-Ing. W. Bender GmbH & Co. KG
Londorfer Str. 65
- 35305 Grünberg 1161
+ 35305 Gr�nberg 1161
GERMANY

00-50-C2 (hex) CDS Rail
@@ -3907,14 +3908,14 @@

00-50-C2 (hex) Servicios Condumex, S. A. de C. V.
273000-273FFF (base 16) Servicios Condumex, S. A. de C. V.
- Carretera a San Luis Potosí km. 9.6
+ Carretera a San Luis Potos� km. 9.6
Parque industrial Jurica
Queretaro 76120
MEXICO

-00-50-C2 (hex) FUNDACIÓN ROBOTIKER
-274000-274FFF (base 16) FUNDACIÓN ROBOTIKER
- Parque Tecnológico Edificio 202
+00-50-C2 (hex) FUNDACI�N ROBOTIKER
+274000-274FFF (base 16) FUNDACI�N ROBOTIKER
+ Parque Tecnol�gico Edificio 202
Zamudio Vizcaya 48170
SPAIN

@@ -3958,7 +3959,7 @@
00-50-C2 (hex) LinkSecurity A/S
27B000-27BFFF (base 16) LinkSecurity A/S
Glerupvej 20
- Rødovre 2610
+ R�dovre 2610
DENMARK

00-50-C2 (hex) Danlaw Inc
@@ -4110,8 +4111,8 @@

00-50-C2 (hex) EPSa GmbH
294000-294FFF (base 16) EPSa GmbH
- Göschwitzer Straße 32
- Jena Thüringen D-07745
+ G�schwitzer Stra�e 32
+ Jena Th�ringen D-07745
GERMANY

00-50-C2 (hex) LOGOSOL, INC.
@@ -4325,7 +4326,7 @@
00-50-C2 (hex) Rafi GmbH & Co. KG
2B7000-2B7FFF (base 16) Rafi GmbH & Co. KG
P.O. Box 2060
- Ravensburg Baden-Württemberg 88190
+ Ravensburg Baden-W�rttemberg 88190
GERMANY

00-50-C2 (hex) Admiral Secure Products, Ltd.
@@ -4387,7 +4388,7 @@

00-50-C2 (hex) Stage Tec Entwicklungsgesellschaft fuer professionelle
Audio
2C1000-2C1FFF (base 16) Stage Tec Entwicklungsgesellschaft fuer
professionelle Audio
- Tabbertstraße 10
+ Tabbertstra�e 10
Berlin Berlin 12459
GERMANY

@@ -4471,8 +4472,8 @@
BAYSWATER VICTORIA 3153
AUSTRALIA

-00-50-C2 (hex) Diseño de Sistemas en Silicio S.A.
-2CF000-2CFFFF (base 16) Diseño de Sistemas en Silicio S.A.
+00-50-C2 (hex) Dise�o de Sistemas en Silicio S.A.
+2CF000-2CFFFF (base 16) Dise�o de Sistemas en Silicio S.A.
Charles Robert Darwin, 2
Parc tecnologic
Paterna Valencia 46980
@@ -4571,7 +4572,7 @@
00-50-C2 (hex) MICREL-NKE
2DF000-2DFFFF (base 16) MICREL-NKE
rue gutenberg
- Z.I. de Kerandré
+ Z.I. de Kerandr�
HENNEBONT 56700
FRANCE

@@ -4596,7 +4597,7 @@

00-50-C2 (hex) MG Industrieelektronik GmbH
2E3000-2E3FFF (base 16) MG Industrieelektronik GmbH
- Nobelstraße 7
+ Nobelstra�e 7
Ettlingen 76275
GERMANY

@@ -4629,7 +4630,7 @@
00-50-C2 (hex) S.M.V. Systemelektronik GmbH
2E8000-2E8FFF (base 16) S.M.V. Systemelektronik GmbH
Firkenweg 7
- Unterföhring Bayern 85774
+ Unterf�hring Bayern 85774
GERMANY

00-50-C2 (hex) SRI International
@@ -4766,8 +4767,8 @@

00-50-C2 (hex) Saab AB
2FE000-2FEFFF (base 16) Saab AB
- Nobymalmsvägen
- Linköping Östergötland 581 82
+ Nobymalmsv�gen
+ Link�ping �sterg�tland 581 82
SWEDEN

00-50-C2 (hex) Patria Advanced Solutions
@@ -4791,7 +4792,7 @@

00-50-C2 (hex) EuroDesign embedded technologies GmbH
302000-302FFF (base 16) EuroDesign embedded technologies GmbH
- Waldstraße 4A
+ Waldstra�e 4A
Kirchdorf a.d. Amper Bayern 85414
GERMANY

@@ -4854,7 +4855,7 @@
00-50-C2 (hex) TEAMLOG
30C000-30CFFF (base 16) TEAMLOG
10, rue Lavoisier
- Montbonnot Isère (38) 38330
+ Montbonnot Is�re (38) 38330
FRANCE

00-50-C2 (hex) SETARAM
@@ -4872,7 +4873,7 @@

00-50-C2 (hex) Digicontrole Lda
30F000-30FFFF (base 16) Digicontrole Lda
- Av. Eng. Arantes e Oliveira Nº5 - 2ºD
+ Av. Eng. Arantes e Oliveira N�5 - 2�D
Olaias
Lisboa 1900-221 LIS
PORTUGAL
@@ -4917,7 +4918,7 @@
00-50-C2 (hex) Dataline AB
316000-316FFF (base 16) Dataline AB
Katrinedalsgatan 53
- BORÃ…S S-50451
+ BOR�S S-50451
SWEDEN

00-50-C2 (hex) Cosine Systems, Inc.
@@ -4959,11 +4960,11 @@
Tewksbury MA 01876
UNITED STATES

-00-50-C2 (hex) Prolificx Ltd
-31D000-31DFFF (base 16) Prolificx Ltd
- Level 1
- 13 Ronwood Avenue
- Manukau City Auckland 1702
+00-50-C2 (hex) Imarda New Zealand Limited
+31D000-31DFFF (base 16) Imarda New Zealand Limited
+ Suite G16, National Innovation Centre,
+ Australian Technology Park,
+ Eveleigh NSW 2015
NEW ZEALAND

00-50-C2 (hex) C3-ilex, LLC
@@ -4987,7 +4988,7 @@
00-50-C2 (hex) UXP
321000-321FFF (base 16) UXP
12 AVENUE PIERRE DE COUBERTIN
- ZI PERCEVALIERE N° 7408
+ ZI PERCEVALIERE N� 7408
SEYSSINET PARISET CEDEX ISERE 38174
FRANCE

@@ -5005,7 +5006,7 @@

00-50-C2 (hex) ODIXION
324000-324FFF (base 16) ODIXION
- 188 rue de la Liberté
+ 188 rue de la Libert�
AVRANCHES France 50300
FRANCE

@@ -5024,7 +5025,7 @@
00-50-C2 (hex) Dornier GmbH
327000-327FFF (base 16) Dornier GmbH
an der B31
- Friedrichshafen Baden-Würtemberg 88039
+ Friedrichshafen Baden-W�rtemberg 88039
GERMANY

00-50-C2 (hex) I.C.S. Electronics Limited
@@ -5040,8 +5041,8 @@
Mississauga Ontario L5K 1B1
CANADA

-00-50-C2 (hex) PHYTEC Meßtechnik GmbH
-32A000-32AFFF (base 16) PHYTEC Meßtechnik GmbH
+00-50-C2 (hex) PHYTEC Me�technik GmbH
+32A000-32AFFF (base 16) PHYTEC Me�technik GmbH
Robert-Koch-Strasse 39
Mainz Rheinland-Pfalz 55129
GERMANY
@@ -5268,8 +5269,8 @@
Augsburg Bavaria 86156
GERMANY

-00-50-C2 (hex) ABB Power Technologies S.p.A. Unità Operativa SACE (PTMV)
-34E000-34EFFF (base 16) ABB Power Technologies S.p.A. Unità Operativa
SACE (PTMV)
+00-50-C2 (hex) ABB Power Technologies S.p.A. Unit� Operativa SACE
(PTMV)
+34E000-34EFFF (base 16) ABB Power Technologies S.p.A. Unit� Operativa
SACE (PTMV)
vai Friuli 4
Dalmine (Bergamo) 20044
ITALY
@@ -5605,7 +5606,7 @@
00-50-C2 (hex) Wireless Reading Systems Holding ASA
384000-384FFF (base 16) Wireless Reading Systems Holding ASA
Skredderveien 9
- Moss Østfold 1537
+ Moss �stfold 1537
NORWAY

00-50-C2 (hex) SUNGJIN NEOTECH Co.Ltd.
@@ -5666,7 +5667,7 @@

00-50-C2 (hex) Nordic Alarm AB
38E000-38EFFF (base 16) Nordic Alarm AB
- Englundavägen 11
+ Englundav�gen 11
Solna 17141
SWEDEN

@@ -5846,7 +5847,7 @@

00-50-C2 (hex) taskit Rechnertechnik GmbH
3AB000-3ABFFF (base 16) taskit Rechnertechnik GmbH
- Seelenbinder Straße 33
+ Seelenbinder Stra�e 33
Berlin 12 555
GERMANY

@@ -5900,10 +5901,10 @@
Tokyo 101-0021
JAPAN

-00-50-C2 (hex) Contrôle Analytique inc.
-3B4000-3B4FFF (base 16) Contrôle Analytique inc.
+00-50-C2 (hex) Contr�le Analytique inc.
+3B4000-3B4FFF (base 16) Contr�le Analytique inc.
1076 rue Johnson
- Thetford Mines Québec G6G 5W6
+ Thetford Mines Qu�bec G6G 5W6
CANADA

00-50-C2 (hex) NEC TOKIN Corporation
@@ -5930,8 +5931,8 @@
Wuppertal D 42277
GERMANY

-00-50-C2 (hex) Autotank AB
-3B9000-3B9FFF (base 16) Autotank AB
+00-50-C2 (hex) Gilbarco Autotank AB
+3B9000-3B9FFF (base 16) Gilbarco Autotank AB
P.O. Box 11059
Johannesfredsvagen 11A
BROMMA SE-16111
@@ -5943,8 +5944,8 @@
Mainz Rheinland-Pfalz 55129
GERMANY

-00-50-C2 (hex) Strampe Systemelektronik GmbH & Co. KG
-3BB000-3BBFFF (base 16) Strampe Systemelektronik GmbH & Co. KG
+00-50-C2 (hex) IMAGO Technologies GmbH
+3BB000-3BBFFF (base 16) IMAGO Technologies GmbH
In der Grobach 22
Florstadt Hessen D-61197
GERMANY
@@ -6047,7 +6048,7 @@
3CB000-3CBFFF (base 16) Analytica GmbH
Vorholzstr. 84
76137
- Karlsruhe Baden-Württemberg
+ Karlsruhe Baden-W�rttemberg
GERMANY

00-50-C2 (hex) LINKWELL TELESYSTEMS PRIVATE LIMITED
@@ -6122,7 +6123,7 @@

00-50-C2 (hex) TTC TELEKOMUNIKACE Ltd
3D7000-3D7FFF (base 16) TTC TELEKOMUNIKACE Ltd
- Tøebohostická 987/5, Prague 10
+ T�ebohostick� 987/5, Prague 10
Prague CZ-100 00
CZECH REPUBLIC

@@ -6290,13 +6291,13 @@

00-50-C2 (hex) STL GmbH
3F2000-3F2FFF (base 16) STL GmbH
- Max-Stromeyer-Straße 116
- Konstanz Baden Württemberg 78467
+ Max-Stromeyer-Stra�e 116
+ Konstanz Baden W�rttemberg 78467
GERMANY

00-50-C2 (hex) Hytec Geraetebau GmbH
3F3000-3F3FFF (base 16) Hytec Geraetebau GmbH
- Cochemer Str. 12 – 14
+ Cochemer Str. 12 � 14
68309 Mannheim
GERMANY

@@ -6378,7 +6379,7 @@
00-50-C2 (hex) SmartMotor AS
400000-400FFF (base 16) SmartMotor AS
Stiklestadveien 1
- Trondheim Sør-Trøndelag 7041
+ Trondheim S�r-Tr�ndelag 7041
NORWAY

00-50-C2 (hex) Promess Incorporated
@@ -6393,8 +6394,8 @@
Czestochowa 42-200
POLAND

-00-50-C2 (hex) TOPEX PUBLIC SWITCHING S.A.
-403000-403FFF (base 16) TOPEX PUBLIC SWITCHING S.A.
+00-50-C2 (hex) TOPEX S.A.
+403000-403FFF (base 16) TOPEX S.A.
Str. Feleacului, nr.10, sector 1, cod 014186, Bucuresti,
Bucharest 014186
ROMANIA
@@ -6465,7 +6466,7 @@
00-50-C2 (hex) ads-tec GmbH
40E000-40EFFF (base 16) ads-tec GmbH
Raiffeisenstr. 14
- Leinfelden-Echterdingen Baden-Württemberg 70771
+ Leinfelden-Echterdingen Baden-W�rttemberg 70771
GERMANY

00-50-C2 (hex) BIR,INC.
@@ -6521,8 +6522,8 @@

00-50-C2 (hex) QT systems ab
417000-417FFF (base 16) QT systems ab
- Alfavägen 3
- Lycksele Västerbotten 921 33
+ Alfav�gen 3
+ Lycksele V�sterbotten 921 33
SWEDEN

00-50-C2 (hex) Planea Oy
@@ -6583,13 +6584,13 @@
00-50-C2 (hex) EFSYS
421000-421FFF (base 16) EFSYS
60, rue de la bolle
- Saint-dié des Vosges Vosges 88100
+ Saint-di� des Vosges Vosges 88100
FRANCE

00-50-C2 (hex) Gekeler Martina
422000-422FFF (base 16) Gekeler Martina
Raiffeisenstr. 14
- Leinfelden-Echterdingen Baden-Württemberg 70771
+ Leinfelden-Echterdingen Baden-W�rttemberg 70771
GERMANY

00-50-C2 (hex) Power-One Inc.
@@ -6601,7 +6602,7 @@
00-50-C2 (hex) Metrolab Instruments SA
424000-424FFF (base 16) Metrolab Instruments SA
ch. du Pont-du-Centenaire 110
- Plan-les-Ouates Genève 1228
+ Plan-les-Ouates Gen�ve 1228
SWITZERLAND

00-50-C2 (hex) Pinnacle Technology
@@ -6649,8 +6650,8 @@
RICHARDSON TEXAS 75081
UNITED STATES

-00-50-C2 (hex) Continental Automotive Systems US, Inc.
-42C000-42CFFF (base 16) Continental Automotive Systems US, Inc.
+00-50-C2 (hex) Trapeze ITS U.S.A., LLC
+42C000-42CFFF (base 16) Trapeze ITS U.S.A., LLC
5265 Rockwell Drive NE
Cedar Rapids IA 52402
UNITED STATES
@@ -6695,7 +6696,7 @@

00-50-C2 (hex) Idetech Europe S.A.
433000-433FFF (base 16) Idetech Europe S.A.
- Pedrosa C, nº23 (Polígono Pedrosa)
+ Pedrosa C, n�23 (Pol�gono Pedrosa)
Hospitalet de Llobregat BARCELONA 08908
SPAIN

@@ -6889,7 +6890,7 @@

00-50-C2 (hex) SCAME SISTEMI s.r.l.
452000-452FFF (base 16) SCAME SISTEMI s.r.l.
- Via Lombardia N°5
+ Via Lombardia N�5
ARLUNO MI 20010
ITALY

@@ -6917,7 +6918,7 @@
456000-456FFF (base 16) DRDC Valcartier
2459 blvd. Pie XI North
Bldg 53
- Val-Belair Québec G3J 1X5
+ Val-Belair Qu�bec G3J 1X5
CANADA

00-50-C2 (hex) Danbridge
@@ -7121,7 +7122,7 @@
00-50-C2 (hex) SEV Tidsystem AB
477000-477FFF (base 16) SEV Tidsystem AB
Box 121
- Västerhaninge Stockholm 137 22
+ V�sterhaninge Stockholm 137 22
SWEDEN

00-50-C2 (hex) Metafix Inc.
@@ -7177,7 +7178,7 @@
00-50-C2 (hex) SELKOM GmbH
480000-480FFF (base 16) SELKOM GmbH
Jahnstr. 4
- Muggensturm Baden Württemberg 76461
+ Muggensturm Baden W�rttemberg 76461
GERMANY

00-50-C2 (hex) Computer Sciences Corp
@@ -7208,14 +7209,14 @@

00-50-C2 (hex) PHYTEC Messtechnik GmbH
485000-485FFF (base 16) PHYTEC Messtechnik GmbH
- Robert-Koch-Straße 39
+ Robert-Koch-Stra�e 39
Mainz Rheinland-Pfalz 55129
GERMANY

00-50-C2 (hex) Safegate International AB
486000-486FFF (base 16) Safegate International AB
- Storsjöstråket 15
- Östersund 83134
+ Storsj�str�ket 15
+ �stersund 83134
SWEDEN

00-50-C2 (hex) Eridon Corporation
@@ -7248,7 +7249,7 @@
00-50-C2 (hex) ADS-TEC GmbH
48B000-48BFFF (base 16) ADS-TEC GmbH
Raiffeisentr. 14
- Leinfelden-Echterdingen Baden-Württemberg 70771
+ Leinfelden-Echterdingen Baden-W�rttemberg 70771
GERMANY

00-50-C2 (hex) UNITON AG
@@ -7440,7 +7441,7 @@

00-50-C2 (hex) HEINEN ELEKTRONIK GmbH
4AA000-4AAFFF (base 16) HEINEN ELEKTRONIK GmbH
- Hunsrückstr. 7
+ Hunsr�ckstr. 7
HAAN NRW 42781
GERMANY

@@ -7467,7 +7468,7 @@
00-50-C2 (hex) ads-tec GmbH
4AE000-4AEFFF (base 16) ads-tec GmbH
Raiffeisenstr. 14
- Leinfelden-Echterdingen Baden-Württemberg 70771
+ Leinfelden-Echterdingen Baden-W�rttemberg 70771
GERMANY

00-50-C2 (hex) Orbis Oy
@@ -7695,7 +7696,7 @@

00-50-C2 (hex) SOFTIN sp. z o.o.
4D3000-4D3FFF (base 16) SOFTIN sp. z o.o.
- Skwer Ks. Krd. St. Wyszyñskiego 2/62
+ Skwer Ks. Krd. St. Wyszy�skiego 2/62
Warsaw Mazowieckie 01-015
POLAND

@@ -7711,9 +7712,9 @@
Dandenong VIC 3175
AUSTRALIA

-00-50-C2 (hex) Ingenieurbüro Schober
-4D6000-4D6FFF (base 16) Ingenieurbüro Schober
- Schloßgarten 16
+00-50-C2 (hex) Ingenieurb�ro Schober
+4D6000-4D6FFF (base 16) Ingenieurb�ro Schober
+ Schlo�garten 16
Cadolzburg Bayern 90556
GERMANY

@@ -7744,7 +7745,7 @@
00-50-C2 (hex) Alfing Montagetechnik GmbH
4DB000-4DBFFF (base 16) Alfing Montagetechnik GmbH
Auguste-Kessler-Str. 20
- Aalen Baden-Württemberg 73433
+ Aalen Baden-W�rttemberg 73433
GERMANY

00-50-C2 (hex) Ace Electronics Inc.
@@ -7824,7 +7825,7 @@
00-50-C2 (hex) SATEL sp. z o.o.
4E8000-4E8FFF (base 16) SATEL sp. z o.o.
Schuberta 79
- Gdañsk pomorskie 80-172
+ Gda�sk pomorskie 80-172
POLAND

00-50-C2 (hex) Seachange international
@@ -8010,8 +8011,8 @@

00-50-C2 (hex) 7+ Kft
506000-506FFF (base 16) 7+ Kft
- Homoród 17
- Budapest magyarország 1118
+ Homor�d 17
+ Budapest magyarorsz�g 1118
HUNGARY

00-50-C2 (hex) Micro Connect Pty Ltd
@@ -8067,7 +8068,7 @@

00-50-C2 (hex) Polystar Instruments AB
50F000-50FFFF (base 16) Polystar Instruments AB
- MÃ¥rbackagatan 19
+ M�rbackagatan 19
123 43 Farsta
Stockholm 11559
SWEDEN
@@ -8126,7 +8127,7 @@

00-50-C2 (hex) Christ Elektronik GmbH
518000-518FFF (base 16) Christ Elektronik GmbH
- Alpenstraße 34
+ Alpenstra�e 34
Memmingen Bavaria 87700
GERMANY

@@ -8234,7 +8235,7 @@

00-50-C2 (hex) Phytec Messtechnik GmbH
529000-529FFF (base 16) Phytec Messtechnik GmbH
- Robert-Koch-Straße 39
+ Robert-Koch-Stra�e 39
Mainz Rheinland-Pfalz 55129
GERMANY

@@ -8270,10 +8271,10 @@
CHESTERFIELD DERBYSHIRE S41 0TZ
UNITED KINGDOM

-00-50-C2 (hex) Gesellschaft für Rationalisierung und Rechentechnik mbH
-52F000-52FFFF (base 16) Gesellschaft für Rationalisierung und
Rechentechnik mbH
+00-50-C2 (hex) Gesellschaft f�r Rationalisierung und Rechentechnik mbH
+52F000-52FFFF (base 16) Gesellschaft f�r Rationalisierung und
Rechentechnik mbH
Ob der Eck 4
- Gütenbach Baden Württemberg 78148
+ G�tenbach Baden W�rttemberg 78148
GERMANY

00-50-C2 (hex) Innovation, Institute, Inc
@@ -8323,7 +8324,7 @@
00-50-C2 (hex) DST CONTROL AB
537000-537FFF (base 16) DST CONTROL AB
Westmansgatan 29
- Linköping 58216
+ Link�ping 58216
SWEDEN

00-50-C2 (hex) EtherTek Circuits
@@ -8471,11 +8472,11 @@
00-50-C2 (hex) Valtronic SA
54F000-54FFFF (base 16) Valtronic SA
Rue de Bon Port
- Les Charbonnières Vaud 1343
+ Les Charbonni�res Vaud 1343
SWITZERLAND

-00-50-C2 (hex) LJU Industrieelektronik GmbH
-550000-550FFF (base 16) LJU Industrieelektronik GmbH
+00-50-C2 (hex) LJU Automatisierungstechnik GmbH
+550000-550FFF (base 16) LJU Automatisierungstechnik GmbH
Am Schlahn 1
Potsdam Brandenburg D-14476
GERMANY
@@ -8552,7 +8553,7 @@
00-50-C2 (hex) ads-tec GmbH
55C000-55CFFF (base 16) ads-tec GmbH
Raiffeisenstr. 14
- Leinfelden-Echterdingen Baden-Württemberg 70771
+ Leinfelden-Echterdingen Baden-W�rttemberg 70771
GERMANY

00-50-C2 (hex) ACD Elektronik GmbH
@@ -8595,7 +8596,7 @@

00-50-C2 (hex) ORTRAT, S.L.
563000-563FFF (base 16) ORTRAT, S.L.
- c/ Sófora, 15
+ c/ S�fora, 15
E-28020 Madrid
SPAIN

@@ -8622,7 +8623,7 @@
00-50-C2 (hex) Tess GmbH
567000-567FFF (base 16) Tess GmbH
Schumanstr. 33d
- Würselen NRW 52146
+ W�rselen NRW 52146
GERMANY

00-50-C2 (hex) GeoFocus, LLC
@@ -8700,9 +8701,9 @@
Taganrog Rostov Region 347916
RUSSIAN FEDERATION

-00-50-C2 (hex) Ingeniería Almudí S.L.
-574000-574FFF (base 16) Ingeniería Almudí S.L.
- c/ San Luis, 8 bajo 1º
+00-50-C2 (hex) Ingenier�a Almud� S.L.
+574000-574FFF (base 16) Ingenier�a Almud� S.L.
+ c/ San Luis, 8 bajo 1�
Murcia Alcantarilla 30820
SPAIN

@@ -8721,7 +8722,7 @@

00-50-C2 (hex) Advanced Software Technologies
577000-577FFF (base 16) Advanced Software Technologies
- c/ Caleruega, 102 2ª Planta
+ c/ Caleruega, 102 2� Planta
Madrid 28033
SPAIN

@@ -8793,16 +8794,16 @@
Toftlund Jutland DK-6520
DENMARK

-00-50-C2 (hex) Jünger Audio-Studiotechnik GmbH
-583000-583FFF (base 16) Jünger Audio-Studiotechnik GmbH
- Justus-von-Liebig-Straße 7
+00-50-C2 (hex) J�nger Audio-Studiotechnik GmbH
+583000-583FFF (base 16) J�nger Audio-Studiotechnik GmbH
+ Justus-von-Liebig-Stra�e 7
Berlin 12489
GERMANY

00-50-C2 (hex) Toyota Motorsport GmbH
584000-584FFF (base 16) Toyota Motorsport GmbH
Toyota-Allee 7
- Köln NRW 50858
+ K�ln NRW 50858
GERMANY

00-50-C2 (hex) Wireless Cables Inc
@@ -8829,8 +8830,8 @@
Cranston Rhode Island 02921
UNITED STATES

-00-50-C2 (hex) HORIBA ABX
-589000-589FFF (base 16) HORIBA ABX
+00-50-C2 (hex) HORIBA MEDICAL
+589000-589FFF (base 16) HORIBA MEDICAL
rue du caducee
Montpellier Herault 34000
FRANCE
@@ -8926,8 +8927,8 @@
Hackett's Cove Nova Scotia B3Z3J4
CANADA

-00-50-C2 (hex) Bundesamt für Strahlenschutz
-598000-598FFF (base 16) Bundesamt für Strahlenschutz
+00-50-C2 (hex) Bundesamt f�r Strahlenschutz
+598000-598FFF (base 16) Bundesamt f�r Strahlenschutz
Rosastrasse 9
Freiburg NA 79098
GERMANY
@@ -8975,7 +8976,7 @@
00-50-C2 (hex) ads-tec GmbH
59F000-59FFFF (base 16) ads-tec GmbH
Raiffeisenstr. 14
- Leinfelden-Echterdingen Baden-Württemberg 70771
+ Leinfelden-Echterdingen Baden-W�rttemberg 70771
GERMANY

00-50-C2 (hex) Rudolph Technologies, Inc.
@@ -9000,7 +9001,7 @@
00-50-C2 (hex) LUMEL S.A.
5A3000-5A3FFF (base 16) LUMEL S.A.
UL. SULECHOWSKA 1
- ZIELONA GÓRA WOJ. LUBUSKIE 65-022
+ ZIELONA G�RA WOJ. LUBUSKIE 65-022
POLAND

00-50-C2 (hex) Federal State Unitary Enterprise Experimental Factory for
Sc
@@ -9009,8 +9010,8 @@
Chernogolovka Moscow Region 142432
RUSSIAN FEDERATION

-00-50-C2 (hex) Equipos de Telecomunicación Optoelectronicos, S.A.
-5A5000-5A5FFF (base 16) Equipos de Telecomunicación Optoelectronicos, S.A.
+00-50-C2 (hex) Equipos de Telecomunicaci�n Optoelectronicos, S.A.
+5A5000-5A5FFF (base 16) Equipos de Telecomunicaci�n Optoelectronicos,
S.A.
Poligono Malpica G. Quejido, 74
Zaragoza 50007
SPAIN
@@ -9022,9 +9023,9 @@
Cambridge Cambridgeshire CB4 0FX
UNITED KINGDOM

-00-50-C2 (hex) Phytec Meßtechnik GmbH
-5A7000-5A7FFF (base 16) Phytec Meßtechnik GmbH
- Robert-Koch-Straße 39
+00-50-C2 (hex) Phytec Me�technik GmbH
+5A7000-5A7FFF (base 16) Phytec Me�technik GmbH
+ Robert-Koch-Stra�e 39
Mainz Rheinland-Pfalz 55129
GERMANY

@@ -9274,7 +9275,7 @@

00-50-C2 (hex) Innomed Medical Inc
***The diff for this file has been truncated for email.***
=======================================
--- /branches/rel-0.7.x/lib3/netaddr/eui/ieee.py Thu Jul 16 16:57:59 2009
+++ /branches/rel-0.7.x/lib3/netaddr/eui/ieee.py Wed Apr 28 15:12:10 2010
@@ -33,10 +33,11 @@
"""

import os as _os
+import sys as _sys
import os.path as _path
import csv as _csv

-from netaddr.core import Subscriber, Publisher
+from netaddr.core import Subscriber, Publisher, dos2unix


#-----------------------------------------------------------------------------

@@ -119,7 +120,7 @@
if hasattr(ieee_file, 'readline') and hasattr(ieee_file, 'tell'):
self.fh = ieee_file
else:
- self.fh = open(ieee_file, 'rb')
+ self.fh = open(ieee_file)

def parse(self):
"""
@@ -198,7 +199,7 @@
if hasattr(ieee_file, 'readline') and hasattr(ieee_file, 'tell'):
self.fh = ieee_file
else:
- self.fh = open(ieee_file, 'rb')
+ self.fh = open(ieee_file)

def parse(self):
"""
@@ -248,7 +249,7 @@
self.notify(record)


#-----------------------------------------------------------------------------
-def create_ieee_indices():
+def create_indices():
"""Create indices for OUI and IAB file based lookups"""
oui_parser = OUIIndexParser(OUI_REGISTRY)
oui_parser.attach(FileIndexer(OUI_METADATA))
@@ -259,7 +260,7 @@
iab_parser.parse()


#-----------------------------------------------------------------------------
-def load_ieee_indices():
+def load_indices():
"""Load OUI and IAB lookup indices into memory"""
for row in _csv.reader(open(OUI_METADATA)):
(key, offset, size) = [int(_) for _ in row]
@@ -274,7 +275,7 @@

#-----------------------------------------------------------------------------
def get_latest_files():
"""Download the latest files from the IEEE"""
- import urllib2
+ import urllib.request

urls = [
'http://standards.ieee.org/regauth/oui/oui.txt',
@@ -282,21 +283,24 @@
]

for url in urls:
- print 'downloading latest copy of %s' % url
- request = urllib2.Request(url)
- response = urllib2.urlopen(request)
+ print('downloading latest copy of %s' % url)
+ request = urllib.request.Request(url)
+ response = urllib.request.urlopen(request)
save_path = _path.dirname(__file__)
filename = _path.join(save_path,
_os.path.basename(response.geturl()))
- fh = open(filename, 'wb')
+ fh = open(filename, 'w')
fh.write(response.read())
fh.close()

+ # Make sure the line endings are consistent across platforms.
+ dos2unix(filename)
+

#-----------------------------------------------------------------------------
if __name__ == '__main__':
# Generate indices when module is executed as a script.
get_latest_files()
- create_ieee_indices()
+ create_indices()


# On module load read indices in memory to enable lookups.
-load_ieee_indices()
+load_indices()
=======================================
--- /branches/rel-0.7.x/lib3/netaddr/eui/oui.idx Tue Aug 18 12:47:26 2009
+++ /branches/rel-0.7.x/lib3/netaddr/eui/oui.idx Wed Apr 28 15:12:10 2010
@@ -242,12549 +242,13144 @@
241,37924,155
242,38079,157
243,38236,163
-244,38399,175
-245,38574,172
-246,38746,184
-247,38930,187
-248,39117,190
-249,39307,149
-250,39456,163
-251,39619,153
-252,39772,131
-253,39903,171
-254,40074,175
-255,40249,162
-256,40411,123
-257,40534,56
-258,40590,154
-259,40744,153
-260,40897,191
-261,41088,135
-262,41223,139
-263,41362,113
-264,41475,187
-265,41662,167
-266,41829,188
-267,42017,182
-268,42199,168
-269,42367,147
-270,42514,182
-271,42696,179
-272,42875,131
-273,43006,158
-274,43164,156
-275,43320,147
-276,43467,182
-277,43649,156
-278,43805,176
-279,43981,130
-280,44111,178
-281,44289,137
-282,44426,137
-283,44563,186
-284,44749,182
-285,44931,157
-286,45088,155
-287,45243,154
-288,45397,140
-289,45537,180
-290,45717,195
-291,45912,162
-292,46074,179
-293,46253,154
-294,46407,127
-295,46534,156
-296,46690,140
-297,46830,145
-298,46975,161
-299,47136,82
-300,47218,160
-301,47378,140
-302,47518,178
-303,47696,203
-304,47899,141
-305,48040,154
-306,48194,132
-307,48326,152
-308,48478,136
-309,48614,153
-310,48767,208
-311,48975,181
-312,49156,214
-313,49370,216
-314,49586,177
-315,49763,129
-316,49892,129
-317,50021,158
-318,50179,116
-319,50295,197
-320,50492,170
-321,50662,139
-322,50801,155
-323,50956,155
-324,51111,132
-325,51243,138
-326,51381,150
-327,51531,142
-328,51673,152
-329,51825,169
-330,51994,160
-331,52154,155
-332,52309,152
-333,52461,208
-334,52669,158
-335,52827,133
-336,52960,170
-337,53130,166
-338,53296,163
-339,53459,201
-340,53660,154
-341,53814,206
-342,54020,166
-343,54186,176
-344,54362,163
-345,54525,177
-346,54702,211
-347,54913,138
-348,55051,138
-349,55189,152
-350,55341,191
-351,55532,131
-352,55663,144
-353,55807,171
-354,55978,161
-355,56139,155
-356,56294,155
-357,56449,148
-358,56597,118
-359,56715,154
-360,56869,161
-361,57030,180
-362,57210,129
-363,57339,131
-364,57470,119
-365,57589,138
-366,57727,154
-367,57881,140
-368,58021,178
-369,58199,168
-370,58367,164
-371,58531,116
-372,58647,162
-373,58809,168
-374,58977,167
-375,59144,123
-376,59267,156
-377,59423,197
-378,59620,201
-379,59821,176
-380,59997,123
-381,60120,132
-382,60252,174
-383,60426,168
-384,60594,186
-385,60780,145
-386,60925,144
-387,61069,158
-388,61227,145
-389,61372,138
-390,61510,126
-391,61636,126
-392,61762,144
-393,61906,170
-394,62076,144
-395,62220,169
-396,62389,128
-397,62517,154
-398,62671,146
-399,62817,127
-400,62944,120
-401,63064,141
-402,63205,159
-403,63364,191
-404,63555,179
-405,63734,189
-406,63923,155
-407,64078,155
-408,64233,168
-409,64401,177
-410,64578,136
-411,64714,169
-412,64883,150
-413,65033,160
-414,65193,146
-415,65339,139
-416,65478,163
-417,65641,136
-418,65777,161
-419,65938,168
-420,66106,161
-421,66267,149
-422,66416,178
-423,66594,195
-424,66789,211
-425,67000,126
-426,67126,201
-427,67327,165
-428,67492,145
-429,67637,227
-430,67864,148
-431,68012,164
-432,68176,220
-433,68396,144
-434,68540,182
-435,68722,176
-436,68898,148
-437,69046,153
-438,69199,190
-439,69389,181
-440,69570,153
-441,69723,153
-442,69876,167
-443,70043,132
-444,70175,155
-445,70330,192
-446,70522,181
-447,70703,160
-448,70863,126
-449,70989,156
-450,71145,147
-451,71292,130
-452,71422,181
-453,71603,168
-454,71771,156
-455,71927,145
-456,72072,142
-456,72214,72
-457,72286,147
-458,72433,170
-459,72603,107
-460,72710,230
-461,72940,113
-462,73053,194
-463,73247,197
-464,73444,135
-465,73579,154
-466,73733,214
-467,73947,174
-468,74121,149
-469,74270,232
-470,74502,121
-471,74623,146
-472,74769,157
-473,74926,140
-474,75066,208
-475,75274,147
-476,75421,129
-477,75550,142
-478,75692,143
-479,75835,198
-480,76033,151
-481,76184,206
-482,76390,167
-483,76557,126
-484,76683,132
-485,76815,176
-486,76991,166
-487,77157,166
-488,77323,151
-489,77474,181
-490,77655,132
-491,77787,182
-492,77969,156
-493,78125,149
-494,78274,181
-495,78455,216
-496,78671,149
-497,78820,171
-498,78991,162
-499,79153,126
-500,79279,142
-501,79421,131
-502,79552,224
-503,79776,175
-504,79951,187
-505,80138,189
-506,80327,116
-507,80443,184
-508,80627,170
-509,80797,160
-510,80957,196
-511,81153,161
-512,81314,196
-513,81510,144
-514,81654,179
-515,81833,174
-516,82007,184
-517,82191,153
-518,82344,131
-519,82475,176
-520,82651,161
-521,82812,231
-522,83043,137
-523,83180,147
-524,83327,120
-525,83447,127
-526,83574,154
-527,83728,121
-528,83849,181
-529,84030,235
-530,84265,122
-531,84387,143
-532,84530,167
-533,84697,173
-534,84870,147
-535,85017,147
-536,85164,217
-537,85381,152
-538,85533,135
-539,85668,142
-540,85810,154
-541,85964,204
-542,86168,134
-543,86302,159
-544,86461,155
-545,86616,195
-546,86811,137
-547,86948,162
-548,87110,118
-549,87228,157
-550,87385,139
-551,87524,175
-552,87699,158
-553,87857,171
-554,88028,179
-555,88207,148
-556,88355,160
-557,88515,125
-558,88640,127
-559,88767,126
-560,88893,143
-561,89036,153
-562,89189,189
-563,89378,178
-564,89556,156
-565,89712,167
-566,89879,126
-567,90005,167
-568,90172,191
-569,90363,123
-570,90486,161
-571,90647,141
-572,90788,189
-573,90977,146
-574,91123,162
-575,91285,194
-576,91479,171
-577,91650,122
-578,91772,165
-579,91937,166
-580,92103,208
-581,92311,182
-582,92493,203
-583,92696,228
-584,92924,147
-585,93071,198
-586,93269,145
-587,93414,145
-588,93559,138
-589,93697,179
-590,93876,149
-591,94025,149
-592,94174,149
-593,94323,161
-594,94484,150
-595,94634,133
-596,94767,124
-597,94891,186
-598,95077,150
-599,95227,145
-600,95372,182
-601,95554,227
-602,95781,143
-603,95924,190
-604,96114,190
-605,96304,141
-606,96445,190
-607,96635,158
-608,96793,161
-609,96954,113
-610,97067,217
-611,97284,162
-612,97446,136
-613,97582,189
-614,97771,156
-615,97927,140
-616,98067,196
-617,98263,174
-618,98437,205
-619,98642,209
-620,98851,155
-621,99006,150
-622,99156,164
-623,99320,211
-624,99531,178
-625,99709,151
-626,99860,196
-627,100056,143
-628,100199,186
-629,100385,170
-630,100555,181
-631,100736,162
-632,100898,211
-633,101109,161
-634,101270,213
-635,101483,142
-636,101625,141
-637,101766,145
-638,101911,145
-639,102056,179
-640,102235,141
-641,102376,147
-642,102523,137
-643,102660,145
-644,102805,125
-645,102930,155
-646,103085,138
-647,103223,123
-648,103346,166
-649,103512,139
-650,103651,213
-651,103864,134
-652,103998,167
-653,104165,205
-654,104370,154
-655,104524,156
-656,104680,169
-657,104849,174
-658,105023,155
-659,105178,153
-660,105331,168
-661,105499,192
-662,105691,204
-663,105895,146
-664,106041,166
-665,106207,128
-666,106335,132
-667,106467,158
-668,106625,114
-669,106739,165
-670,106904,204
-671,107108,173
-672,107281,134
-673,107415,135
-674,107550,134
-675,107684,173
-676,107857,203
-677,108060,153
-678,108213,192
-679,108405,138
-680,108543,183
-681,108726,152
-682,108878,175
-683,109053,183
-684,109236,126
-685,109362,140
-686,109502,179
-687,109681,151
-688,109832,191
-689,110023,165
-690,110188,139
-691,110327,160
-692,110487,120
-693,110607,128
-694,110735,205
-695,110940,189
-696,111129,142
-697,111271,145
-698,111416,145
-699,111561,162
-700,111723,153
-701,111876,182
-702,112058,170
-703,112228,143
-704,112371,226
-705,112597,181
-706,112778,196
-707,112974,124
-708,113098,144
-709,113242,163
-710,113405,189
-711,113594,172
-712,113766,232
-713,113998,149
-714,114147,132
-715,114279,172
-716,114451,122
-717,114573,164
-718,114737,146
-719,114883,180
-720,115063,152
-721,115215,159
-722,115374,134
-723,115508,149
-724,115657,161
-725,115818,115
-726,115933,124
-727,116057,142
-728,116199,183
-729,116382,139
-730,116521,165
-731,116686,142
-732,116828,179
-733,117007,210
-734,117217,157
-735,117374,163
-736,117537,115
-737,117652,168
-738,117820,157
-739,117977,165
-740,118142,184
-741,118326,157
-742,118483,169
-743,118652,136
-744,118788,117
-745,118905,160
-746,119065,138
-747,119203,167
-748,119370,170
-749,119540,166
-750,119706,132
-751,119838,215
-752,120053,208
-753,120261,169
-754,120430,149
-755,120579,181
-756,120760,132
-757,120892,173
-758,121065,141
-759,121206,131
-760,121337,157
-761,121494,175
-762,121669,136
-763,121805,166
-764,121971,145
-765,122116,145
-766,122261,147
-767,122408,180
-768,122588,143
-769,122731,182
-770,122913,160
-771,123073,197
-772,123270,172
-773,123442,156
-774,123598,185
-775,123783,155
-776,123938,154
-777,124092,159
-778,124251,149
-779,124400,189
-780,124589,183
-781,124772,193
-782,124965,230
-783,125195,214
-784,125409,187
-785,125596,182
-786,125778,137
-787,125915,138
-788,126053,204
-789,126257,146
-790,126403,170
-791,126573,162
-792,126735,146
-793,126881,116
-794,126997,202
-795,127199,180
-796,127379,155
-797,127534,198
-798,127732,153
-799,127885,131
-800,128016,142
-801,128158,182
-802,128340,159
-803,128499,171
-804,128670,172
-805,128842,167
-806,129009,177
-807,129186,118
-808,129304,141
-809,129445,172
-810,129617,209
-811,129826,158
-812,129984,146
-813,130130,166
-814,130296,207
-815,130503,195
-816,130698,151
-817,130849,145
-818,130994,145
-819,131139,155
-820,131294,144
-821,131438,160
-822,131598,134
-823,131732,167
-824,131899,137
-825,132036,160
-826,132196,159
-827,132355,175
-828,132530,145
-829,132675,150
-830,132825,198
-831,133023,138
-832,133161,174
-833,133335,135
-834,133470,152
-835,133622,145
-836,133767,132
-837,133899,205
-838,134104,160
-839,134264,161
-840,134425,161
-841,134586,159
-842,134745,138
-843,134883,150
-844,135033,217
-845,135250,152
-846,135402,181
-847,135583,159
-848,135742,116
-849,135858,135
-850,135993,143
-851,136136,145
-852,136281,212
-853,136493,163
-854,136656,169
-855,136825,151
-856,136976,184
-857,137160,146
-858,137306,136
-859,137442,157
-860,137599,185
-861,137784,184
-862,137968,198
-863,138166,196
-864,138362,212
-865,138574,147
-866,138721,198
-867,138919,173
-868,139092,163
-869,139255,211
-870,139466,161
-871,139627,148
-872,139775,189
-873,139964,169
-874,140133,118
-875,140251,145
-876,140396,145
-877,140541,172
-878,140713,168
-879,140881,136
-880,141017,136
-881,141153,190
-882,141343,181
-883,141524,149
-884,141673,142
-885,141815,137
-886,141952,154
-887,142106,140
-888,142246,167
-889,142413,218
-890,142631,155
-891,142786,171
-892,142957,143
-893,143100,147
-894,143247,191
-895,143438,173
-896,143611,176
-897,143787,161
-898,143948,159
-899,144107,165
-900,144272,139
-901,144411,163
-902,144574,180
-903,144754,149
-904,144903,209
-905,145112,127
-906,145239,146
-907,145385,177
-908,145562,140
-909,145702,177
-910,145879,144
-911,146023,150
-912,146173,189
-913,146362,217
-914,146579,220
-915,146799,151
-916,146950,128
-917,147078,148
-918,147226,188
-919,147414,142
-920,147556,123
-921,147679,237
-922,147916,131
-923,148047,156
-924,148203,175
-925,148378,155
-926,148533,198
-927,148731,145
-928,148876,145
-929,149021,215
-930,149236,157
-931,149393,114
-932,149507,153
-933,149660,168
-934,149828,163
-935,149991,187
-936,150178,210
-937,150388,140
-938,150528,114
-939,150642,159
-940,150801,169
-941,150970,128
-942,151098,201
-943,151299,153
-944,151452,178
-945,151630,131
-946,151761,114
-947,151875,218
-948,152093,199
-949,152292,210
-950,152502,150
-951,152652,147
-952,152799,164
-953,152963,168
-954,153131,152
-955,153283,185
-956,153468,121
-957,153589,184
-958,153773,142
-959,153915,209
-960,154124,164
-961,154288,161
-962,154449,145
-963,154594,147
-964,154741,145
-965,154886,132
-966,155018,149
-967,155167,143
-968,155310,166
-969,155476,171
-970,155647,137
-971,155784,194
-972,155978,170
-973,156148,143
-974,156291,222
-975,156513,193
-976,156706,167
-977,156873,169
-978,157042,153
-979,157195,160
-980,157355,156
-981,157511,186
-982,157697,141
-983,157838,168
-984,158006,158
-985,158164,133
-986,158297,195
-987,158492,175
-988,158667,142
-989,158809,123
-990,158932,128
-991,159060,136
-992,159196,170
-993,159366,187
-994,159553,158
-995,159711,145
-996,159856,145
-997,160001,138
-998,160139,136
-999,160275,192
-1000,160467,209
-1001,160676,151
-1002,160827,213
-1003,161040,148
-1004,161188,155
-1005,161343,174
-1006,161517,140
-1007,161657,126
-1008,161783,197
-1009,161980,174
-1010,162154,149
-1011,162303,154
-1012,162457,130
-1013,162587,121
-1014,162708,155
-1015,162863,150
-1016,163013,181
-1017,163194,169
-1018,163363,138
-1019,163501,138
-1020,163639,138
-1021,163777,145
-1022,163922,145
-1023,164067,144
-1024,164211,173
-1025,164384,178
-1026,164562,167
-1027,164729,142
-1028,164871,180
-1029,165051,180
-1030,165231,138
-1031,165369,179
-1032,165548,150
-1033,165698,151
-1034,165849,148
-1035,165997,170
-1036,166167,165
-1037,166332,160
-1038,166492,106
-1039,166598,214
-1040,166812,153
-1041,166965,152
-1042,167117,151
-1043,167268,147
-1044,167415,190
-1045,167605,171
-1046,167776,186
-1047,167962,123
-1048,168085,152
-1049,168237,177
-1050,168414,176
-1051,168590,150
-1052,168740,151
-1053,168891,138
-1054,169029,184
-1055,169213,173
-1056,169386,156
-1057,169542,155
-1058,169697,140
-1059,169837,159
-1060,169996,124
-1061,170120,193
-1062,170313,158
-1063,170471,145
-1064,170616,145
-1065,170761,205
-1066,170966,154
-1067,171120,174
-1068,171294,166
-1069,171460,200
-1070,171660,185
-1071,171845,218
-1072,172063,125
-1073,172188,170
-1074,172358,152
-1075,172510,137
-1076,172647,162
-1077,172809,153
-1078,172962,185
-1079,173147,215
-1080,173362,159
-1081,173521,178
-1082,173699,207
-1083,173906,161
-1084,174067,207
-1085,174274,127
-1086,174401,126
-1087,174527,183
-1088,174710,152
-1089,174862,160
-1090,175022,107
-1091,175129,191
-1092,175320,181
-1093,175501,169
-1094,175670,189
-1095,175859,195
-1096,176054,143
-1097,176197,145
-1098,176342,150
-1099,176492,118
-1100,176610,156
-1101,176766,145
-1102,176911,145
-1103,177056,176
-1104,177232,144
-1105,177376,129
-1106,177505,160
-1107,177665,133
-1108,177798,157
-1109,177955,135
-1110,178090,176
-1111,178266,227
-1112,178493,191
-1113,178684,143
-1114,178827,152
-1115,178979,197
-1116,179176,140
-1117,179316,126
-1118,179442,182
-1119,179624,206
-1120,179830,199
-1121,180029,217
-1122,180246,243
-1123,180489,157
-1124,180646,150
-1125,180796,167
-1126,180963,182
-1127,181145,211
-1128,181356,129
-1129,181485,165
-1130,181650,149
-1131,181799,149
-1132,181948,207
-1133,182155,145
-1134,182300,145
-1135,182445,199
-1136,182644,139
-1137,182783,122
-1138,182905,165
-1139,183070,143
-1140,183213,122
-1141,183335,158
-1142,183493,158
-1143,183651,151
-1144,183802,227
-1145,184029,162
-1146,184191,146
-1147,184337,166
-1148,184503,138
-1149,184641,110
-1150,184751,129
-1151,184880,158
-1152,185038,168
-1153,185206,172
-1154,185378,167
-1155,185545,204
-1156,185749,128
-1157,185877,130
-1158,186007,160
-1159,186167,178
-1160,186345,141
-1161,186486,143
-1162,186629,156
-1163,186785,171
-1164,186956,141
-1165,187097,165
-1166,187262,146
-1167,187408,167
-1168,187575,129
-1169,187704,166
-1170,187870,203
-1171,188073,190
-1172,188263,163
-1173,188426,172
-1174,188598,138
-1175,188736,171
-1176,188907,136
-1177,189043,153
-1178,189196,145
-1179,189341,145
-1180,189486,173
-1181,189659,160
-1182,189819,180
-1183,189999,165
-1184,190164,157
-1185,190321,144
-1186,190465,154
-1187,190619,162
-1188,190781,136
-1189,190917,154
-1190,191071,138
-1191,191209,216
-1192,191425,165
-1193,191590,164
-1194,191754,160
-1195,191914,168
-1196,192082,149
-1197,192231,135
-1198,192366,154
-1199,192520,152
-1200,192672,183
-1201,192855,181
-1202,193036,138
-1203,193174,134
-1204,193308,125
-1205,193433,146
-1206,193579,155
-1207,193734,132
-1208,193866,161
-1209,194027,167
-1210,194194,166
-1211,194360,147
-1212,194507,200
-1213,194707,132
-1214,194839,147
-1215,194986,134
-1216,195120,145
-1217,195265,145
-1218,195410,159
-1219,195569,154
-1220,195723,172
-1221,195895,144
-1222,196039,186
-1223,196225,114
-1224,196339,150
-1225,196489,184
-1226,196673,175
-1227,196848,164
-1228,197012,152
-1229,197164,171
-1230,197335,129
-1231,197464,139
-1232,197603,150
-1233,197753,170
-1234,197923,137
-1235,198060,155
-1236,198215,198
-1237,198413,236
***The diff for this file has been truncated for email.***
=======================================
--- /branches/rel-0.7.x/lib3/netaddr/eui/oui.txt Tue Aug 18 12:47:26 2009
+++ /branches/rel-0.7.x/lib3/netaddr/eui/oui.txt Wed Apr 28 15:12:10 2010
File is too large to display a diff.
=======================================
--- /branches/rel-0.7.x/lib3/netaddr/fbsocket.py Wed Aug 26 13:15:46 2009
+++ /branches/rel-0.7.x/lib3/netaddr/fbsocket.py Wed Apr 28 15:12:10 2010
@@ -63,8 +63,8 @@
for token in tokens:
if (token >> 8) != 0:
raise invalid_addr
- words.append(chr(token))
- return ''.join(words)
+ words.append(_pack('B', token))
+ return b''.join(words)
else:
raise invalid_addr

@@ -99,7 +99,7 @@
# Replace first longest run with an empty string.
if len(positions) != 0:
# Locate longest, left-most run of zeros.
- positions.sort(lambda x, y: cmp(x[1], y[1]))
+ positions.sort(key=lambda x: x[1])
best_position = positions[0]
for position in positions:
if position[0] > best_position[0]:
@@ -169,7 +169,7 @@
if '::' in ip_string:
if ip_string == '::':
# Unspecified address.
- return '\x00'*16
+ return b'\x00'*16
# IPv6 compact mode.
try:
prefix, suffix = ip_string.split('::')
@@ -199,7 +199,7 @@
gap_size = 8 - ( len(l_prefix) + len(l_suffix) )

values = [_pack('>H', int(i, 16)) for i in l_prefix] \
- + ['\x00\x00' for i in range(gap_size)] \
+ + [b'\x00\x00' for i in range(gap_size)] \
+ [_pack('>H', int(i, 16)) for i in l_suffix]
try:
for token in l_prefix + l_suffix:
@@ -247,6 +247,6 @@
else:
raise invalid_addr

- return ''.join(values)
+ return b''.join(values)
else:
raise ValueError('Unknown address family %d' % af)
=======================================
--- /branches/rel-0.7.x/lib3/netaddr/ip/__init__.py Wed Dec 2 06:13:23 2009
+++ /branches/rel-0.7.x/lib3/netaddr/ip/__init__.py Wed Apr 28 15:12:10 2010
@@ -447,9 +447,9 @@
"""@return: the value of this IP address as an unsigned integer"""
return self._value

- def __hex__(self):
+ def __index__(self):
"""@return: a hexadecimal string representation of this IP
address."""
- return hex(self._value).rstrip('L').lower()
+ return self._value

def bits(self, word_sep=None):
"""
@@ -591,7 +591,7 @@
"""
return self.__class__(self._value >> numbits, self.version)

- def __nonzero__(self):
+ def __bool__(self):
"""
@return: C{True} if the numerical value of this IP address is not
zero,
C{False} otherwise.
@@ -923,13 +923,13 @@
def __len__(self):
"""
@return: the number of IP addresses in this L{IPNetwork}. Raises an
- C{IndexError} if size > sys.maxint (a Python 2.x limitation).
+ C{IndexError} if size > sys.maxsize (a Python 2.x limitation).
Use the .size property for subnets of any size.
"""
size = self.size
- if size > _sys.maxint:
- raise IndexError("range contains more than %d (sys.maxint) " \
- "IP addresses! Use the .size property instead." %
_sys.maxint)
+ if size > _sys.maxsize:
+ raise IndexError("range contains more than %d (sys.maxsize) " \
+ "IP addresses! Use the .size property instead." %
_sys.maxsize)
return size

def __contains__(self, other):
@@ -941,9 +941,11 @@
"""
if hasattr(other, '_value') and not hasattr(other, '_prefixlen'):
other = IPNetwork("%s/%d" % (other, other._module.width))
+ if self.version != other.version:
+ return False
return other.first >= self.first and other.last <= self.last

- def __nonzero__(self):
+ def __bool__(self):
"""
IPNetwork objects always represent a sequence of at least one IP
address and are therefore always True in the boolean context.
@@ -961,8 +963,9 @@
@return: A key tuple used to compare and sort this L{IPNetwork}
correctly.
"""
- skey = self._module.width - num_bits(self.size)
- return self.version, self.first, skey
+ net_size_bits = self._module.width - num_bits(self.size)
+ host_bits = self._value - self.first
+ return self.version, self.first, net_size_bits, host_bits

def ipv4(self):
"""
@@ -1085,7 +1088,7 @@

# Calculate number of subnets to be returned.
width = self._module.width
- max_subnets = 2 ** (width - self.prefixlen) / 2 ** (width -
prefixlen)
+ max_subnets = 2 ** (width - self.prefixlen) // 2 ** (width -
prefixlen)

if count is None:
count = max_subnets
@@ -1095,7 +1098,7 @@

base_subnet = self._module.int_to_str(self.first)

- for i in xrange(count):
+ for i in range(count):
subnet = self.__class__('%s/%d' % (base_subnet, prefixlen),
self.version)
subnet.value += (subnet.size * i)
@@ -1226,13 +1229,13 @@
def __len__(self):
"""
@return: the number of IP addresses in this L{IPRange}. Raises an
- C{IndexError} if size > sys.maxint (a Python 2.x limitation).
+ C{IndexError} if size > sys.maxsize (a Python 2.x limitation).
Use the .size property for subnets of any size.
"""
size = self.size
- if size > _sys.maxint:
- raise IndexError("range contains more than %d (sys.maxint) " \
- "IP addresses! Use the .size property instead." %
_sys.maxint)
+ if size > _sys.maxsize:
+ raise IndexError("range contains more than %d (sys.maxsize) " \
+ "IP addresses! Use the .size property instead." %
_sys.maxsize)
return size

def __contains__(self, other):
@@ -1244,9 +1247,11 @@
"""
if hasattr(other, '_value') and not hasattr(other, '_prefixlen'):
other = IPNetwork("%s/%d" % (other, other._module.width))
+ if self.version != other.version:
+ return False
return other.first >= self.first and other.last <= self.last

- def __nonzero__(self):
+ def __bool__(self):
"""
IPRange objects always represent a sequence of at least one IP
address and are therefore always True in the boolean context.
@@ -1345,7 +1350,7 @@
tokens = []
prefix = None

- if isinstance(abbrev_cidr, (str, unicode)):
+ if isinstance(abbrev_cidr, str):
if ':' in abbrev_cidr:
return abbrev_cidr
try:
=======================================
--- /branches/rel-0.7.x/lib3/netaddr/ip/iana.py Sun Jul 12 14:59:55 2009
+++ /branches/rel-0.7.x/lib3/netaddr/ip/iana.py Wed Apr 28 15:12:10 2010
@@ -363,13 +363,13 @@
fh = _sys.stdout

for category in sorted(IANA_INFO):
- print >> fh, '-' * len(category)
- print >> fh, category
- print >> fh, '-' * len(category)
+ print('-' * len(category), file=fh)
+ print(category, file=fh)
+ print('-' * len(category), file=fh)
ipranges = IANA_INFO[category]
for iprange in sorted(ipranges):
details = ipranges[iprange]
- print >> fh, '%-45r' % (iprange), details
+ print('%-45r' % (iprange), details, file=fh)


#-----------------------------------------------------------------------------
def query(ip_addr):
@@ -390,19 +390,19 @@
raise Exception('Unsupported IP range or address: %r!' % ip_range)

if ip_addr.version == 4:
- for cidr, record in IANA_INFO['IPv4'].items():
+ for cidr, record in list(IANA_INFO['IPv4'].items()):
if within_bounds(ip_addr, cidr):
info.setdefault('IPv4', [])
info['IPv4'].append(record)

if ip_addr.is_multicast():
- for iprange, record in IANA_INFO['multicast'].items():
+ for iprange, record in list(IANA_INFO['multicast'].items()):
if within_bounds(ip_addr, iprange):
info.setdefault('Multicast', [])
info['Multicast'].append(record)

elif ip_addr.version == 6:
- for cidr, record in IANA_INFO['IPv6'].items():
+ for cidr, record in list(IANA_INFO['IPv6'].items()):
if within_bounds(ip_addr, cidr):
info.setdefault('IPv6', [])
info['IPv6'].append(record)
@@ -412,7 +412,7 @@

#-----------------------------------------------------------------------------
def get_latest_files():
"""Download the latest files from IANA"""
- import urllib2
+ import urllib.request

urls = [
'http://www.iana.org/assignments/ipv4-address-space',
@@ -421,9 +421,9 @@
]

for url in urls:
- print 'downloading latest copy of %s' % url
- request = urllib2.Request(url)
- response = urllib2.urlopen(request)
+ print('downloading latest copy of %s' % url)
+ request = urllib.request.Request(url)
+ response = urllib.request.urlopen(request)
save_path = _path.dirname(__file__)
basename = _os.path.basename(response.geturl().rstrip('/'))
filename = _path.join(save_path, basename)
=======================================
--- /branches/rel-0.7.x/lib3/netaddr/ip/intset.py Wed Aug 5 14:27:15 2009
+++ /branches/rel-0.7.x/lib3/netaddr/ip/intset.py Wed Apr 28 15:12:10 2010
@@ -2,6 +2,9 @@

Integer set class.

+Copyright (C) 2010, David Moss.
+Ported to Python 3.x using 2to3.
+
Copyright (C) 2006, Heiko Wundram.
Released under the MIT license:

@@ -48,36 +51,36 @@
self._neg = neg

def __lt__(self, value):
- if not isinstance(value, (int, long, _Infinity)):
+ if not isinstance(value, (int, _Infinity)):
return NotImplemented
return ( self._neg and
not ( isinstance(value, _Infinity) and value._neg ) )

def __le__(self, value):
- if not isinstance(value, (int, long, _Infinity)):
+ if not isinstance(value, (int, _Infinity)):
return NotImplemented
return self._neg

def __gt__(self, value):
- if not isinstance(value, (int, long, _Infinity)):
+ if not isinstance(value, (int, _Infinity)):
return NotImplemented
return not ( self._neg or
( isinstance(value, _Infinity) and not value._neg ) )

def __ge__(self, value):
- if not isinstance(value, (int, long, _Infinity)):
+ if not isinstance(value, (int, _Infinity)):
return NotImplemented
return not self._neg

def __eq__(self, value):
- if not isinstance(value, (int, long, _Infinity)):
+ if not isinstance(value, (int, _Infinity)):
return NotImplemented
return isinstance(value, _Infinity) and self._neg == value._neg

def __ne__(self, value):
- if not isinstance(value, (int, long, _Infinity)):
+ if not isinstance(value, (int, _Infinity)):
return NotImplemented
- return not isinstance(value, _Infinity) or self._neg <> value._neg
+ return not isinstance(value, _Infinity) or self._neg != value._neg

def __repr__(self):
return "None"
@@ -137,22 +140,22 @@
# Check keyword arguments.
if kwargs:
raise ValueError("Invalid keyword argument.")
- if not ( isinstance(self._min, (int, long)) or self._min is
_MININF ):
+ if not ( isinstance(self._min, int) or self._min is _MININF ):
raise TypeError("Invalid type of min argument.")
- if not ( isinstance(self._max, (int, long)) or self._max is
_MAXINF ):
+ if not ( isinstance(self._max, int) or self._max is _MAXINF ):
raise TypeError("Invalid type of max argument.")
if ( self._min is not _MININF and self._max is not _MAXINF and
self._min > self._max ):
raise ValueError("Minimum is not smaller than maximum.")
- if isinstance(self._max, (int, long)):
+ if isinstance(self._max, int):
self._max += 1

# Process arguments.
for arg in args:
- if isinstance(arg, (int, long)):
+ if isinstance(arg, int):
start, stop = arg, arg+1
elif isinstance(arg, tuple):
- if len(arg) <> 2:
+ if len(arg) != 2:
raise ValueError("Invalid tuple, must be
(start,stop).")

# Process argument.
@@ -163,14 +166,14 @@
stop = self._max

# Check arguments.
- if not ( isinstance(start, (int, long)) or start is
_MININF ):
+ if not ( isinstance(start, int) or start is _MININF ):
raise TypeError("Invalid type of tuple start.")
- if not ( isinstance(stop, (int, long)) or stop is _MAXINF
):
+ if not ( isinstance(stop, int) or stop is _MAXINF ):
raise TypeError("Invalid type of tuple stop.")
if ( start is not _MININF and stop is not _MAXINF and
start > stop ):
continue
- if isinstance(stop, (int, long)):
+ if isinstance(stop, int):
stop += 1
else:
raise TypeError("Invalid argument.")
@@ -231,7 +234,7 @@
def __coerce__(self, other):
if isinstance(other, IntSet):
return self, other
- elif isinstance(other, (int, long, tuple)):
+ elif isinstance(other, (int, tuple)):
try:
return self, self.__class__(other)
except TypeError:
@@ -303,8 +306,8 @@
return found
else:
raise ValueError("Invalid type of function to create.")
- f.func_name = name
- f.func_doc = doc
+ f.__name__ = name
+ f.__doc__ = doc
return f

# Intersection.
@@ -451,7 +454,7 @@
rlen += r[1]-r[0]
return rlen

- def __nonzero__(self):
+ def __bool__(self):
"""Returns true if this integer set contains at least one item."""

return bool(self._ranges)
@@ -493,11 +496,11 @@

rv = []
for start, stop in self._ranges:
- if ( isinstance(start, (int, long)) and \
- isinstance(stop, (int, long))
+ if ( isinstance(start, int) and \
+ isinstance(stop, int)
and stop-start == 1 ):
rv.append("%r" % start)
- elif isinstance(stop, (int, long)):
+ elif isinstance(stop, int):
rv.append("(%r,%r)" % (start, stop-1))
else:
rv.append("(%r,%r)" % (start, stop))
=======================================
--- /branches/rel-0.7.x/lib3/netaddr/ip/ipv4-address-space Tue Aug 18
12:47:26 2009
+++ /branches/rel-0.7.x/lib3/netaddr/ip/ipv4-address-space Wed Apr 28
15:12:10 2010
@@ -1,6 +1,6 @@
IANA IPv4 Address Space Registry

-(last updated 2009-08-03)
+(last updated 2010-02-11)

The allocation of Internet Protocol version 4 (IPv4) address space to
various registries is listed
here. Originally, all the IPv4 address spaces was managed directly by the
IANA. Later parts of the
@@ -17,8 +17,8 @@
----- ------ ----
----- ---------- ----

000/8 IANA - Local Identification
1981-09 RESERVED [2]
-001/8
IANA
UNALLOCATED
-002/8
IANA
UNALLOCATED
+001/8 APNIC 2010-01
whois.apnic.net ALLOCATED
+002/8 RIPE NCC 2009-09
whois.ripe.net ALLOCATED
003/8 General Electric Company
1994-05 LEGACY
004/8 Level 3 Communications, Inc.
1992-12 LEGACY
005/8
IANA
UNALLOCATED
@@ -43,7 +43,7 @@
024/8 ARIN 2001-05
whois.arin.net ALLOCATED
025/8 UK Ministry of Defence 1995-01
whois.ripe.net LEGACY
026/8 Defense Information Systems Agency
1995-05 LEGACY
-027/8
IANA
UNALLOCATED
+027/8 APNIC 2010-01
whois.apnic.net ALLOCATED
028/8 DSI-North
1992-07 LEGACY
029/8 Defense Information Systems Agency
1991-07 LEGACY
030/8 Defense Information Systems Agency
1991-07 LEGACY
@@ -62,11 +62,11 @@
043/8 Administered by APNIC
1991-01 LEGACY
044/8 Amateur Radio Digital Communications
1992-07 LEGACY
045/8 Interop Show Network
1995-01 LEGACY
-046/8
IANA
UNALLOCATED
+046/8 RIPE NCC 2009-09
whois.ripe.net ALLOCATED
047/8 Bell-Northern Research
1991-01 LEGACY
048/8 Prudential Securities Inc.
1995-05 LEGACY
049/8
IANA
UNALLOCATED
-050/8
IANA
UNALLOCATED
+050/8 ARIN 2010-02
whois.arin.net ALLOCATED
051/8 UK Government Department for Work and Pensions 1994-08
whois.ripe.net LEGACY
052/8 E.I. duPont de Nemours and Co., Inc.
1991-12 LEGACY
053/8 Cap Debis CCS
1993-10 LEGACY
@@ -123,7 +123,7 @@
104/8
IANA
UNALLOCATED
105/8
IANA
UNALLOCATED
106/8
IANA
UNALLOCATED
-107/8
IANA
UNALLOCATED
+107/8 ARIN 2010-02
whois.arin.net ALLOCATED
108/8 ARIN 2008-12
whois.arin.net ALLOCATED
109/8 RIPE NCC 2009-01
whois.ripe.net ALLOCATED
110/8 APNIC 2008-11
whois.apnic.net ALLOCATED
@@ -208,18 +208,18 @@
189/8 LACNIC 1995-06
whois.lacnic.net ALLOCATED
190/8 LACNIC 1995-06
whois.lacnic.net ALLOCATED
191/8 Administered by LACNIC 1993-05
whois.lacnic.net LEGACY
-192/8 Administered by ARIN 1993-05
whois.arin.net LEGACY [8]
+192/8 Administered by ARIN 1993-05
whois.arin.net LEGACY [8] [9]
193/8 RIPE NCC 1993-05
whois.ripe.net ALLOCATED
194/8 RIPE NCC 1993-05
whois.ripe.net ALLOCATED
195/8 RIPE NCC 1993-05
whois.ripe.net ALLOCATED
196/8 Administered by AfriNIC 1993-05
whois.afrinic.net LEGACY
197/8 AfriNIC 2008-10
whois.afrinic.net ALLOCATED
-198/8 Administered by ARIN 1993-05
whois.arin.net LEGACY [9]
+198/8 Administered by ARIN 1993-05
whois.arin.net LEGACY [10]
199/8 ARIN 1993-05
whois.arin.net ALLOCATED
200/8 LACNIC 2002-11
whois.lacnic.net ALLOCATED
201/8 LACNIC 2003-04
whois.lacnic.net ALLOCATED
202/8 APNIC 1993-05
whois.apnic.net ALLOCATED
-203/8 APNIC 1993-05
whois.apnic.net ALLOCATED
+203/8 APNIC 1993-05
whois.apnic.net ALLOCATED [11]
204/8 ARIN 1994-03
whois.arin.net ALLOCATED
205/8 ARIN 1994-03
whois.arin.net ALLOCATED
206/8 ARIN 1995-04
whois.arin.net ALLOCATED
@@ -240,38 +240,38 @@
221/8 APNIC 2002-07
whois.apnic.net ALLOCATED
222/8 APNIC 2003-02
whois.apnic.net ALLOCATED
223/8
IANA
UNALLOCATED
-224/8 Multicast
1981-09 RESERVED [10]
-225/8 Multicast
1981-09 RESERVED [10]
-226/8 Multicast
1981-09 RESERVED [10]
-227/8 Multicast
1981-09 RESERVED [10]
-228/8 Multicast
1981-09 RESERVED [10]
-229/8 Multicast
1981-09 RESERVED [10]
-230/8 Multicast
1981-09 RESERVED [10]
-231/8 Multicast
1981-09 RESERVED [10]
-232/8 Multicast
1981-09 RESERVED [10]
-233/8 Multicast
1981-09 RESERVED [10]
-234/8 Multicast
1981-09 RESERVED [10]
-235/8 Multicast
1981-09 RESERVED [10]
-236/8 Multicast
1981-09 RESERVED [10]
-237/8 Multicast
1981-09 RESERVED [10]
-238/8 Multicast
1981-09 RESERVED [10]
-239/8 Multicast
1981-09 RESERVED [10]
-240/8 Future use
1981-09 RESERVED [11]
-241/8 Future use
1981-09 RESERVED [11]
-242/8 Future use
1981-09 RESERVED [11]
-243/8 Future use
1981-09 RESERVED [11]
-244/8 Future use
1981-09 RESERVED [11]
-245/8 Future use
1981-09 RESERVED [11]
-246/8 Future use
1981-09 RESERVED [11]
-247/8 Future use
1981-09 RESERVED [11]
-248/8 Future use
1981-09 RESERVED [11]
-249/8 Future use
1981-09 RESERVED [11]
-250/8 Future use
1981-09 RESERVED [11]
-251/8 Future use
1981-09 RESERVED [11]
-252/8 Future use
1981-09 RESERVED [11]
-253/8 Future use
1981-09 RESERVED [11]
-254/8 Future use
1981-09 RESERVED [11]
-255/8 Future use
1981-09 RESERVED [11]
+224/8 Multicast
1981-09 RESERVED [12]
+225/8 Multicast
1981-09 RESERVED [12]
+226/8 Multicast
1981-09 RESERVED [12]
+227/8 Multicast
1981-09 RESERVED [12]
+228/8 Multicast
1981-09 RESERVED [12]
+229/8 Multicast
1981-09 RESERVED [12]
+230/8 Multicast
1981-09 RESERVED [12]
+231/8 Multicast
1981-09 RESERVED [12]
+232/8 Multicast
1981-09 RESERVED [12]
+233/8 Multicast
1981-09 RESERVED [12]
+234/8 Multicast
1981-09 RESERVED [12]
+235/8 Multicast
1981-09 RESERVED [12]
+236/8 Multicast
1981-09 RESERVED [12]
+237/8 Multicast
1981-09 RESERVED [12]
+238/8 Multicast
1981-09 RESERVED [12]
+239/8 Multicast
1981-09 RESERVED [12]
+240/8 Future use
1981-09 RESERVED [13]
+241/8 Future use
1981-09 RESERVED [13]
+242/8 Future use
1981-09 RESERVED [13]
+243/8 Future use
1981-09 RESERVED [13]
+244/8 Future use
1981-09 RESERVED [13]
+245/8 Future use
1981-09 RESERVED [13]
+246/8 Future use
1981-09 RESERVED [13]
+247/8 Future use
1981-09 RESERVED [13]
+248/8 Future use
1981-09 RESERVED [13]
+249/8 Future use
1981-09 RESERVED [13]
+250/8 Future use
1981-09 RESERVED [13]
+251/8 Future use
1981-09 RESERVED [13]
+252/8 Future use
1981-09 RESERVED [13]
+253/8 Future use
1981-09 RESERVED [13]
+254/8 Future use
1981-09 RESERVED [13]
+255/8 Future use
1981-09 RESERVED [13] [14]



@@ -286,7 +286,7 @@
ALLOCATED: delegated entirely to specific RIR as indicated.
UNALLOCATED: not yet allocated or reserved.

-[2] 0.0.0.0/8 reserved for self-identification [RFC3330]
+[2] 0.0.0.0/8 reserved for self-identification [RFC5735]

[3] Reserved for Private-Use Networks [RFC1918]

@@ -294,29 +294,38 @@
See: http://www.iana.org/assignments/public-data-network-numbers
It was recovered in February 2008.

-[5] 127.0.0.0/8 is reserved for Loopback [RFC3330]
-
-[6] 169.254.0.0/16 reserved for Link Local [RFC3330]
+[5] 127.0.0.0/8 is reserved for Loopback [RFC5735]
+
+[6] 169.254.0.0/16 reserved for Link Local [RFC5735]

[7] 172.16.0.0/12 reserved for Private-Use Networks [RFC1918]

-[8] 192.0.2.0/24 reserved for Test-Net [RFC3330]
+[8] 192.0.2.0/24 reserved for TEST-NET-1 [RFC5737]
192.88.99.0/24 reserved for 6to4 Relay Anycast [RFC3068]
192.168.0.0/16 reserved for Private-Use Networks [RFC1918]

-[9] 198.18.0.0/15 reserved for Network Interconnect Device
- Benchmark Testing [RFC3330]
-
-[10] Multicast (formerly "Class D") [RFC1700]
+[9] 192.0.0.0/24 reserved for IANA IPv4 Special Purpose Address Registry
[RFC5736]
+
+[10] 198.18.0.0/15 reserved for Network Interconnect Device
+ Benchmark Testing [RFC-iana-rfc3330bis-11.txt]
+ 198.51.100.0/24 reserved for TEST-NET-2 [RFC5737]
+
+[11] 203.0.113.0/24 reserved for TEST-NET-3 [RFC5737]
+
+[12] Multicast (formerly "Class D") [RFC3171]
See: http://www.iana.org/assignments/multicast-addresses

-[11] Reserved for future use (formerly "Class E") [RFC1700]
-
+[13] Reserved for future use (formerly "Class E") [RFC1112]
+
+[14] Reserved for "limited broadcast" destination address [RFC0919] and
[RFC0922]


Reference
---------

+[RFC1112] Deering, S., "Host Extensions for IP Multicasting",
+ RFC 1112, August 1989
+
[RFC1356] Malis, A., Robinson, D., and R. Ullmann, "Multiprotocol
Interconnect on X.25 and ISDN in the Packet Mode",
RFC 1356, August 1992.
@@ -324,9 +333,6 @@
[RFC1466] Gerich, E., "Guidelines for Management of IP Address
Space", RFC 1466, May 1993.

-[RFC1700] Reynolds, J. and J. Postel, "Assigned Numbers",
- RFC1700, October 1994.
-
[RFC1918] Rekhter, Y., Moskowitz, R., Karrenberg, D., Groot, G.,
and E. Lear, "Address Allocation for Private
Internets", BCP 5, RFC 1918, February 1996.
@@ -342,5 +348,11 @@
"IANA Guidelines for IPv4 Multicast Address
Assignments", BCP 51, RFC 3171, August 2001.

-[RFC3330] IANA, "Special-Use IPv4 Addresses", RFC 3330,
- September 2002.
+[RFC5735] Cotton, M, "Special-Use IPv4 Addresses", RFC 5735,
+ January 2010.
+
+[RFC5736] Huston, G, "IANA IPv4 Special Purpose Address Registry",
+ RFC 5736, January 2010.
+
+[RFC5737] Arkko, J, "IPv4 Address Blocks Reserved for Documentation",
+ RFC 5737, January 2010.
=======================================
--- /branches/rel-0.7.x/lib3/netaddr/ip/rfc1924.py Wed Aug 5 14:27:15 2009
+++ /branches/rel-0.7.x/lib3/netaddr/ip/rfc1924.py Wed Apr 28 15:12:10 2010
@@ -19,7 +19,7 @@
'?', '@', '^', '_','`', '{', '|', '}', '~']

#: Base 85 digit to integer lookup table.
-BASE_85_DICT = dict(zip(BASE_85, range(0, 86)))
+BASE_85_DICT = dict(list(zip(BASE_85, list(range(0, 86)))))


#-----------------------------------------------------------------------------
def ipv6_to_base85(addr):
@@ -30,9 +30,8 @@
remainder = []
while int_val > 0:
remainder.append(int_val % 85)
- int_val /= 85
-
- #print '-'.join([str(w) for w in reversed(remainder)])
+ int_val //= 85
+
return ''.join([BASE_85[w] for w in reversed(remainder)])


#-----------------------------------------------------------------------------
=======================================
--- /branches/rel-0.7.x/lib3/netaddr/ip/sets.py Tue Aug 18 12:47:26 2009
+++ /branches/rel-0.7.x/lib3/netaddr/ip/sets.py Wed Apr 28 15:12:10 2010
@@ -64,7 +64,7 @@
Compact internal list of L{IPNetwork} objects using a CIDR merge.
"""
cidrs = cidr_merge(list(self._cidrs))
- self._cidrs = dict(zip(cidrs, [True] * len(cidrs)))
+ self._cidrs = dict(list(zip(cidrs, [True] * len(cidrs))))

def __hash__(self):
"""
@@ -192,11 +192,11 @@

if hasattr(iterable, '_cidrs'):
# Another IP set.
- for ip in cidr_merge(self._cidrs.keys() +
iterable._cidrs.keys()):
+ for ip in cidr_merge(list(self._cidrs.keys()) +
list(iterable._cidrs.keys())):
self._cidrs[ip] = True
else:
# An iterable contain IP addresses or subnets.
- for ip in cidr_merge(self._cidrs.keys() + list(iterable)):
+ for ip in cidr_merge(list(self._cidrs.keys()) +
list(iterable)):
self._cidrs[ip] = True

self.compact()
@@ -435,13 +435,13 @@
def __len__(self):
"""
@return: the cardinality of this IP set (i.e. sum of individual IP
- addresses). Raises C{IndexError} if size > sys.maxint (a Python
+ addresses). Raises C{IndexError} if size > sys.maxsize (a
Python
limitation). Use the .size property for subnets of any size.
"""
size = self.size
- if size > _sys.maxint:
- raise IndexError("range contains greater than %d
(sys.maxint) " \
- "IP addresses! Use the .size property instead." %
_sys.maxint)
+ if size > _sys.maxsize:
+ raise IndexError("range contains greater than %d
(sys.maxsize) " \
+ "IP addresses! Use the .size property instead." %
_sys.maxsize)
return size

@property
=======================================
--- /branches/rel-0.7.x/lib3/netaddr/strategy/__init__.py Wed Aug 5
14:27:15 2009
+++ /branches/rel-0.7.x/lib3/netaddr/strategy/__init__.py Wed Apr 28
15:12:10 2010
@@ -15,7 +15,7 @@
list index value is equivalent to its bit string value.
"""
lookup = []
- bits_per_byte = range(7, -1, -1)
+ bits_per_byte = list(range(7, -1, -1))
for num in range(256):
bits = 8 * [None]
for i in bits_per_byte:
=======================================
--- /branches/rel-0.7.x/lib3/netaddr/strategy/eui48.py Wed Dec 2 06:13:23
2009
+++ /branches/rel-0.7.x/lib3/netaddr/strategy/eui48.py Wed Apr 28 15:12:10
2010
@@ -55,7 +55,7 @@
word_size = 8

#: The number of words in this address type.
- num_words = width / word_size
+ num_words = width // word_size

#: The maximum integer value for an individual word in this address
type.
max_word = 2 ** word_size - 1
@@ -72,7 +72,7 @@
class mac_unix(mac_eui48):
"""A UNIX-style MAC address dialect class."""
word_size = 8
- num_words = width / word_size
+ num_words = width // word_size
word_sep = ':'
word_fmt = '%x'
word_base = 16
@@ -80,7 +80,7 @@
class mac_cisco(mac_eui48):
"""A Cisco 'triple hextet' MAC address dialect class."""
word_size = 16
- num_words = width / word_size
+ num_words = width // word_size
word_sep = '.'
word_fmt = '%.4x'
word_base = 16
@@ -88,7 +88,7 @@
class mac_bare(mac_eui48):
"""A bare (no delimiters) MAC address dialect class."""
word_size = 48
- num_words = width / word_size
+ num_words = width // word_size
word_sep = ''
word_fmt = '%.12X'
word_base = 16
@@ -96,7 +96,7 @@
class mac_pgsql(mac_eui48):
"""A PostgreSQL style (2 x 24-bit words) MAC address dialect class."""
word_size = 24
- num_words = width / word_size
+ num_words = width // word_size
word_sep = ':'
word_fmt = '%.6x'
word_base = 16
=======================================
--- /branches/rel-0.7.x/lib3/netaddr/strategy/eui64.py Wed Aug 5 14:27:15
2009
+++ /branches/rel-0.7.x/lib3/netaddr/strategy/eui64.py Wed Apr 28 15:12:10
2010
@@ -52,7 +52,7 @@
max_int = 2 ** width - 1

#: The number of words in this address type.
-num_words = width / word_size
+num_words = width // word_size

#: The maximum integer value for an individual word in this address type.
max_word = 2 ** word_size - 1
=======================================
--- /branches/rel-0.7.x/lib3/netaddr/strategy/ipv4.py Wed Dec 2 06:13:23
2009
+++ /branches/rel-0.7.x/lib3/netaddr/strategy/ipv4.py Wed Apr 28 15:12:10
2010
@@ -63,7 +63,7 @@
max_int = 2 ** width - 1

#: The number of words in this address type.
-num_words = width / word_size
+num_words = width // word_size

#: The maximum integer value for an individual word in this address type.
max_word = 2 ** word_size - 1
=======================================
--- /branches/rel-0.7.x/lib3/netaddr/strategy/ipv6.py Wed Aug 5 14:27:15
2009
+++ /branches/rel-0.7.x/lib3/netaddr/strategy/ipv6.py Wed Apr 28 15:12:10
2010
@@ -64,7 +64,7 @@
max_int = 2 ** width - 1

#: The number of words in this address type.
-num_words = width / word_size
+num_words = width // word_size

#: The maximum integer value for an individual word in this address type.
max_word = 2 ** word_size - 1
=======================================
--- /branches/rel-0.7.x/lib3/netaddr/tests/__init__.py Tue Aug 11 16:00:15
2009
+++ /branches/rel-0.7.x/lib3/netaddr/tests/__init__.py Wed Apr 28 15:12:10
2010
@@ -18,16 +18,16 @@
DEBUG = True


#-----------------------------------------------------------------------------
-def test_suit_all():
+def test_suite_all():

test_dirs = ['ip', 'eui', 'strategy', 'core']

base_path =
os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))

if DEBUG:
- print
- print 'module base path:', base_path
- print
+ print()
+ print('module base path:', base_path)
+ print()

# Gather list of files containing tests.
test_files = []
@@ -43,9 +43,9 @@
test_files = [t for t in test_files if os.path.basename(t) not in
skiplist]

if DEBUG:
- print "doctest files to be processed :-"
- print
- print "\n".join(test_files)
+ print("doctest files to be processed :-")
+ print()
+ print("\n".join(test_files))

# Build and return a complete unittest test suite.
suite = unittest.TestSuite()
@@ -57,6 +57,11 @@

return suite

-if __name__ == "__main__":
+#-----------------------------------------------------------------------------
+def run():
runner = unittest.TextTestRunner()
- runner.run(test_suit_all())
+ runner.run(test_suite_all())
+
+#-----------------------------------------------------------------------------
+if __name__ == "__main__":
+ run()
=======================================
--- /branches/rel-0.7.x/lib3/netaddr/tests/core/pubsub.txt Tue Aug 18
12:47:26 2009
+++ /branches/rel-0.7.x/lib3/netaddr/tests/core/pubsub.txt Wed Apr 28
15:12:10 2010
@@ -17,7 +17,7 @@
... self.id = id
...
... def update(self, data):
-... print repr(self), data
+... print(repr(self), data)
...
... def __repr__(self):
... return '%s(%r)' % (self.__class__.__name__, self.id)
=======================================
--- /branches/rel-0.7.x/lib3/netaddr/tests/eui/eui64.txt Wed Dec 2
06:13:23 2009
+++ /branches/rel-0.7.x/lib3/netaddr/tests/eui/eui64.txt Wed Apr 28
15:12:10 2010
@@ -24,7 +24,7 @@
True

>>> eui.packed
-'\x00\x1bw\xff\xfeIT\xfd'
+b'\x00\x1bw\xff\xfeIT\xfd'

>>> eui.bin
'0b11011011101111111111111111110010010010101010011111101'
=======================================
--- /branches/rel-0.7.x/lib3/netaddr/tests/eui/pubsub.txt Thu Jun 25
16:12:17 2009
+++ /branches/rel-0.7.x/lib3/netaddr/tests/eui/pubsub.txt Wed Apr 28
15:12:10 2010
@@ -7,7 +7,7 @@
{{{

>>> from netaddr.eui.ieee import OUIIndexParser, IABIndexParser,
FileIndexer
->>> from cStringIO import StringIO
+>>> from io import StringIO

>>> infile = StringIO()
>>> outfile = StringIO()
@@ -18,13 +18,15 @@
... SPRINGFIELD
... UNITED STATES
... """)
-
+211
>>> infile.seek(0)
+0
>>> iab_parser = OUIIndexParser(infile)
>>> iab_parser.attach(FileIndexer(outfile))
>>> iab_parser.parse()
->>> print outfile.getvalue(),
+>>> print(outfile.getvalue())
51966,1,210
+<BLANKLINE>

}}}

@@ -41,12 +43,14 @@
... SPRINGFIELD
... UNITED STATES
... """)
-
+182
>>> infile.seek(0)
+0
>>> iab_parser = IABIndexParser(infile)
>>> iab_parser.attach(FileIndexer(outfile))
>>> iab_parser.parse()
->>> print outfile.getvalue(),
+>>> print(outfile.getvalue())
84683452,1,181
+<BLANKLINE>

}}}
=======================================
--- /branches/rel-0.7.x/lib3/netaddr/tests/ip/matches.txt Tue Aug 18
12:47:26 2009
+++ /branches/rel-0.7.x/lib3/netaddr/tests/ip/matches.txt Wed Apr 28
15:12:10 2010
@@ -37,3 +37,29 @@
IPNetwork('192.0.0.0/22')

}}}
+
+Checking matches with varying IP address versions.
+
+{{{
+>>> all_matching_cidrs('192.0.2.0', ['192.0.2.0/24'])
+[IPNetwork('192.0.2.0/24')]
+
+>>> all_matching_cidrs('192.0.2.0', ['::/96'])
+[]
+
+>>> all_matching_cidrs('::ffff:192.0.2.1', ['::ffff:192.0.2.0/96'])
+[IPNetwork('::ffff:192.0.2.0/96')]
+
+>>> all_matching_cidrs('::192.0.2.1', ['::192.0.2.0/96'])
+[IPNetwork('::192.0.2.0/96')]
+
+>>> all_matching_cidrs('::192.0.2.1', ['192.0.2.0/23'])
+[]
+
+>>> all_matching_cidrs('::192.0.2.1', ['192.0.2.0/24', '::192.0.2.0/120'])
+[IPNetwork('::192.0.2.0/120')]
+
+>>> all_matching_cidrs('::192.0.2.1', [IPNetwork('192.0.2.0/24'),
IPNetwork('::192.0.2.0/120')])
+[IPNetwork('::192.0.2.0/120')]
+
+}}}
=======================================
--- /branches/rel-0.7.x/lib3/netaddr/tests/ip/multicast.txt Tue Aug 18
12:47:26 2009
+++ /branches/rel-0.7.x/lib3/netaddr/tests/ip/multicast.txt Wed Apr 28
15:12:10 2010
@@ -11,7 +11,7 @@
>>> ip.is_multicast()
True

->>> ip = IPAddress(3221225984L)
+>>> ip = IPAddress(3221225984)

>>> ip.value = '231.192.0.1'

=======================================
--- /branches/rel-0.7.x/lib3/netaddr/tests/ip/nmap.txt Mon Sep 14 15:12:58
2009
+++ /branches/rel-0.7.x/lib3/netaddr/tests/ip/nmap.txt Wed Apr 28 15:12:10
2010
@@ -79,7 +79,7 @@
>>> len(ip_list)
14
>>> for ip in ip_list:
-... print ip
+... print(ip)
...
192.0.2.1
192.0.2.2
@@ -99,6 +99,6 @@
>>> list(iter_nmap_range('::'))
Traceback (most recent call last):
...
-AddrFormatError: invalid nmap range: ::
+netaddr.core.AddrFormatError: invalid nmap range: ::

}}}
=======================================
--- /branches/rel-0.7.x/lib3/netaddr/tests/ip/sets.txt Tue Aug 18 12:47:26
2009
+++ /branches/rel-0.7.x/lib3/netaddr/tests/ip/sets.txt Wed Apr 28 15:12:10
2010
@@ -31,7 +31,7 @@
IPSet(['192.0.2.0/24'])

>>> for ip in IPSet(['192.0.2.0/28', '::192.0.2.0/124']):
-... print ip
+... print(ip)
192.0.2.0
192.0.2.1
192.0.2.2
@@ -99,7 +99,7 @@
>>> ipset = IPSet(['192.0.2.0/28'])

>>> for ip in iprange:
-... print ip, ip in ipset
+... print(ip, ip in ipset)
192.0.1.255 False
192.0.2.0 True
192.0.2.1 True
@@ -216,7 +216,7 @@
>>> available = ipv4_addr_space ^ unavailable

>>> for cidr in available.iter_cidrs():
-... print cidr, cidr[0], cidr[-1]
+... print(cidr, cidr[0], cidr[-1])
0.0.0.0/5 0.0.0.0 7.255.255.255
8.0.0.0/7 8.0.0.0 9.255.255.255
11.0.0.0/8 11.0.0.0 11.255.255.255
=======================================
--- /branches/rel-0.7.x/lib3/netaddr/tests/ip/socket_fallback.txt Sun Jul
12 14:59:55 2009
+++ /branches/rel-0.7.x/lib3/netaddr/tests/ip/socket_fallback.txt Wed Apr
28 15:12:10 2010
@@ -66,7 +66,7 @@
>>> inet_ntoa(1)
Traceback (most recent call last):
...
-TypeError: string type expected, not <type 'int'>
+TypeError: string type expected, not <class 'int'>


>>> inet_ntoa('\x00')
@@ -75,9 +75,9 @@
ValueError: invalid length of packed IP address string

>>> inet_aton('0x0')
-'\x00\x00\x00\x00'
+b'\x00\x00\x00\x00'

>>> inet_aton('010')
-'\x08\x00\x00\x00'
+b'\x08\x00\x00\x00'

}}}
=======================================
--- /branches/rel-0.7.x/lib3/netaddr/tests/ip/subnet.txt Mon Jul 6
16:03:11 2009
+++ /branches/rel-0.7.x/lib3/netaddr/tests/ip/subnet.txt Wed Apr 28
15:12:10 2010
@@ -46,7 +46,7 @@
... ip_list.extend([ip for ip in subnet])

>>> for addr in sorted(ip_list):
-... print '%r' % addr
+... print('%r' % addr)
IPNetwork('192.0.2.0/28')
IPAddress('192.0.2.0')
IPAddress('192.0.2.1')
=======================================
--- /branches/rel-0.7.x/lib3/netaddr/tests/ip/tutorial.txt Wed Dec 2
06:13:23 2009
+++ /branches/rel-0.7.x/lib3/netaddr/tests/ip/tutorial.txt Wed Apr 28
15:12:10 2010
@@ -224,8 +224,8 @@
>>> str(ip), ip.prefixlen, ip.version
('fe80::dead:beef/64', 64, 6)

->>> int(ip.ip)
-338288524927261089654018896845083623151L
+>>> int(ip.ip) == 338288524927261089654018896845083623151
+True

>>> hex(ip.ip)
'0xfe8000000000000000000000deadbeef'
@@ -390,7 +390,7 @@
{{{

>>> for ip in IPNetwork('192.0.2.0/23'):
-... print '%s' % ip
+... print('%s' % ip)
...
192.0.2.0
192.0.2.1
@@ -411,7 +411,7 @@
{{{

>>> for ip in IPNetwork('192.0.2.0/23').iter_hosts():
-... print '%s' % ip
+... print('%s' % ip)
...
192.0.2.1
192.0.2.2
=======================================
***Additional files exist in this changeset.***

--
You received this message because you are subscribed to the Google Groups "netaddr" group.
To post to this group, send email to net...@googlegroups.com.
To unsubscribe from this group, send email to netaddr+u...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/netaddr?hl=en.

Reply all
Reply to author
Forward
0 new messages