Truncate messages to some 'sensible' length before sending them to the irc server
[bzrirker.git] / irkerhook.py
index b18763a6dfbe19e4953e1a82375584f6b41f416a..a1323b04a92b750a72f7d33b46177dcb96195268 100644 (file)
@@ -104,7 +104,7 @@ class IrkerSender(object):
         server = self.config.get('irker_server')
         if not server:
             server = 'localhost'
-        port = self.config.get('irker_port')
+        port = int(self.config.get('irker_port'))
         if not port:
             port = IRKER_PORT
         try:
@@ -113,9 +113,10 @@ class IrkerSender(object):
             channels = self.config.get('irker_channels')
             if channels:
                 channels = channels.split(',')
-            msg = unicode(self._format())
-            # We rely on the server truncating, rather than trying to be
-            # too fancy here
+            # If we're too long, we might not get any notification, so
+            # we truncate the msg to max 450 chars, and hope that's
+            # going to be within the 510 irc limit
+            msg = unicode(self._format())[:450]
             message = json.dumps({"to": channels, "privmsg": msg})
             if channels:
                 # We assume tcp, since I'm lazy, so we just grab that bit