1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
# Copyright (C) 2010 Plan Ceibal <comunidad@plan.ceibal.edu.uy>
import os
import ConfigParser
import logging
from gi.repository import GObject
from jarabe.view.viewsource import setup_view_source
from sugar import env
if os.path.exists('/etc/debian_version'):
KEY='F8'
else:
KEY='F13'
PATH_VMG_CONFIG = os.environ['HOME'] + '/.magnifier.ini'
BOUND_KEYS = ['<shift>'+KEY, KEY, '<control>'+KEY]
def handle_key_press(key):
logger = logging.getLogger('magnifier')
logger.setLevel(logging.DEBUG)
logger.debug("Ejecutando magnifier......" + key)
if (key=='<shift>'+KEY):
set_ruta_archivo()
set_GraphicsTools()
if (key=='<control>'+KEY):
set_ruta_archivo()
set_InvertColors()
_run_cmd_async('launchVmg')
def get_GraphicsTools():
return leer_config('General', 'GraphicsTools')
def set_GraphicsTools():
grabar_config_GraphicsTools('General', 'GraphicsTools')
def grabar_config_GraphicsTools(encabezado, etiqueta):
parser = ConfigParser.ConfigParser()
parser.read(PATH_VMG_CONFIG)
val_old = get_GraphicsTools()
if val_old == '1':
parser.set(encabezado, etiqueta, '0')
arch = open(PATH_VMG_CONFIG, 'w')
parser.write(arch)
arch.close()
else:
parser.set(encabezado, etiqueta, '1')
arch = open(PATH_VMG_CONFIG, 'w')
parser.write(arch)
arch.close()
def get_InvertColors():
return leer_config('General', 'InvertColors')
def set_InvertColors():
grabar_config_InvertColors('General', 'InvertColors')
def grabar_config_InvertColors(encabezado, etiqueta):
parser = ConfigParser.ConfigParser()
parser.read(PATH_VMG_CONFIG)
val_old = get_InvertColors()
if val_old == '1':
parser.set(encabezado, etiqueta, '0')
arch = open(PATH_VMG_CONFIG, 'w')
parser.write(arch)
arch.close()
else:
parser.set(encabezado, etiqueta, '1')
arch = open(PATH_VMG_CONFIG, 'w')
parser.write(arch)
arch.close()
def leer_config(encabezado, etiqueta):
parser = ConfigParser.ConfigParser()
parser.read(PATH_VMG_CONFIG)
return parser.get(encabezado, etiqueta)
def set_ruta_archivo():
try:
f = file(PATH_VMG_CONFIG)
except:
PATH_VMG_CONFIG = "/root/.magnifier.ini"
def _run_cmd_async(cmd):
logger = logging.getLogger('magnifier')
logger.setLevel(logging.DEBUG)
try:
GObject.spawn_async([find_and_absolutize('launchVmg')])
logger.debug("Ejecuto magnifier")
except Exception, e:
logger.debug("Error ejecutando magnifier" + str(e))
def find_and_absolutize(script_name):
paths = env.os.environ['PATH'].split(':')
for path in paths:
looking_path = path + '/' + script_name
if env.os.path.isfile(looking_path):
return looking_path
return None
|