Durante unas cuantas horas estuvimos buscando como hacer que Orca pueda reproducir la fecha y hora actual del sistema y lamentablemente no encontramos un solución a esta inquietud.
Para dar una solución a esté problema y déspues de realizar una busqueda en la red encontramos un script útil el cual personalizamos a nuestras necesidades, aqui les dejamos el código:
#!/usr/local/bin/python
# coding: latin-1
import orca.input_event
import orca.keybindings
import orca.orca
import orca.speech
import orca.braille
import re
import os, sys
import datetime
import time
from datetime import timedelta
myKeyBindings = orca.keybindings.KeyBindings()
#Esta función envia la fecha y hora del sistema a orca.
def sayTime(script, inputEvent=None):
message = infodia()
orca.speech.speak(message)
orca.braille.displayMessage(message)
return True
#Esta función retorna la fecha y hora del sistema a un formato mas completo y entendible.
def infodia():
dias = ['Lunes','Martes','Miércoles','Jueves','Viernes','Sábado','Domingo']
meses = ['Enero','Febrero','Marzo','April','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre']
dia = time.strftime("%d/%m/%Y %H%M", time.localtime())
dia_semana = (datetime.date(int(dia[-9:-5]),int(dia[3:5]),int(dia[:2]))).weekday() + 1 #Día de la semana como número decimal (0,6), 0 = Lunes
dia_nombre = dias[int(dia_semana)-1] #Nombre del día, (Lunes, Domingo)
mes = time.strftime('%m') #Mes en formato decimal (01,12)
mes_nombre = meses[int(mes)-1] #Nombre del mes (Enero,Diciembre)
dia_mes = time.strftime('%d') #Día del mes como número decimal (01,31)
dia_anyo = time.strftime('%j') #Día del año como número decimal (001,366)
anyo = time.strftime('%Y') #Año como numero decimal de 4 digitos, (2008)
hora = time.strftime('%H') #Hora como numero decimal de 2 digitos, (00, 23)
minuto= time.strftime('%M') #Minuto como numero decimal (00, 59)
cad_hora=''
if hora<2:
cad_hora='la'
else:
cad_hora='las'
return "%(dia_nombre)s, %(dia_mes)s de %(mes_nombre)s del %(anyo)s %(cad_hora)s %(hora)s horas %(minuto)s minutos" % vars()
sayTimeHandler = orca.input_event.InputEventHandler(sayTime, "Hora Actual.")
myKeyBindings.add(orca.keybindings.KeyBinding(
"m", # "m" es la tecla que combinada con la tecla Insert permite reproducir la fecha y hora por Orca.
1 << orca.settings.MODIFIER_ORCA,
1 << orca.settings.MODIFIER_ORCA,
sayTimeHandler))
orca.settings.keyBindingsMap["default"] = myKeyBindings
Esta personalización se hizó para que Orca pueda leer la fecha y hora en el siguinte formato: "Miércoles, 07 de Enero del 2009 las 17 horas 28 minutos ".
Como verán el código no es muy optimo
pues es el primer borrador, pero FUNCIONA .
Para que orca pueda reproducir la fecha y hora en tu máquina debes:
1.- Crear un archivo en el directorio personal de la pc ejemplo /home/mimaquina/.orca/orca-customizations.py (no olvidar que muchas veces el directorio .orca esta como archivo oculto).
2.-Copiar el código de la parte superior en el archivo orca-customizations.py
3.- Reiniciar Orca.
4.- De acuerdo al código del script la combinación de teclas para reproducir la fecha y hora es:
'Insert + m'.
En este caso la tecla "m" puede ser remplazada por cualquier tecla como la tecla "v". Para realizar este cambio debes editar la línea con negrita.
myKeyBindings.add(orca.keybindings.KeyBinding(
"v", # "v" es la tecla que combinada con la tecla Insert permite reproducir la fecha y hora por Orca.
1 << orca.settings.MODIFIER_ORCA,
1 << orca.settings.MODIFIER_ORCA,
sayTimeHandler))
Para realizar la prueba del script se debe habilitar Orca desde el menú principal de "Sistema -->Preferencias -->Accesibilidad--> Preferencias de tecnologia de asistencia." (versión Ubuntu Bolivia, versión BoliviaOS), asumimos que es lo mismo en las distribuciones recientes de Ubuntu.
No olvidar que déspues de hacer la prueba deben deshabilitar "Activar las tecnologías de asistencia" en Preferencias de Tecnología de asistencia para evitar que cada vez que inicien su máquina también inicie Orca a menos que asi lo deseen.
Palabras clave: Accesibilidad, BoliviaOS, Orca, python, Ubuntu Bolivia