X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-dhcp.git/blobdiff_plain/5b5216809d7e7d0e78df31d274c2e97eb77be2c2..9007b014f45be76bf183371353068bab12b749f6:/pydhcplib/pydhcplib/type_hw_addr.py diff --git a/pydhcplib/pydhcplib/type_hw_addr.py b/pydhcplib/pydhcplib/type_hw_addr.py deleted file mode 100644 index a6e3d64..0000000 --- a/pydhcplib/pydhcplib/type_hw_addr.py +++ /dev/null @@ -1,86 +0,0 @@ -# Anemon Dhcp -# Copyright (C) 2005 Mathieu Ignacio -- mignacio@april.org -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - - -from binascii import unhexlify,hexlify - -# Check and convert hardware/nic/mac address type -class hwmac: - def __init__(self,value="00:00:00:00:00:00") : - self._hw_numlist = [] - self._hw_string = "" - hw_type = type(value) - if hw_type == str : - self._hw_string = value - self._StringToNumlist(value) - self._CheckNumList() - elif hw_type == list : - self._hw_numlist = value - self._CheckNumList() - self._NumlistToString() - else : raise TypeError , 'hwmac init : Valid types are tr and list' - - - - # Check if _hw_numlist is valid and raise error if not. - def _CheckNumList(self) : - if len(self._hw_numlist) != 6 : raise ValueError , "hwmac : wrong list length." - for part in self._hw_numlist : - if type (part) != int : raise TypeError , "hwmac : each element of list must be int" - if part < 0 or part > 255 : raise ValueError , "hwmac : need numbers between 0 and 255." - return True - - - def _StringToNumlist(self,value): - self._hw_string = self._hw_string.replace("-",":").replace(".",":") - self._hw_string = self._hw_string.lower() - - - for twochar in self._hw_string.split(":"): - self._hw_numlist.append(ord(unhexlify(twochar))) - - # Convert NumList type ip to String type ip - def _NumlistToString(self) : - self._hw_string = ":".join(map(hexlify,map(chr,self._hw_numlist))) - - # Convert String type ip to NumList type ip - # return ip string - def str(self) : - return self._hw_string - __str__=str - - # return ip list (useful for DhcpPacket class) - def list(self) : - return self._hw_numlist - - def __hash__(self) : - return self._hw_string.__hash__() - - def __repr__(self) : - return self._hw_string - - def __cmp__(self,other) : - if self._hw_string == other : return 0 - return 1 - - def __nonzero__(self) : - if self._hw_string != "00:00:00:00:00:00" : return 1 - return 0 - - - -