-
Notifications
You must be signed in to change notification settings - Fork 228
/
Copy pathalternatetz.py
61 lines (52 loc) · 1.96 KB
/
alternatetz.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# -*- coding: utf-8 -*-
#
# Copyright (C) 2010 Chmouel Boudjnah <chmouel@chmouel.com>
# Copyright (C) 2012-2013 bwidawsk <ben@bwidawsk.net>
# License: GPL3
#
# plugin to get alternate timezones in a weechat bar
#
# Changelog:
# 0.4 Sébastien Helleu <flashcode@flashtux.org>
# Remove trailing tabs
# 0.3 Pol Van Aubel <dev@polvanaubel.com>
# Fix tab/space usage for Python3 compatibility
# 0.2 Added help, and multiple timezeones
# 0.1 first version
#
import weechat as w
import pytz
import datetime
SCRIPT_NAME = "alternatetz"
SCRIPT_AUTHOR = "Chmouel Boudjnah <chmouel@chmouel.com>"
SCRIPT_VERSION = "0.4"
SCRIPT_LICENSE = "GPL3"
SCRIPT_DESC = "Display Alternate Time from different Timezones"
SCRIPT_COMMAND = 'alternatetz'
OPTIONS = {
'timezone': ('GMT', 'list of timezones to display. The list is comprised of space separated list timezones using the Olson tz database'),
'timeformat': ('%H:%M', 'strftime compatible format')
}
def alternatetz_item_cb(*kwargs):
ret = ''
tznames = OPTIONS['timezone'].split()
for tzname in tznames:
tz = pytz.timezone(tzname)
ret += tz.zone + ': ' + datetime.datetime.now(tz).strftime(OPTIONS['timeformat']) + ' '
return ret[:-1]
def alternatetz_timer_cb(*kwargs):
w.bar_item_update('alternatetz')
return w.WEECHAT_RC_OK
if __name__ == '__main__':
w.register(SCRIPT_NAME, SCRIPT_AUTHOR, SCRIPT_VERSION, SCRIPT_LICENSE, SCRIPT_DESC, '', '')
for option,value in list(OPTIONS.items()):
w.config_set_desc_plugin(option, '%s (default: "%s")' % (value[1], value[0]))
if not w.config_is_set_plugin(option):
w.config_set_plugin(option, value[0])
OPTIONS[option] = value[0]
else:
OPTIONS[option] = w.config_get_plugin(option)
w.bar_item_new('alternatetz', 'alternatetz_item_cb', '')
w.bar_item_update('alternatetz')
w.hook_timer(1000*60, 60, 0, 'alternatetz_timer_cb', '')
# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4