changeset 64fb0af1f66b in bugs.tryton.org:default
details: https://hg.tryton.org/bugs.tryton.org?cmd=changeset;node=64fb0af1f66b
description:
        Remove irker detector
diffstat:

 detectors/config.ini |   2 -
 detectors/irker.py   |  92 ----------------------------------------------------
 2 files changed, 0 insertions(+), 94 deletions(-)

diffs (105 lines):

diff -r 142e39a73dce -r 64fb0af1f66b detectors/config.ini
--- a/detectors/config.ini      Wed Dec 02 10:13:56 2020 +0100
+++ b/detectors/config.ini      Fri Dec 11 13:58:19 2020 +0100
@@ -11,5 +11,3 @@
 #   a new message and add information without setting the status
 #   to chatting.
 chatting_requires_two_users = True
-[irker]
-channels = irc://chat.freenode.net/tryton-commit
diff -r 142e39a73dce -r 64fb0af1f66b detectors/irker.py
--- a/detectors/irker.py        Wed Dec 02 10:13:56 2020 +0100
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +0,0 @@
-# Detector for sending changes to irker
-# Written by Ezio Melotti
-
-import re
-import json
-import socket
-import logging
-
-IRKER_HOST = 'localhost'
-IRKER_PORT = 6659
-
-max_content = 120
-logger = logging.getLogger(__name__)
-
-TEMPLATE = ('%(green)s%(author)s%(reset)s '
-            '%(bluish)s#%(nodeid)s%(reset)s/%(title)s%(bold)s:%(bold)s '
-            '%(log)s %(url)s')
-
-
-def sendmsg(msg):
-    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-    try:
-        sock.connect((IRKER_HOST, IRKER_PORT))
-        sock.sendall(msg.encode('utf-8') + b"\n")
-    finally:
-        sock.close()
-
-
-def notify_irker(db, cl, nodeid, oldvalues):
-    typeid = cl.get(nodeid, 'type')
-    if typeid and db.type.get(typeid, 'name') == 'security':
-        return
-    messages = set(cl.get(nodeid, 'messages'))
-    if oldvalues:
-        messages -= set(oldvalues.get('messages',()))
-    if not messages:
-        return
-    messages = list(messages)
-
-    if oldvalues:
-        oldstatus = oldvalues['status']
-    else:
-        oldstatus = None
-    newstatus = db.issue.get(nodeid, 'status')
-    if oldstatus != newstatus:
-        if oldvalues:
-            status = db.status.get(newstatus, 'name')
-        else:
-            status = 'new'
-        log = '[' + status + '] '
-    else:
-        log = ''
-    for msg in messages:
-        log += db.msg.get(msg, 'content')
-    if len(log) > max_content:
-        log = log[:max_content-3] + '...'
-    log = re.sub('\s+', ' ', log)
-
-    # include irc colors
-    params = {
-        'bold': '\x02',
-        'green': '\x0303',
-        'blue': '\x0302',
-        'bluish': '\x0310',
-        'yellow': '\x0307',
-        'brown': '\x0305',
-        'reset': '\x0F'
-    }
-    # extend with values used in the template
-    params['author'] = db.user.get(db.getuid(), 'username')
-    params['nodeid'] = nodeid
-    params['title'] = db.issue.get(nodeid, 'title')
-    params['log'] = log
-    params['url'] = '%sissue%s' % (db.config.TRACKER_WEB, nodeid)
-
-    # create the message and use the list of channels defined in
-    # detectors/config.ini
-    msg = json.dumps({
-        'to': db.config.detectors.IRKER_CHANNELS.split(','),
-        'privmsg': TEMPLATE % params,
-    })
-
-    try:
-        sendmsg(msg)
-    except Exception as e:
-        # Ignore any errors in sending the irker;
-        # if the server is down, that's just bad luck
-        logger.error('* Sending message to irker failed', exc_info=True)
-
-def init(db):
-    db.issue.react('create', notify_irker)
-    db.issue.react('set', notify_irker)

Reply via email to