diff options
Diffstat (limited to '')
-rwxr-xr-x | mongoclock.py | 256 |
1 files changed, 0 insertions, 256 deletions
diff --git a/mongoclock.py b/mongoclock.py deleted file mode 100755 index 57fe6f4..0000000 --- a/mongoclock.py +++ /dev/null @@ -1,256 +0,0 @@ -#!/usr/bin/env python -# -# Copyright © 2013 Mattias Andrée (maandree@member.fsf.org) -# -# Copying and distribution of this file, with or without modification, -# are permitted in any medium without royalty provided the copyright -# notice and this notice are preserved. This file is offered as-is, -# without any warranty. [GNU All Permissive License] - -import os -import time -import sys -from subprocess import Popen, PIPE - -def awesome(list): - return [elem.replace('X', ' ').replace('[', '\033[07m ').replace(']', ' \033[00m') for elem in list] - - -MONGO_0 = [' [XXXX] ', - ' [XX] [XX] ', - '[XX] [XX] ', - '[XX] [XX] ', - '[XX] [XX] ', - '[XX] [] [XX] ', - '[XX] [] [XX] ', - '[XX] [XX] ', - '[XX] [XX] ', - '[XX] [XX] ', - ' [XX] [XX] ', - ' [XXXX] '] - -MONGO_1 = [' [XX] ', - ' [XXXX] ', - ' [XXXXXX] ', - ' [XX] ', - ' [XX] ', - ' [XX] ', - ' [XX] ', - ' [XX] ', - ' [XX] ', - ' [XX] ', - ' [XX] ', - ' [XXXXXXXXXX] '] - -MONGO_2 = [' [XXXXXXXX] ', - '[XX] [XX] ', - ' [XX] ', - ' [XX] ', - ' [XX] ', - ' [XX] ', - ' [XX] ', - ' [XX] ', - ' [XX] ', - '[XX] ', - '[XX] [XX] ', - '[XXXXXXXXXXXX] '] - -MONGO_3 = [' [XXXXXXXX] ', - '[XX] [XX] ', - ' [XX] ', - ' [XX] ', - ' [XX] ', - ' [XXXXXX] ', - ' [XX] ', - ' [XX] ', - ' [XX] ', - ' [XX] ', - '[XX] [XX] ', - ' [XXXXXXXX] '] - -MONGO_4 = [' [XX] ', - ' [XXXX] ', - ' [XXXXXX] ', - ' [XX] [XX] ', - '[XX] [XX] ', - '[XXXXXXXXXXXX] ', - ' [XX] ', - ' [XX] ', - ' [XX] ', - ' [XX] ', - ' [XX] ', - ' [XXXXXX] '] - -MONGO_5 = ['[XXXXXXXXXXXX] ', - '[XX] ', - '[XX] ', - '[XX] ', - '[XX] ', - '[XXXXXXXXXX] ', - ' [XX] ', - ' [XX] ', - ' [XX] ', - ' [XX] ', - '[XX] [XX] ', - ' [XXXXXXXX] '] - -MONGO_6 = [' [XXXX] ', - ' [XX] ', - ' [XX] ', - '[XX] ', - '[XX] ', - '[XXXXXXXXXX] ', - '[XX] [XX] ', - '[XX] [XX] ', - '[XX] [XX] ', - '[XX] [XX] ', - '[XX] [XX] ', - ' [XXXXXXXX] '] - -MONGO_7 = ['[XXXXXXXXXXXX] ', - '[XX] [XX] ', - ' [XX] ', - ' [XX] ', - ' [XX] ', - ' [XX] ', - ' [XX] ', - ' [XX] ', - ' [XX] ', - ' [XX] ', - ' [XX] ', - ' [XX] '] - -MONGO_8 = [' [XXXXXXXX] ', - '[XX] [XX] ', - '[XX] [XX] ', - '[XX] [XX] ', - '[XX] [XX] ', - ' [XXXXXXXX] ', - '[XX] [XX] ', - '[XX] [XX] ', - '[XX] [XX] ', - '[XX] [XX] ', - '[XX] [XX] ', - ' [XXXXXXXX] '] - -MONGO_9 = [' [XXXXXXXX] ', - '[XX] [XX] ', - '[XX] [XX] ', - '[XX] [XX] ', - '[XX] [XX] ', - ' [XXXXXXXXXX] ', - ' [XX] ', - ' [XX] ', - ' [XX] ', - ' [XX] ', - ' [XX] ', - ' [XXXX] '] - -MONGO__ = [' ', - ' ', - ' [XX] ', - ' [XX] ', - ' ', - ' ', - ' ', - ' ', - ' [XX] ', - ' [XX] ', - ' ', - ' '] - - -DX = len(MONGO_0[0]) -DC = len(MONGO__[0]) - - -MONGO_0 = awesome(MONGO_0) -MONGO_1 = awesome(MONGO_1) -MONGO_2 = awesome(MONGO_2) -MONGO_3 = awesome(MONGO_3) -MONGO_4 = awesome(MONGO_4) -MONGO_5 = awesome(MONGO_5) -MONGO_6 = awesome(MONGO_6) -MONGO_7 = awesome(MONGO_7) -MONGO_8 = awesome(MONGO_8) -MONGO_9 = awesome(MONGO_9) -MONGO__ = awesome(MONGO__) - - -def print_digit(digit, x, y): - d = MONGO__ - if digit == 0: d = MONGO_0 - elif digit == 1: d = MONGO_1 - elif digit == 2: d = MONGO_2 - elif digit == 3: d = MONGO_3 - elif digit == 4: d = MONGO_4 - elif digit == 5: d = MONGO_5 - elif digit == 6: d = MONGO_6 - elif digit == 7: d = MONGO_7 - elif digit == 8: d = MONGO_8 - elif digit == 9: d = MONGO_9 - x += 1 - for i in range(len(d)): - y += 1 - print("\033[%i;%iH%s" % (y, x, d[i])) - -def print_number(number, x, y): - print_digit(number // 10, x, y) - print_digit(number % 10, x + DX, y) - -def print_time(h, m, s, x, y): - print_number(h, x, y) - x += DX << 1 - print_digit(-1, x, y) - x += DC - print_number(m, x, y) - if s is not None: - x += DX << 1 - print_digit(-1, x, y) - x += DC - print_number(s, x, y) - -def get_print_width(has_seconds): - return DC + 4 * DX + ((DC + 2 * DX) if has_seconds else 0) - -def get_print_height(): - return len(MONGO_0) - -def get_print_offset(has_seconds): - (h, w) = get_dimensions() - return ((w - get_print_width(has_seconds)) // 2, (h - get_print_height()) // 2) - -def fits(has_seconds): - (h, w) = get_dimensions() - return (get_print_width(has_seconds) <= w) and (get_print_height() <= h) - -def get_dimensions(): - rc = Popen(['stty', 'size'], stdout = PIPE).communicate()[0] - rc = rc.decode('utf-8') - rc = rc.replace('\n', '').split(' ') - return [int(x) for x in rc] - - -if __name__ == '__main__': - val = None - if fits(True): - val = True - elif fits(False): - val = False - else: - print('Screen is too small') - exit(1) - (x, y) = get_print_offset(val) - last = (-1, -1, -1) - while True: - (h, m, s) = [int(x) for x in time.strftime('%H %M %S', time.localtime()).split(' ')] - if not val: - s = None - if h != last[0] or m != last[1] or s != last[2]: - print('\033[H\033[2J', end='') - print_time(h, m, s, x, y) - print('\033[1;1H', end='') - sys.stdout.flush() - last = (h, m, s) - time.sleep(0.1) - |