Files
core/system/base/timezone/comar/clock.py
T
2015-02-24 11:18:35 +02:00

66 lines
1.6 KiB
Python

#!/usr/bin/python
# -*- coding: utf-8 -*-
import os
import time
import shutil
import cPickle
import subprocess
from hashlib import sha1
from pardus import csapi
# real script
tz_file = "/etc/localtime"
tz_info = "/etc/timezone"
tz_zones = "/usr/share/zoneinfo/"
tz_dict = "/usr/share/zoneinfo/zoneinfo.dict"
def getTimeZone():
if os.path.exists(tz_dict) and os.path.exists(tz_file):
tzdb = cPickle.Unpickler(open(tz_dict, "rb")).load()
tz = tzdb.get(sha1(open(tz_file, "r").read()).hexdigest(), "/etc/localtime doesn't exist.")
return tz
def setTimeZone(zone=None):
if zone:
# Check if zone is a valid one, if not skip this call
if not os.path.exists(os.path.join(tz_zones, zone)):
return 1
ret = subprocess.call(["/usr/sbin/zic", "-l", zone])
return ret
"""
if zone:
try:
if os.path.exists(tz_file):
os.unlink(tz_file)
except:
pass
# Copy the new TZ file to /etc/localtime
shutil.copy(os.path.join(tz_zones, zone), tz_file)
"""
def setDate(year=None, month=None, day=None, hour=None, minute=None, second=None):
new = list(time.localtime())
if year: new[0] = int(year)
if month: new[1] = int(month)
if day: new[2] = int(day)
if hour: new[3] = int(hour)
if minute: new[4] = int(minute)
if second: new[5] = int(second)
csapi.settimeofday(time.mktime(new))
def getDate():
return time.strftime("%Y %m %d %H %M %S %Z")
def saveToHW():
subprocess.call(["/sbin/hwclock", "--systohc"])
def loadFromHW():
subprocess.call(["/sbin/hwclock", "--hctosys"])