Ejemplo n.º 1
0
    def onTextMessage(self, messageProtocolEntity):

        nombre = messageProtocolEntity.getNotify()
        mensaje = messageProtocolEntity.getBody()
        para = messageProtocolEntity.getFrom()
        
        print 'Esta hablando: ' + nombre
        
        archivo = open('RegistroDeUsuarios.txt', 'a')
        archivo.write(time.strftime("%d/%m/%y"))
        archivo.write("|")
        archivo.write(time.strftime("%H:%M:%S"))
        archivo.write("|")
        archivo.write(para)
        archivo.write("|")
        archivo.write(nombre)
        archivo.write("\n")
        archivo.close() # Fin de registro de usuarios
        if mensaje == 'Hola':
            msg1 = "Hola " + nombre + " como estas ?"
            self.toLower(TextMessageProtocolEntity(msg1, to=para))
        elif 'Clima' in mensaje:
                ParaClima = mensaje.split(' ')
                owm_es = OWM(language='es')
                Pais = ',Arg'
                API_key = '12345678'
                owm = OWM(API_key)
                apikey = owm.get_API_key()
                owm.set_API_key(API_key)
                observation = owm.weather_at_place(ParaClima[1] + Pais)
                w = observation.get_weather()
                presion = str(w.get_pressure())
                presionseparada = presion.split(':')
                presA = presionseparada[1]
                PresF = presA.split(',')
                time.sleep(1)
                temperatura = str(w.get_temperature('celsius'))
                temperaturaSeparada = temperatura.split(':')
                TempA = temperaturaSeparada[3]
                TempF = TempA.split(',')
                humedad = w.get_humidity()
                self.toLower(TextMessageProtocolEntity('Presion: ' + PresF[0] + ' hPa\n''Temperatura: ' + TempF[0] + '[C]\n'+ 'Humedad: ' + str(humedad) + ' %' , to=para))
                time.sleep(1)
                os.system("twitter set Me ha consultado " + nombre + "...")
                time.sleep(1)
        elif 'Wa ' in mensaje:
                id= 'XXXXXXXXXX-XXXXX' #Aca va la id que tenes de wolfram, si queres ponersela te tenes que registrar
                file = open('HistorialWA.txt', 'a')
                client = wolframalpha.Client(id)
                self.toLower(TextMessageProtocolEntity("Mathematica está calculando...", to=para))
            try:
                ParaWolfram = mensaje.split(" ")
                res = client.query(str(ParaWolfram[1]+' '+(ParaWolfram[2])))
                #Esto viene a ser un registro para saber quien fue
                # el que calculó,solo por seguridad
                file.write(str(ParaWolfram[1]+' '+(ParaWolfram[2])))
                file.write("|")
                file.write(time.strftime("%d/%m/%y"))
                file.write("|")
                file.write(time.strftime("%H:%M:%S"))
                file.write("|")
                file.write(para)
                file.write("|")
                file.write(nombre)
                file.write("\n")
                if len(res.pods) > 0:
                    texts = ""
                    pod = res.pods[1]
                if pod.text:
                    texts = pod.text
                    texts = texts.encode('ascii', 'ignore')
                    self.toLower(TextMessageProtocolEntity("Resultado:", to=para))
                    self.toLower(TextMessageProtocolEntity(texts, to=para))
                else:
                    texts = "No Tengo respuesta: Atte Don Wolfram."
                    self.toLower(TextMessageProtocolEntity(texts, to=para))
            except NameError:
                # Si me da el error de Pot
                self.toLower(TextMessageProtocolEntity("Comando Wa inválido\nError de Nombres", to=para))
            except IndexError:
                # Si Se Va de rango..(en las derivadas /integrales pasa..)
                self.toLower(TextMessageProtocolEntity("Comando Wa inválido\nindice fuera de rango", to=para))
        elif mensaje == 'Gracias':
                msg10 = "Estoy siendo programado, teneme paciencia"
                time.sleep(1)
                msg11 = "Para mas informacion, escribe Menu"
                time.sleep(2)
                self.toLower(TextMessageProtocolEntity(msg10, to=para))
                time.sleep(1)
                self.toLower(TextMessageProtocolEntity(msg11, to=para))
Ejemplo n.º 2
0
Archivo: owm.py Proyecto: sanbee/Naarad
##/usr/local/stow/python-3.5.0/bin/ipython3

from pyowm import OWM

API_key = 'XXX'

owm = OWM(API_key)
owm.get_API_key()
obs = owm.weather_at_place('Socorro,NM')
w = obs.get_weather()
w.get_clouds()
w.get_sunrise_time()
w.get_sunrise_time(timeformat='iso')
w.get_temperature('celsius')
print(w)
w.get_wind()
w.get_sunrise_time('iso')
Ejemplo n.º 3
0
# -*- coding: utf-8 -*-
import time
import pyowm  #modulo utilizado para obtener el clima
from pyowm import OWM

try:
    while True:
        print("Obteniendo data")
        display.lcd_display_string("Actualizando", 1)
        display.lcd_display_string("Informacion", 2)
        owm_es = OWM(language='es')
        Pais = ',Arg'
        API_key = 'APIKEY_Aqui'  #se consiguen en openweathermap.com, son gratuitas
        owm = OWM(API_key)
        apikey = owm.get_API_key()
        print 'Key Utilizada->' + owm.get_API_key()
        display.lcd_clear()
        owm.set_API_key(API_key)
        observation = owm.weather_at_place('Buenos Aires' +
                                           Pais)  #Colocas la ciudad que queres
        w = observation.get_weather()
        presion = str(w.get_pressure())
        presionseparada = presion.split(':')
        presA = presionseparada[1]
        PresF = presA.split(',')
        temperatura = str(w.get_temperature('celsius'))
        temperaturaSeparada = temperatura.split(':')
        TempA = temperaturaSeparada[3]
        TempF = TempA.split(',')
        humedad = w.get_humidity()
        FechaFormato = str(datetime.datetime.now().date())