summaryrefslogtreecommitdiffstats
path: root/irssi_socket_control.py
diff options
context:
space:
mode:
authorFlorian Pritz <f-p@gmx.at>2009-03-04 18:07:08 +0100
committerFlorian Pritz <f-p@gmx.at>2009-03-04 18:07:08 +0100
commit220923ba24622d4b00846a485511745a3199b5b7 (patch)
treef3b8eba9e1a0433f91ee524d6f4069f1c86ee7ec /irssi_socket_control.py
parentc7c4d5a5520c4e9b8df793d661398b15b5f1b790 (diff)
downloadbin-220923ba24622d4b00846a485511745a3199b5b7.tar.gz
bin-220923ba24622d4b00846a485511745a3199b5b7.tar.xz
script to control away status in irssi
Diffstat (limited to 'irssi_socket_control.py')
-rwxr-xr-xirssi_socket_control.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/irssi_socket_control.py b/irssi_socket_control.py
new file mode 100755
index 0000000..a89ea9f
--- /dev/null
+++ b/irssi_socket_control.py
@@ -0,0 +1,40 @@
+#!/usr/bin/env python
+
+import socket
+import user
+import sys
+
+def smart_bool(s):
+ """
+ Converts many strings to booleans
+
+ from http://codecomments.wordpress.com/2008/04/08/converting-a-string-to-a-boolean-value-in-python/
+ """
+ if s is True or s is False:
+ return s
+ s = str(s).strip().lower()
+ return not s in ['false','f','n','0','']
+
+def handler(away):
+ s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
+
+ try:
+ s.connect(user.home + "/.irssi/socket")
+ except socket.error:
+ exit(1)
+
+ if away:
+ s.send("command /away afk")
+ else:
+ s.send("command /away")
+ s.close()
+
+def main():
+ try:
+ away = smart_bool(sys.argv[1])
+ except IndexError:
+ away=False
+ handler(away)
+
+if __name__ == '__main__':
+ main()