from Components.Timezones import timezones
def InitSetupDevices():
+
+ def timezoneNotifier(configElement):
+ timezones.activateTimezone(configElement.value)
+
config.timezone = ConfigSubsection();
- config.timezone.val = configElement("config.timezone.val", configSelection, 1, ("GMT", "GMT+1", "GMT+2", "GMT+3", "GMT+4", "GMT+5", "GMT+6", "GMT+7", "GMT+8", "GMT+9") );
+ config.timezone.val = configElement("config.timezone.val", configSelection, timezones.getDefaultTimezone(), timezones.getTimezoneList());
+ config.timezone.val.addNotifier(timezoneNotifier)
config.rc = ConfigSubsection();
config.rc.map = configElement("config.rc.map", configSelection, 0, ("Default", "Classic") );
from xml.sax import make_parser
from xml.sax.handler import ContentHandler
+import os
+import time
+
class Timezones:
class parseTimezones(ContentHandler):
def __init__(self, timezones):
self.timezones = timezones
def startElement(self, name, attrs):
- print "Name: " + str(name)
if (name == "zone"):
- self.timezones[attrs.get('name',"")] = attrs.get('zone',"")
- #print "found sat " + attrs.get('name',"") + " " + str(attrs.get('position',""))
- #tpos = attrs.get('position',"")
- #tname = attrs.get('name',"")
- #self.satellites[tpos] = tname
- #self.satList.append( (tname, tpos) )
- #self.parsedSat = int(tpos)
+ self.timezones.append((attrs.get('name',""), attrs.get('zone',"")))
def __init__(self):
- self.timezones = {}
+ self.timezones = []
self.readTimezonesFromFile()
parser.setContentHandler(timezonesHandler)
parser.parse('/etc/timezone.xml')
+ def activateTimezone(self, index):
+ os.environ['TZ'] = self.timezones[index][1]
+ # FIXME we need a tzset
+ #time.tzset()
+
+ def getTimezoneList(self):
+ list = []
+ for x in self.timezones:
+ list.append(str(x[0]))
+ return list
+
+ def getDefaultTimezone(self):
+ # TODO return something more useful - depending on country-settings?
+ return 27
timezones = Timezones()