dstat_ntp.py (dstat-0.7.3) | : | dstat_ntp.py (dstat-0.7.4) | ||
---|---|---|---|---|
skipping to change at line 31 | skipping to change at line 31 | |||
def __init__(self): | def __init__(self): | |||
self.name = 'ntp' | self.name = 'ntp' | |||
self.nick = ('date/time',) | self.nick = ('date/time',) | |||
self.vars = ('time',) | self.vars = ('time',) | |||
self.timefmt = os.getenv('DSTAT_TIMEFMT') or '%d-%m %H:%M:%S' | self.timefmt = os.getenv('DSTAT_TIMEFMT') or '%d-%m %H:%M:%S' | |||
self.ntpserver = os.getenv('DSTAT_NTPSERVER') or '0.fedora.pool.ntp.org' | self.ntpserver = os.getenv('DSTAT_NTPSERVER') or '0.fedora.pool.ntp.org' | |||
self.type = 's' | self.type = 's' | |||
self.width = len(time.strftime(self.timefmt, time.localtime())) | self.width = len(time.strftime(self.timefmt, time.localtime())) | |||
self.scale = 0 | self.scale = 0 | |||
self.epoch = 2208988800L | self.epoch = 2208988800 | |||
# socket.setdefaulttimeout(0.25) | # socket.setdefaulttimeout(0.25) | |||
self.socket = socket.socket( socket.AF_INET, socket.SOCK_DGRAM ) | self.socket = socket.socket( socket.AF_INET, socket.SOCK_DGRAM ) | |||
self.socket.settimeout(0.25) | self.socket.settimeout(0.25) | |||
def gettime(self): | def gettime(self): | |||
self.socket.sendto( '\x1b' + 47 * '\0', ( self.ntpserver, 123 )) | self.socket.sendto( '\x1b' + 47 * '\0', ( self.ntpserver, 123 )) | |||
data, address = self.socket.recvfrom(1024) | data, address = self.socket.recvfrom(1024) | |||
return struct.unpack( '!12I', data )[10] - self.epoch | return struct.unpack( '!12I', data )[10] - self.epoch | |||
def check(self): | def check(self): | |||
try: | try: | |||
self.gettime() | self.gettime() | |||
except socket.gaierror: | except socket.gaierror: | |||
raise Exception, 'Failed to connect to NTP server %s.' % self.ntpser ver | raise Exception('Failed to connect to NTP server %s.' % self.ntpserv er) | |||
except socket.error: | except socket.error: | |||
raise Exception, 'Error connecting to NTP server %s.' % self.ntpserv er | raise Exception('Error connecting to NTP server %s.' % self.ntpserve r) | |||
def extract(self): | def extract(self): | |||
try: | try: | |||
self.val['time'] = time.strftime(self.timefmt, time.localtime(self.g ettime())) | self.val['time'] = time.strftime(self.timefmt, time.localtime(self.g ettime())) | |||
except: | except: | |||
self.val['time'] = theme['error'] + '-'.rjust(self.width-1) + ' ' | self.val['time'] = theme['error'] + '-'.rjust(self.width-1) + ' ' | |||
def showcsv(self): | def showcsv(self): | |||
return time.strftime(self.timefmt, time.localtime(self.gettime())) | return time.strftime(self.timefmt, time.localtime(self.gettime())) | |||
End of changes. 3 change blocks. | ||||
3 lines changed or deleted | 3 lines changed or added |