diff --git a/polybar/clock.py b/polybar/clock.py index 615d833..191074f 100755 --- a/polybar/clock.py +++ b/polybar/clock.py @@ -6,58 +6,62 @@ import time import pytz -if len(sys.argv) < 3: - print("Usage: {scriptname} timezone_left timezone_right".format(scriptname=sys.argv[0]), file=sys.stderr) - exit(1) - try: - tzleft = pytz.timezone(sys.argv[1]) - tzright = pytz.timezone(sys.argv[2]) -except pytz.exceptions.UnknownTimeZoneError as e: - print('Unknown time zone "{}"'.format(e.args[0]), file=sys.stderr) - exit(1) + if len(sys.argv) < 3: + print("Usage: {scriptname} timezone_left timezone_right".format(scriptname=sys.argv[0]), file=sys.stderr) + exit(1) + + try: + tzleft = pytz.timezone(sys.argv[1]) + tzright = pytz.timezone(sys.argv[2]) + except pytz.exceptions.UnknownTimeZoneError as e: + print('Unknown time zone "{}"'.format(e.args[0]), file=sys.stderr) + exit(1) -faces = "🕛🕧🕐🕜🕑🕝🕒🕞🕓🕟🕔🕠🕕🕡🕖🕢🕗🕣🕘🕤🕙🕥🕚🕦" + faces = "🕛🕧🕐🕜🕑🕝🕒🕞🕓🕟🕔🕠🕕🕡🕖🕢🕗🕣🕘🕤🕙🕥🕚🕦🕛" -def face_for(t): - minute = (t.minute + 15) // 30 - hour = (t.hour + 0 if minute < 45 else 1) % 12 + def face_for(t): + minute = (t.minute + 15) // 30 + hour = (t.hour + 0 if minute < 45 else 1) % 12 - return faces[2*hour + minute] + return faces[2*hour + minute] -def color_for(t): - if t.hour < 5 or t.hour > 22: - return "888" - elif t.hour < 10: - return "DB9" - elif t.hour < 14: - return "DDB" - elif t.hour < 19: - return "DDD" - else: - return "D9B" + def color_for(t): + if t.hour < 5 or t.hour > 22: + return "888" + elif t.hour < 10: + return "DB9" + elif t.hour < 14: + return "DDB" + elif t.hour < 19: + return "DDD" + else: + return "D9B" -while True: - utcnow = datetime.now(tz=pytz.utc) - localnow = datetime.now() - leftnow = utcnow.astimezone(tzleft ) - rightnow = utcnow.astimezone(tzright) - print( - "%{T2}%{F#" + color_for(leftnow) + "}" + - face_for(leftnow) + - "%{F}%{T-} " + + while True: + utcnow = datetime.now(tz=pytz.utc) + localnow = datetime.now() + leftnow = utcnow.astimezone(tzleft ) + rightnow = utcnow.astimezone(tzright) + print( + "%{T2}%{F#" + color_for(leftnow) + "}" + + face_for(leftnow) + + "%{F}%{T-} " + - localnow.strftime("%A %%{T4}%%{F"+color_for(localnow)+"}%H:%M%%{F}%%{T-} %d %b") + + localnow.strftime("%A %%{T4}%%{F"+color_for(localnow)+"}%H:%M%%{F}%%{T-} %d %b") + - " %{T2}%{F#" + color_for(rightnow) + "}" + - face_for(rightnow) + - "%{F}%{T-}", + " %{T2}%{F#" + color_for(rightnow) + "}" + + face_for(rightnow) + + "%{F}%{T-}", - flush = True - ) + flush = True + ) - delay = 60 - localnow.second - (localnow.microsecond * 10e-7) - time.sleep(delay) + delay = 60 - localnow.second - (localnow.microsecond * 10e-7) + time.sleep(delay) + +except Exception as e: + print(e, file=sys.stderr)