diff options
author | Alexander Sulfrian <alexander@sulfrian.net> | 2013-07-25 19:26:52 +0200 |
---|---|---|
committer | Alexander Sulfrian <alexander@sulfrian.net> | 2015-12-03 03:29:37 +0100 |
commit | f3b86ed2d5bce85b3b9c27eb949cd88cf7d526bc (patch) | |
tree | a187725f5ec7f1c67d2b9a471b4000ad40a16b04 /modules/clock.py | |
parent | 4b905606692a2f147946505abe6ade1c241d1000 (diff) | |
download | bot-f3b86ed2d5bce85b3b9c27eb949cd88cf7d526bc.tar.gz bot-f3b86ed2d5bce85b3b9c27eb949cd88cf7d526bc.tar.bz2 bot-f3b86ed2d5bce85b3b9c27eb949cd88cf7d526bc.zip |
fix indentation and trailing whitespaces
Diffstat (limited to 'modules/clock.py')
-rwxr-xr-x | modules/clock.py | 494 |
1 files changed, 247 insertions, 247 deletions
diff --git a/modules/clock.py b/modules/clock.py index 91f2d5b..e0c237c 100755 --- a/modules/clock.py +++ b/modules/clock.py @@ -11,180 +11,180 @@ import re, math, time, urllib, locale, socket, struct, datetime from decimal import Decimal as dec from tools import deprecated -TimeZones = {'KST': 9, 'CADT': 10.5, 'EETDST': 3, 'MESZ': 2, 'WADT': 9, - 'EET': 2, 'MST': -7, 'WAST': 8, 'IST': 5.5, 'B': 2, - 'MSK': 3, 'X': -11, 'MSD': 4, 'CETDST': 2, 'AST': -4, - 'HKT': 8, 'JST': 9, 'CAST': 9.5, 'CET': 1, 'CEST': 2, - 'EEST': 3, 'EAST': 10, 'METDST': 2, 'MDT': -6, 'A': 1, - 'UTC': 0, 'ADT': -3, 'EST': -5, 'E': 5, 'D': 4, 'G': 7, - 'F': 6, 'I': 9, 'H': 8, 'K': 10, 'PDT': -7, 'M': 12, - 'L': 11, 'O': -2, 'MEST': 2, 'Q': -4, 'P': -3, 'S': -6, - 'R': -5, 'U': -8, 'T': -7, 'W': -10, 'WET': 0, 'Y': -12, - 'CST': -6, 'EADT': 11, 'Z': 0, 'GMT': 0, 'WETDST': 1, - 'C': 3, 'WEST': 1, 'CDT': -5, 'MET': 1, 'N': -1, 'V': -9, - 'EDT': -4, 'UT': 0, 'PST': -8, 'MEZ': 1, 'BST': 1, - 'ACS': 9.5, 'ATL': -4, 'ALA': -9, 'HAW': -10, 'AKDT': -8, - 'AKST': -9, - 'BDST': 2} +TimeZones = {'KST': 9, 'CADT': 10.5, 'EETDST': 3, 'MESZ': 2, 'WADT': 9, + 'EET': 2, 'MST': -7, 'WAST': 8, 'IST': 5.5, 'B': 2, + 'MSK': 3, 'X': -11, 'MSD': 4, 'CETDST': 2, 'AST': -4, + 'HKT': 8, 'JST': 9, 'CAST': 9.5, 'CET': 1, 'CEST': 2, + 'EEST': 3, 'EAST': 10, 'METDST': 2, 'MDT': -6, 'A': 1, + 'UTC': 0, 'ADT': -3, 'EST': -5, 'E': 5, 'D': 4, 'G': 7, + 'F': 6, 'I': 9, 'H': 8, 'K': 10, 'PDT': -7, 'M': 12, + 'L': 11, 'O': -2, 'MEST': 2, 'Q': -4, 'P': -3, 'S': -6, + 'R': -5, 'U': -8, 'T': -7, 'W': -10, 'WET': 0, 'Y': -12, + 'CST': -6, 'EADT': 11, 'Z': 0, 'GMT': 0, 'WETDST': 1, + 'C': 3, 'WEST': 1, 'CDT': -5, 'MET': 1, 'N': -1, 'V': -9, + 'EDT': -4, 'UT': 0, 'PST': -8, 'MEZ': 1, 'BST': 1, + 'ACS': 9.5, 'ATL': -4, 'ALA': -9, 'HAW': -10, 'AKDT': -8, + 'AKST': -9, + 'BDST': 2} TZ1 = { - 'NDT': -2.5, - 'BRST': -2, - 'ADT': -3, - 'EDT': -4, - 'CDT': -5, - 'MDT': -6, - 'PDT': -7, - 'YDT': -8, - 'HDT': -9, - 'BST': 1, - 'MEST': 2, - 'SST': 2, - 'FST': 2, - 'CEST': 2, - 'EEST': 3, - 'WADT': 8, - 'KDT': 10, - 'EADT': 13, - 'NZD': 13, - 'NZDT': 13, - 'GMT': 0, - 'UT': 0, - 'UTC': 0, - 'WET': 0, - 'WAT': -1, - 'AT': -2, - 'FNT': -2, - 'BRT': -3, - 'MNT': -4, - 'EWT': -4, - 'AST': -4, - 'EST': -5, - 'ACT': -5, - 'CST': -6, - 'MST': -7, - 'PST': -8, - 'YST': -9, - 'HST': -10, - 'CAT': -10, - 'AHST': -10, - 'NT': -11, - 'IDLW': -12, - 'CET': 1, - 'MEZ': 1, - 'ECT': 1, - 'MET': 1, - 'MEWT': 1, - 'SWT': 1, - 'SET': 1, - 'FWT': 1, - 'EET': 2, - 'UKR': 2, - 'BT': 3, - 'ZP4': 4, - 'ZP5': 5, - 'ZP6': 6, - 'WST': 8, - 'HKT': 8, - 'CCT': 8, - 'JST': 9, - 'KST': 9, - 'EAST': 10, - 'GST': 10, - 'NZT': 12, - 'NZST': 12, + 'NDT': -2.5, + 'BRST': -2, + 'ADT': -3, + 'EDT': -4, + 'CDT': -5, + 'MDT': -6, + 'PDT': -7, + 'YDT': -8, + 'HDT': -9, + 'BST': 1, + 'MEST': 2, + 'SST': 2, + 'FST': 2, + 'CEST': 2, + 'EEST': 3, + 'WADT': 8, + 'KDT': 10, + 'EADT': 13, + 'NZD': 13, + 'NZDT': 13, + 'GMT': 0, + 'UT': 0, + 'UTC': 0, + 'WET': 0, + 'WAT': -1, + 'AT': -2, + 'FNT': -2, + 'BRT': -3, + 'MNT': -4, + 'EWT': -4, + 'AST': -4, + 'EST': -5, + 'ACT': -5, + 'CST': -6, + 'MST': -7, + 'PST': -8, + 'YST': -9, + 'HST': -10, + 'CAT': -10, + 'AHST': -10, + 'NT': -11, + 'IDLW': -12, + 'CET': 1, + 'MEZ': 1, + 'ECT': 1, + 'MET': 1, + 'MEWT': 1, + 'SWT': 1, + 'SET': 1, + 'FWT': 1, + 'EET': 2, + 'UKR': 2, + 'BT': 3, + 'ZP4': 4, + 'ZP5': 5, + 'ZP6': 6, + 'WST': 8, + 'HKT': 8, + 'CCT': 8, + 'JST': 9, + 'KST': 9, + 'EAST': 10, + 'GST': 10, + 'NZT': 12, + 'NZST': 12, 'IDLE': 12 } TZ2 = { - 'ACDT': 10.5, - 'ACST': 9.5, - 'ADT': 3, + 'ACDT': 10.5, + 'ACST': 9.5, + 'ADT': 3, 'AEDT': 11, # hmm 'AEST': 10, # hmm - 'AHDT': 9, - 'AHST': 10, - 'AST': 4, - 'AT': 2, - 'AWDT': -9, - 'AWST': -8, - 'BAT': -3, - 'BDST': -2, - 'BET': 11, - 'BST': -1, - 'BT': -3, - 'BZT2': 3, - 'CADT': -10.5, - 'CAST': -9.5, - 'CAT': 10, - 'CCT': -8, - # 'CDT': 5, - 'CED': -2, - 'CET': -1, - 'CST': 6, - 'EAST': -10, - # 'EDT': 4, - 'EED': -3, - 'EET': -2, - 'EEST': -3, - 'EST': 5, - 'FST': -2, - 'FWT': -1, - 'GMT': 0, - 'GST': -10, - 'HDT': 9, - 'HST': 10, - 'IDLE': -12, - 'IDLW': 12, - # 'IST': -5.5, - 'IT': -3.5, - 'JST': -9, - 'JT': -7, - 'KST': -9, - 'MDT': 6, - 'MED': -2, - 'MET': -1, - 'MEST': -2, - 'MEWT': -1, - 'MST': 7, - 'MT': -8, - 'NDT': 2.5, - 'NFT': 3.5, - 'NT': 11, - 'NST': -6.5, - 'NZ': -11, - 'NZST': -12, - 'NZDT': -13, - 'NZT': -12, - # 'PDT': 7, - 'PST': 8, - 'ROK': -9, - 'SAD': -10, - 'SAST': -9, - 'SAT': -9, - 'SDT': -10, - 'SST': -2, - 'SWT': -1, - 'USZ3': -4, - 'USZ4': -5, - 'USZ5': -6, - 'USZ6': -7, - 'UT': 0, - 'UTC': 0, - 'UZ10': -11, - 'WAT': 1, - 'WET': 0, - 'WST': -8, - 'YDT': 8, - 'YST': 9, - 'ZP4': -4, - 'ZP5': -5, + 'AHDT': 9, + 'AHST': 10, + 'AST': 4, + 'AT': 2, + 'AWDT': -9, + 'AWST': -8, + 'BAT': -3, + 'BDST': -2, + 'BET': 11, + 'BST': -1, + 'BT': -3, + 'BZT2': 3, + 'CADT': -10.5, + 'CAST': -9.5, + 'CAT': 10, + 'CCT': -8, + # 'CDT': 5, + 'CED': -2, + 'CET': -1, + 'CST': 6, + 'EAST': -10, + # 'EDT': 4, + 'EED': -3, + 'EET': -2, + 'EEST': -3, + 'EST': 5, + 'FST': -2, + 'FWT': -1, + 'GMT': 0, + 'GST': -10, + 'HDT': 9, + 'HST': 10, + 'IDLE': -12, + 'IDLW': 12, + # 'IST': -5.5, + 'IT': -3.5, + 'JST': -9, + 'JT': -7, + 'KST': -9, + 'MDT': 6, + 'MED': -2, + 'MET': -1, + 'MEST': -2, + 'MEWT': -1, + 'MST': 7, + 'MT': -8, + 'NDT': 2.5, + 'NFT': 3.5, + 'NT': 11, + 'NST': -6.5, + 'NZ': -11, + 'NZST': -12, + 'NZDT': -13, + 'NZT': -12, + # 'PDT': 7, + 'PST': 8, + 'ROK': -9, + 'SAD': -10, + 'SAST': -9, + 'SAT': -9, + 'SDT': -10, + 'SST': -2, + 'SWT': -1, + 'USZ3': -4, + 'USZ4': -5, + 'USZ5': -6, + 'USZ6': -7, + 'UT': 0, + 'UTC': 0, + 'UZ10': -11, + 'WAT': 1, + 'WET': 0, + 'WST': -8, + 'YDT': 8, + 'YST': 9, + 'ZP4': -4, + 'ZP5': -5, 'ZP6': -6 } TZ3 = { - 'AEST': 10, - 'AEDT': 11 + 'AEST': 10, + 'AEDT': 11 } # TimeZones.update(TZ2) # do these have to be negated? @@ -194,109 +194,109 @@ TimeZones.update(TZ3) r_local = re.compile(r'\([a-z]+_[A-Z]+\)') @deprecated -def f_time(self, origin, match, args): - """Returns the current time.""" - tz = match.group(2) or 'GMT' +def f_time(self, origin, match, args): + """Returns the current time.""" + tz = match.group(2) or 'GMT' - # Personal time zones, because they're rad - if hasattr(self.config, 'timezones'): - People = self.config.timezones - else: People = {} + # Personal time zones, because they're rad + if hasattr(self.config, 'timezones'): + People = self.config.timezones + else: People = {} - if People.has_key(tz): - tz = People[tz] - elif (not match.group(2)) and People.has_key(origin.nick): - tz = People[origin.nick] + if People.has_key(tz): + tz = People[tz] + elif (not match.group(2)) and People.has_key(origin.nick): + tz = People[origin.nick] - TZ = tz.upper() - if len(tz) > 30: return + TZ = tz.upper() + if len(tz) > 30: return - if (TZ == 'UTC') or (TZ == 'Z'): - msg = time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()) - self.msg(origin.sender, msg) - elif r_local.match(tz): # thanks to Mark Shoulsdon (clsn) - locale.setlocale(locale.LC_TIME, (tz[1:-1], 'UTF-8')) - msg = time.strftime("%A, %d %B %Y %H:%M:%SZ", time.gmtime()) - self.msg(origin.sender, msg) - elif TimeZones.has_key(TZ): - offset = TimeZones[TZ] * 3600 - timenow = time.gmtime(time.time() + offset) - msg = time.strftime("%a, %d %b %Y %H:%M:%S " + str(TZ), timenow) - self.msg(origin.sender, msg) - elif tz and tz[0] in ('+', '-') and 4 <= len(tz) <= 6: - timenow = time.gmtime(time.time() + (int(tz[:3]) * 3600)) - msg = time.strftime("%a, %d %b %Y %H:%M:%S " + str(tz), timenow) - self.msg(origin.sender, msg) - else: - try: t = float(tz) - except ValueError: - import os, re, subprocess - r_tz = re.compile(r'^[A-Za-z]+(?:/[A-Za-z_]+)*$') - if r_tz.match(tz) and os.path.isfile('/usr/share/zoneinfo/' + tz): - cmd, PIPE = 'TZ=%s date' % tz, subprocess.PIPE - proc = subprocess.Popen(cmd, shell=True, stdout=PIPE) - self.msg(origin.sender, proc.communicate()[0]) - else: - error = "Sorry, I don't know about the '%s' timezone." % tz - self.msg(origin.sender, origin.nick + ': ' + error) - else: - timenow = time.gmtime(time.time() + (t * 3600)) - msg = time.strftime("%a, %d %b %Y %H:%M:%S " + str(tz), timenow) - self.msg(origin.sender, msg) + if (TZ == 'UTC') or (TZ == 'Z'): + msg = time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()) + self.msg(origin.sender, msg) + elif r_local.match(tz): # thanks to Mark Shoulsdon (clsn) + locale.setlocale(locale.LC_TIME, (tz[1:-1], 'UTF-8')) + msg = time.strftime("%A, %d %B %Y %H:%M:%SZ", time.gmtime()) + self.msg(origin.sender, msg) + elif TimeZones.has_key(TZ): + offset = TimeZones[TZ] * 3600 + timenow = time.gmtime(time.time() + offset) + msg = time.strftime("%a, %d %b %Y %H:%M:%S " + str(TZ), timenow) + self.msg(origin.sender, msg) + elif tz and tz[0] in ('+', '-') and 4 <= len(tz) <= 6: + timenow = time.gmtime(time.time() + (int(tz[:3]) * 3600)) + msg = time.strftime("%a, %d %b %Y %H:%M:%S " + str(tz), timenow) + self.msg(origin.sender, msg) + else: + try: t = float(tz) + except ValueError: + import os, re, subprocess + r_tz = re.compile(r'^[A-Za-z]+(?:/[A-Za-z_]+)*$') + if r_tz.match(tz) and os.path.isfile('/usr/share/zoneinfo/' + tz): + cmd, PIPE = 'TZ=%s date' % tz, subprocess.PIPE + proc = subprocess.Popen(cmd, shell=True, stdout=PIPE) + self.msg(origin.sender, proc.communicate()[0]) + else: + error = "Sorry, I don't know about the '%s' timezone." % tz + self.msg(origin.sender, origin.nick + ': ' + error) + else: + timenow = time.gmtime(time.time() + (t * 3600)) + msg = time.strftime("%a, %d %b %Y %H:%M:%S " + str(tz), timenow) + self.msg(origin.sender, msg) f_time.commands = ['t'] f_time.name = 't' f_time.example = '.t UTC' -def beats(phenny, input): - """Shows the internet time in Swatch beats.""" - beats = ((time.time() + 3600) % 86400) / 86.4 - beats = int(math.floor(beats)) - phenny.say('@%03i' % beats) +def beats(phenny, input): + """Shows the internet time in Swatch beats.""" + beats = ((time.time() + 3600) % 86400) / 86.4 + beats = int(math.floor(beats)) + phenny.say('@%03i' % beats) beats.commands = ['beats'] beats.priority = 'low' -def divide(input, by): - return (input / by), (input % by) +def divide(input, by): + return (input / by), (input % by) -def yi(phenny, input): - """Shows whether it is currently yi or not.""" - quadraels, remainder = divide(int(time.time()), 1753200) - raels = quadraels * 4 - extraraels, remainder = divide(remainder, 432000) - if extraraels == 4: - return phenny.say('Yes! PARTAI!') - else: phenny.say('Not yet...') +def yi(phenny, input): + """Shows whether it is currently yi or not.""" + quadraels, remainder = divide(int(time.time()), 1753200) + raels = quadraels * 4 + extraraels, remainder = divide(remainder, 432000) + if extraraels == 4: + return phenny.say('Yes! PARTAI!') + else: phenny.say('Not yet...') yi.commands = ['yi'] yi.priority = 'low' -def tock(phenny, input): - """Shows the time from the USNO's atomic clock.""" - u = urllib.urlopen('http://tycho.usno.navy.mil/cgi-bin/timer.pl') - info = u.info() - u.close() - phenny.say('"' + info['Date'] + '" - tycho.usno.navy.mil') +def tock(phenny, input): + """Shows the time from the USNO's atomic clock.""" + u = urllib.urlopen('http://tycho.usno.navy.mil/cgi-bin/timer.pl') + info = u.info() + u.close() + phenny.say('"' + info['Date'] + '" - tycho.usno.navy.mil') tock.commands = ['tock'] tock.priority = 'high' -def npl(phenny, input): - """Shows the time from NPL's SNTP server.""" - # for server in ('ntp1.npl.co.uk', 'ntp2.npl.co.uk'): - client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) - client.sendto('\x1b' + 47 * '\0', ('ntp1.npl.co.uk', 123)) - data, address = client.recvfrom(1024) - if data: - buf = struct.unpack('B' * 48, data) - d = dec('0.0') - for i in range(8): - d += dec(buf[32 + i]) * dec(str(math.pow(2, (3 - i) * 8))) - d -= dec(2208988800L) - a, b = str(d).split('.') - f = '%Y-%m-%d %H:%M:%S' - result = datetime.datetime.fromtimestamp(d).strftime(f) + '.' + b[:6] - phenny.say(result + ' - ntp1.npl.co.uk') - else: phenny.say('No data received, sorry') +def npl(phenny, input): + """Shows the time from NPL's SNTP server.""" + # for server in ('ntp1.npl.co.uk', 'ntp2.npl.co.uk'): + client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + client.sendto('\x1b' + 47 * '\0', ('ntp1.npl.co.uk', 123)) + data, address = client.recvfrom(1024) + if data: + buf = struct.unpack('B' * 48, data) + d = dec('0.0') + for i in range(8): + d += dec(buf[32 + i]) * dec(str(math.pow(2, (3 - i) * 8))) + d -= dec(2208988800L) + a, b = str(d).split('.') + f = '%Y-%m-%d %H:%M:%S' + result = datetime.datetime.fromtimestamp(d).strftime(f) + '.' + b[:6] + phenny.say(result + ' - ntp1.npl.co.uk') + else: phenny.say('No data received, sorry') npl.commands = ['npl'] npl.priority = 'high' -if __name__ == '__main__': - print __doc__.strip() +if __name__ == '__main__': + print __doc__.strip() |