class DConfiguracion: def __init__(self): self.builder = gtk.Builder() self.builder.add_from_file("FormConfiguracion.glade") self.window = self.builder.get_object("formConfiguracion") self.builder.connect_signals(self) self._txtDominio = self.builder.get_object("txtDominio") self._txtAsunto = self.builder.get_object("txtAsunto") self._txtAsunto.set_property('editable', True) self.close = False self.datos = Data('cv.txt') self.datos.file_to_open() texto = self.datos.read_to_file() texto = self.datos.split_to_string(texto,"\n") datos=[self.datos.split_to_string(texto[0],":"), self.datos.split_to_string(texto[1],":"), ] self._txtDominio.set_text(datos[0][1].strip()) self._txtAsunto.set_text(datos[1][1].strip()) self._textoDominio = self._txtDominio.get_text() self._textoAsunto = self._txtAsunto.get_text() #self.fichero = open("data.txt","w") #self.window.show_all() def show(self): self.window.show_all() # def click_btnCerrarOtro(self, widget, data=None): # return self.close # def click_btnCerrar(self, widget, data=None): # return self.close def click_btnAceptar(self, widget, data=None): texto = self._txtDominio.get_text() if len(texto.strip()) <= 0: print "Mensaje error" return False else: #self._txtDominio.set_property('editable', False) self._txtDominio.set_text(str(texto.strip())) texto = self._txtAsunto.get_text() if len(texto.strip()) <= 0: print "Mensaje de Error" return False else: self._txtAsunto.set_text(str(texto.strip())) #self._txtAsunto.set_property('editable', False) self.datos.file_to_open() texto = self.datos.read_to_file() texto = self.datos.split_to_string(texto,"\n") datos=[self.datos.split_to_string(texto[0],":"), self.datos.split_to_string(texto[1],":"), ] datos[0][1] = self._txtDominio.get_text() datos[1][1] = self._txtAsunto.get_text() strout = datos[0][0] +":"+ datos[0][1] + "\t\t\t\t\t" + "\n" strout += datos[1][0] + ":" + datos[1][1] + "\t\t\t\t\t" self.datos.write_to_file(strout) self.datos.file_to_close() self.close = True def click_btnRestaurar(self, widget, data=None): self._txtDominio.set_text(self._textoDominio) self._txtAsunto.set_text(self._textoAsunto) #self._txtDominio.set_property('editable',True) #self._txtAsunto.set_property('editable',True) self.datos.file_to_open() texto = self.datos.read_to_file() texto = self.datos.split_to_string(texto,"\n") datos=[self.datos.split_to_string(texto[0],":"), self.datos.split_to_string(texto[1],":"), ] datos[0][1] = self._txtDominio.get_text() datos[1][1] = self._txtAsunto.get_text() strout = datos[0][0] +":"+ datos[0][1] + "\t\t\t\t\t" + "\n" strout += datos[1][0] + ":" + datos[1][1] + "\t\t\t\t\t" self.datos.write_to_file(strout) self.datos.file_to_close() self.close = True def click_btnCancelar(self, widget, data=None): print "Cancelo" return True
class DRecuperar: def __init__(self): self.builder = gtk.Builder() self.builder.add_from_file("FormRecuperar.glade") self.window = self.builder.get_object("formRecuperar") self._lblDominio = self.builder.get_object("txtDominio") self.builder.connect_signals(self) self.datos = Data("cv.txt") self.datos.file_to_open() texto = self.datos.read_to_file() texto = self.datos.split_to_string(texto,"\n") datos=[self.datos.split_to_string(texto[0],":"), self.datos.split_to_string(texto[1],":"), ] self._lblDominio.set_text(datos[0][1].strip()) def show(self): self.window.show_all() def click_btnCancelar(self, widget, data=None): self.set_progreso(self,0) print "cancelado" def click_btnEmpezar(self, widget, data=None): self.search_GoogleGroups() self.guardarMails() #self.mostrarMails() def set_progreso(self,value): _progreso = self.builder.get_object("pgProgreso") _progreso.set_fraction(value) def get_progreso(self,value): _progreso = self.builder.get_object("pgProgreso") return _progreso.set_fraction() def search_GoogleGroups(self): self.d={} page_counter = 0.0 try: while page_counter < 1 : print "xD" results = 'http://groups.google.com/groups?q=' + str('hotmail.com')+'&hl=en&lr=&ie=UTF-8&start=' + repr(page_counter) + '&sa=N' request = urllib2.Request(results) request.add_header('User-Agent','Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)') opener = urllib2.build_opener() text = opener.open(request).read() emails = (re.findall('([\w\.\-]+@'+'hotmail.com'+')',self.StripTags(text))) for email in emails: self.d[email]=1 uniq_emails=self.d.keys() page_counter = page_counter + 0.2 print str(page_counter) self.set_progreso(page_counter) except IOError: print "Can't connect to Google Groups!"+"" def StripTags(self,text): finished = 0 while not finished: finished = 1 start = text.find("<") if start >= 0: stop = text[start:].find(">") if stop >= 0: text = text[:start] + text[start+stop+1:] finished = 0 return text def mostrarMails(self): for uniq_emails_web in self.d.keys(): print uniq_emails_web+"" def guardarMails(self): strmail = "" for uniq_emails_web in self.d.keys(): uniq_emails_web=uniq_emails_web.replace(" ",".") strmail += uniq_emails_web + "\n" filename = 'mails/mail.txt' ram = open(filename,'w') ram.write(str(strmail)) ram.close()