diff --git a/Main.py b/Main.py index 0af62d0..ddce604 100644 --- a/Main.py +++ b/Main.py @@ -735,8 +735,7 @@ def __init__(self, x, y, objtype, *args, name="Default", maxconnections=4, ip=No TheGrid.moveto(self.image, self.x, self.y) self.image.show() - self.macdir = object() - mac.__init__(self.macdir) #Soluciona un bug raro en Ubuntu + self.macdir = mac() print("MAC:", self.macdir, int(self.macdir), bin(self.macdir)) if ip == None: print("No ip definida") @@ -815,44 +814,6 @@ def resizetogrid(self, image, *args): def clickado(self, widget, event): lprint("Clickado en objeto " + str(self) + " @ " + str(self.x) + ", " + str(self.y)) - class mac(): - def __init__(self, *macaddr, bits=48): - print("macaddr:", *macaddr) - if macaddr == None or True: - tmp = self.genmac(bits=bits) - - self.int = tmp[0] - self.str = tmp[1] - self.bin = ("{0:0"+str(bits)+"b}").format(self.int) - - def genmac(*self, bits=48, mode=None): - #Por defecto se usa mac 48, o lo que es lo mismo, la de toa la vida - #Nota, falta un comprobador de que la mac no se repita - realmac = int("11" + str("{0:0"+ str(bits-2) +"b}").format(random.getrandbits(bits-2)),2) - readmac = str(hex(realmac)).upper().replace("0X", "") - readmac = ":".join([readmac[i * 2:i * 2 + 2] for i,bl in enumerate(readmac[::2])]) - if mode == 0: - return realmac - if mode == 1: - return readmac - else: - return [realmac, readmac] - - def __str__(self): - readmac = str(hex(self.int)).upper().replace("0X", "") - return ":".join([readmac[i * 2:i * 2 + 2] for i,bl in enumerate(readmac[::2])]) - - def __bytes__(self): - return Object.__bytes__(self) - - def __int__(self): - return self.int - def __index__(self): - return self.int - def list(self): - return self.str.split(":") - - #Esta fucnión se encarga de comprobar a que ordenador(es) está conectado #en total, pasando por routers, hubs y switches. @@ -1059,6 +1020,43 @@ def packet_received(self, pck, *args, port=None): print("<