"""Programa para que el movil envie el mensaje que tu le digas en codigo morse mediante mms o para que reproduzca mediante luz y sonido el mensaje que quieras en codigo morse. Quiza os sirva para comunicaros a cierta distancia, pedir ayuda, etc... quien sabe... Tambien puedes mandar piropos o el mensaje que quieras en morse por MMS... Programa creado por m8ax""" import appuifw from graphics import * import e32, thread, miso from key_codes import * import mmsmodule import math, time import audio from random import randint def lighton(): while wanadoo: miso.reset_inactivity_time() e32.ao_sleep(5) def tiempo(n): HOR=n/3600 MIN=(n /60)%60 SEG= n % 60 return (str(HOR)+":"+str(MIN)+":"+str(SEG)) def _raw_input( txt ): return appuifw.query( unicode( txt ), "text" ) def quit(): wanadoo=0 lucia=0 appuifw.app.exit_key_handler=quit class Keyboard(object): def __init__(self,onevent=lambda:None): self._keyboard_state={} self._downs={} self._onevent=onevent def handle_event(self,event): if event['type'] == appuifw.EEventKeyDown: code=event['scancode'] if not self.is_down(code): self._downs[code]=self._downs.get(code,0)+1 self._keyboard_state[code]=1 elif event['type'] == appuifw.EEventKeyUp: self._keyboard_state[event['scancode']]=0 self._onevent() def is_down(self,scancode): return self._keyboard_state.get(scancode,0) def pressed(self,scancode): if self._downs.get(scancode,0): self._downs[scancode]-=1 return True return False keyboard=Keyboard() appuifw.app.title=u"^MvIiIaX^ Morse" appuifw.note(u"Bienvenid@ Al Programa ^MvIiIaX^ Morse Programado Por Marcos Ochoa Diez.", "info" ) appuifw.app.screen='full' canvas=appuifw.Canvas(event_callback=keyboard.handle_event) appuifw.app.body=canvas canvas.clear(0) morse=[""] * 255 morse[97]=".-" morse[98]="-..." morse[99]="-.-." morse[100]="-.." morse[101]="." morse[102]="..-." morse[103]="--." morse[104]="...." morse[105]=".." morse[106]=".---" morse[107]="-.-" morse[108]=".-.." morse[109]="--" morse[110]="-." morse[111]="---" morse[112]=".--." morse[113]="--.-" morse[114]=".-." morse[115]="..." morse[116]="-" morse[117]="..-" morse[118]="...-" morse[119]=".--" morse[120]="-..-" morse[121]="-.--" morse[122]="--.." morse[48]="-----" morse[49]=".----" morse[50]="..---" morse[51]="...--" morse[52]="....-" morse[53]="....." morse[54]="-...." morse[55]="--..." morse[56]="---.." morse[57]="----." morse[64]="@" delay=0.3 lucia=1 enmorse="" msg2="" fonca=0 sonimo=2 archivo=open("e:\\system\\apps\python\\poemasmms.txt",'r') contenido=archivo.readlines() totallineas=len(contenido) quehacemos=int( _raw_input("1-Mensaje Propio O 2-Aleatorio Con Piropo: ") ) if quehacemos==1: msg=appuifw.query(u'Introduce Un Mensaje Para Pasar A Morse', 'text',u'M8AX ES EL MEJOR').lower() fonca=0 else: fonca=1 hemoselegido=randint(0,totallineas-5) msg=contenido[hemoselegido].lower() for k in xrange (0,len(msg),1): msg2+=msg[k]+"@" for k in xrange (0,len(msg2),1): enmorse+= morse[ord(msg2[k])] luz=int( _raw_input("Luz Siempre Encendida 1-SI 2-NO: ") ) if luz==1: wanadoo=1 thread.start_new_thread(lighton, ()) mandono=int( _raw_input("Mandar MMS O Reproducir Con Luz 1-MMS 2-LUZ: ") ) if mandono==1: if fonca==1: appuifw.note(u"Los MMS Que Mandamos Seran Aleatorios Del Fichero poemasmms.txt", "info" ) telf=int( _raw_input("Numero De Movil A Mandar MMS: ") ) cuantitos=int( _raw_input("Cuantos MMS Mandamos A Este Numero: ") ) else: sonimo=int( _raw_input("Sonido Morse 1-SI 2-NO: ") ) lerole=time.time() salir=1 if mandono<>1: while lucia and salir: e32.ao_yield() for l in xrange(0,len(enmorse),1): e32.ao_yield() if enmorse[l]==".": canvas.rectangle((0,0,176,208), fill = 0xffff00) if sonimo==1: from audio import * antiro = 'e:\\system\\apps\\python\\punto.wav' vengaasonar = Sound.open(antiro) vengaasonar.play() if sonimo==2: e32.ao_sleep(delay) canvas.rectangle((0,0,176,208), fill = 0x000000) e32.ao_sleep(delay-0.1) if enmorse[l]=="-": canvas.rectangle((0,0,176,208), fill = 0xff0000) if sonimo==1: from audio import * antiro = 'e:\\system\\apps\\python\\raya.wav' vengaasonar = Sound.open(antiro) vengaasonar.play() if sonimo==2: e32.ao_sleep(delay+0.9) canvas.rectangle((0,0,176,208), fill = 0x000000) e32.ao_sleep(delay-0.1) if enmorse[l]=="@": canvas.rectangle((0,0,176,208), fill = 0x0000ff) e32.ao_sleep(delay) canvas.rectangle((0,0,176,208), fill = 0x000000) e32.ao_sleep(delay+0.1) if keyboard.is_down(EScancodeDownArrow): salir=0 if keyboard.is_down(EScancodeUpArrow): salir=0 e32.ao_sleep(3) if keyboard.is_down(EScancodeDownArrow): salir=0 if keyboard.is_down(EScancodeUpArrow): salir=0 else: if fonca==0: for f in xrange(0,cuantitos,1): e32.ao_yield() if keyboard.is_down(EScancodeDownArrow): salir=0 if keyboard.is_down(EScancodeUpArrow): salir=0 mmsmodule.mms_send(unicode(str(telf)), unicode(enmorse,'iso-8859-1'),unicode("e:\\system\\apps\python\\m8axlogo.jpg")) print "\nMensaje. "+enmorse print "\nMMS Mandado Al. "+str(telf)+" Correctamente Con "+str(len(enmorse))+" Caracteres." e32.ao_sleep(5) else: for f in xrange(0,cuantitos,1): e32.ao_yield() msg2="" enmorse="" if keyboard.is_down(EScancodeDownArrow): salir=0 if keyboard.is_down(EScancodeUpArrow): salir=0 hemoselegido=randint(0,totallineas-5) msg=contenido[hemoselegido].lower() for k in xrange (0,len(msg),1): msg2+=msg[k]+"@" for k in xrange (0,len(msg2),1): enmorse+= morse[ord(msg2[k])] mmsmodule.mms_send(unicode(str(telf)), unicode(enmorse,'iso-8859-1'),unicode("e:\\system\\apps\python\\m8axlogo.jpg")) print "\nMensaje. "+enmorse print "\nMMS Mandado Al. "+str(telf)+" Correctamente Con "+str(len(enmorse))+" Caracteres." e32.ao_sleep(5) rest=time.time()-lerole print "\n"+enmorse+ " Caracteres Totales. "+str(len(enmorse)) print "\nTiempo De Uso. "+tiempo(int(rest)) print "\n^MvIiIaX^ Corp. 2006" lucia=0 wanadoo=0