123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- #!/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"])
|