irk: bail out early on connection errors
[irker.git] / irk
diff --git a/irk b/irk
index 4815db101fd12f0d8a623f8ec18b1f35c7672fc4..1138a0677c90009da4e4818edab1d1f4b2c4570f 100755 (executable)
--- a/irk
+++ b/irk
@@ -12,14 +12,19 @@ import socket
 import sys
 import fileinput
 
-def send(target, message):
+def send(s, target, message):
     data = {"to": target, "privmsg" : message}
-    print(json.dumps(data))
+    #print(json.dumps(data))
     try:
-        s = socket.create_connection(("localhost", 6659))
         s.sendall(json.dumps(data))
     except socket.error, e:
-        sys.stderr.write("irkerd: server launch failed: %r\n" % e)
+        sys.stderr.write("irk: write to server failed: %r\n" % e)
+
+try:
+    s = socket.create_connection(("localhost", 6659))
+except socket.error, e:
+    sys.stderr.write("irk: no irkerd running: %r\n" % e)
+    sys.exit(1)
 
 target = sys.argv[1]
 if not "irc:" in target:
@@ -28,6 +33,6 @@ message = " ".join(sys.argv[2:])
 message = message.decode('string_escape')
 if message == '-':
     for line in fileinput.input('-'):
-        send(target, line.rstrip('\n'))
+        send(s, target, line.rstrip('\n'))
 else:
-    send(target, message)
+    send(s, target, message)