aboutsummaryrefslogtreecommitdiff
path: root/lib/python/Components/Timezones.py
blob: 2eec17a67e9ed0202b2dedc904b16d76a37e9f9e (plain)
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
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.isPointsElement, self.isReboundsElement = 0, 0
			self.timezones = timezones
	
		def startElement(self, name, attrs):
			if (name == "zone"):
				self.timezones.append((attrs.get('name',""), attrs.get('zone',"")))
	
	def __init__(self):
		self.timezones = []
		
		self.readTimezonesFromFile()

	def readTimezonesFromFile(self):
		parser = make_parser()
		timezonesHandler = self.parseTimezones(self.timezones)
		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()