Example #1
0
 def enviar_correo(self, coding = 'utf-8'):
     sender = config.global_config["sender_email"]
     user = config.global_config["usuario"]
     header = config.global_config["encabezado"]
     receiver = self.config["mail"]
     text = config.base.out["texto"].get_text(config.base.out["texto"].get_start_iter(),
             config.base.out["texto"].get_end_iter())
     password = base64.b64decode(config.global_config["password"])
     smtpserver = config.global_config["smtpserver"]
     tls = config.global_config["tls"]
     if sender and password and smtpserver:
         mensaje = _("El siguiente mensaje se enviará automáticamente en 5 segundos")
         mensaje += "\n" + _("DE:") + sender
         mensaje += "\n" + _("PARA:")+receiver
         mensaje += "\n" + _("ASUNTO:")+header
         mensaje += "\n" + text
         av = aviso_temp(mensaje, 5)
         response = av.response
         if response == gtk.RESPONSE_CLOSE:
             return 0
         else:
             import smtplib
             from email.MIMEText import MIMEText
             from email.Header import Header
             from email.Utils import formatdate
             
             body = unicode(text, 'utf-8')
             msg = MIMEText(body.encode(coding), 'plain', coding)
             msg['From']    = sender
             msg['To']      = receiver
             msg['Date'] = formatdate(localtime=1)
             msg['Subject'] = Header(header, coding)  # la 'ñ' no se puede codificar en ASCII
             
             try:
                 server = smtplib.SMTP(smtpserver)
             except:
                 print "Fallo al conectar al servidor SMTP '%s'" % smtpserver
                 return 0
             else:
                 server.set_debuglevel(1)
                 server.ehlo(sender)
                 if tls:
                     server.starttls()
                     server.ehlo(sender)
                 try:
                     server.login(user, password)
                 except:
                     print u"Fallo de autenticación"
                     return 0
                 else:
                     server.sendmail(sender, receiver, msg.as_string())
                 server.quit()
                 return 1
     else:
         aviso_temp(_(u"No ha configurado aún las opciones de correo saliente."))
Example #2
0
 def select_contact(self, widget):
     """
     Muestra el panel de contactos
     """
     contact_mos_path = os.path.join(os.path.expanduser('~'),".contactos.mos")
     if not os.path.exists(contact_mos_path):
         aviso_temp(_(u"No se ha encontrado contactos previamente almacenados. Edite el mosaico que se abrirá a continuación y no olvide\nguardar los cambios."))
         
     mos = Mosaico("*Contactos*", 3,  3, contact_mos_path)
     label = gtk.Label(_("Contactos"))
     pos = self.notebook.append_page(mos,label)
     self.opened_mos.insert(pos, mos)
     self.notebook.set_current_page(pos)
     self.notebook.show_all()
Example #3
0
 def goto(self):
     if not (self.ispreview or self.ismini) and self.config["enlace_a_mosaico"]:
         try:
             relative = os.path.join(os.path.dirname(self.mosaico.config["ruta_guardado"]), os.path.basename(self.config["enlace_a_mosaico"]))
         except:
             print "Error de redireccionamiento: %s" % relative
         else:
             if os.path.exists(self.config["enlace_a_mosaico"]):
                 print "Abriendo mosaico %s..." % os.path.split(self.config["enlace_a_mosaico"])[1]
                 config.base.abrir(None, self.config["enlace_a_mosaico"], config.base.get_current_opened())
             elif os.path.exists(relative):
                 print "Abriendo mosaico %s..." % os.path.split(relative)[1]
                 config.base.abrir(None, relative, config.base.get_current_opened())
             else:
                 mensaje = _("No se puede acceder al archivo ") + self.config["enlace_a_mosaico"] + _(". Revise que existe y que tiene permisos de lectura.")
                 aviso_temp(mensaje, 5)
Example #4
0
def run_gui():
    config.player = Player(host, festival_port)
    config.player.run_festival()
    av = aviso_temp(_("Iniciando el motor de voces. Espere por favor."), 5)
    for i in range(3):
        s = config.player.connect()
        if s:
            break
        time.sleep(1)
    if s and not av.response == gtk.RESPONSE_CLOSE:
        compigtk = Base()
        gobject.idle_add(config.player.read_text, _("Bienvenido al comunicador pictográfico de Guadalinex"))
        compigtk.main()
        s.close()
        config.player.stop_festival()
        print "Eliminando archivos temporales..."
        try:
            rmtree(config.temp_dir)
        except:
            print "Falló"
        else:
            print "OK"
    else:
        config.player.stop_festival()