-import os, stat
+import os, stat, time
from subprocess import Popen
class alert:
self.embedded = lambda:None
self.format = 'cmd'
- self.timeout = None
self.owner = owner
try:
self.mode = os.readlink("/etc/alert/normal")
def get_name(self):
return 'mode: ' + self.mode
+class discrete:
+ """allow entering discrete mode for some period of
+ time. This creates /data/rules.d/99-discrete.
+ Buttons are: 'clear' '10m' '1hr'.
+ Times add to the current discression
+ """
+ def __init__(self, name, owner):
+ self.embedded = lambda:None
+ self.format = 'cmd'
+ self.owner = owner
+ self.check_status()
+
+ def get_name(self):
+ now = time.time() - 30
+ if self.end < now:
+ return "Discrete: off"
+ dur = int((self.end - now)/60)
+ if dur < 90:
+ return "Discrete: %d mins" % dur
+ return "Discrete: %d:%02d" % (int(dur/60), dur%60)
+
+ def buttons(self):
+ return ['Clear','+10m','+1hr']
+
+ def check_status(self):
+ self.end = 0
+ try:
+ f = open("/data/rules.d/99-discrete")
+ l = f.readline()
+ start = os.fstat(f.fileno()).st_mtime
+ f.close()
+ if len(l) > 1 and l[0] == '<':
+ a = l[1:].split(':')
+ self.end = start + int(a[0].strip())*60 + 30
+ except:
+ pass
+
+ def set_status(self, offset):
+ self.check_status()
+ if self.end < self.now:
+ self.end = self.now
+ if offset == 0:
+ self.end = 0
+ else:
+ self.end += offset * 60
+ try:
+ if self.end == 0:
+ os.unlink("/data/rules.d/99-discrete")
+ else:
+ f = open("/data/rules.d/99-discrete","w")
+ f.write('<%d : volume=0\n' % ((self.end - self.now)/60))
+ f.close()
+ except:
+ pass
+
+ def press(self, ind):
+ self.now = time.time()
+ if ind == 0:
+ self.set_status(0)
+ if ind == 1:
+ self.set_status(10)
+ if ind == 2:
+ self.set_status(60)
+ self.owner.queue_draw()
class gsmmode:
def __init__(self, name, owner):
self.embedded = lambda:None
self.format = 'cmd'
- self.timeout = None
self.owner = owner
try:
fd = open("/var/lib/misc/gsm/mode")
def __init__(self,name, owner):
self.embedded = lambda:None
self.format = 'cmd'
- self.timeout = None
self.owner = owner
self.mode = '??'
self.names = ['Normal','Left','Invert','Right']
def __init__(self, name, owner):
self.embedded = lambda:None
self.format = 'cmd'
- self.timeout = None
self.owner = owner
try:
fd = open("/sys/kernel/debug/pm_debug/enable_off_mode")