예제 #1
0
def process_queued_msgs(msgids, action, direction, *args):
    "Process queued messages"
    try:
        logger = process_queued_msgs.get_logger()
        eximcmd = get_config_option('Sendmail2') if direction == 2 else 'exim'
        if 'exim' not in eximcmd:
            logger.info("Invalid exim command: %s" % eximcmd)
            return
        if direction == 1 and action not in ['bounce', 'delete']:
            logger.info("Invalid action: %s" % action)
            return
        exim_user = config.get('baruwa.mail.user', 'exim')
        queue = EximQueue('sudo -u %s %s' % (exim_user, eximcmd))
        func = getattr(queue, action)
        msgids = [msgid for msgid in msgids if EXIM_MSGID_RE.match(msgid)]
        func(msgids, *args)
        for result in queue.results:
            logger.info("STDOUT: %s" % result)
        if queue.errors:
            for errmsg in queue.errors:
                logger.info("STDERR: %s" % errmsg)
        hostname = system_hostname()
        update_queue_stats(hostname)
    except TypeError, error:
        logger.info("Invalid input: %s" % error)
예제 #2
0
def process_queued_msgs(msgids, action, direction, *args):
    "Process queued messages"
    try:
        logger = process_queued_msgs.get_logger()
        eximcmd = get_config_option('Sendmail2') if direction == 2 else 'exim'
        if 'exim' not in eximcmd:
            logger.info("Invalid exim command: %s" % eximcmd)
            return
        if direction == 1 and action not in ['bounce', 'delete']:
            logger.info("Invalid action: %s" % action)
            return
        exim_user = config.get('baruwa.mail.user', 'exim')
        queue = EximQueue('sudo -u %s %s' % (exim_user, eximcmd))
        func = getattr(queue, action)
        msgids = [msgid for msgid in msgids if EXIM_MSGID_RE.match(msgid)]
        func(msgids, *args)
        for result in queue.results:
            logger.info("STDOUT: %s" % result)
        if queue.errors:
            for errmsg in queue.errors:
                logger.info("STDERR: %s" % errmsg)
        hostname = system_hostname()
        update_queue_stats(hostname)
    except TypeError, error:
        logger.info("Invalid input: %s" % error)
예제 #3
0
def process_queued_msgs(msgids, action, direction, *args):
    "Process queued messages"
    try:
        logger = process_queued_msgs.get_logger()
        eximcmd = get_config_option('Sendmail2') if direction == 2 else 'exim'
        if not 'exim' in eximcmd:
            logger.info(_("Invalid exim command: %s") % eximcmd)
            return
        if direction == 1 and action not in ['bounce', 'delete']:
            logger.info(_("Invalid action: %s") % action)
            return
        queue = EximQueue('sudo -u exim ' + eximcmd)
        func = getattr(queue, action)
        msgids = [msgid for msgid in msgids if EXIM_MSGID_RE.match(msgid)]
        func(msgids, *args)
        for result in queue.results:
            logger.info(_("STDOUT: %s") % result)
        if queue.errors:
            for errmsg in queue.errors:
                logger.info(_("STDERR: %s") % errmsg)
        update_queue_stats()
    except TypeError, error:
        logger.info(_("Invalid input: %s") % error)
예제 #4
0
파일: status.py 프로젝트: aureg/baruwa2
def process_queued_msgs(msgids, action, direction, *args):
    "Process queued messages"
    try:
        logger = process_queued_msgs.get_logger()
        eximcmd = get_config_option('Sendmail2') if direction == 2 else 'exim'
        if not 'exim' in eximcmd:
            logger.info(_("Invalid exim command: %s") % eximcmd)
            return
        if direction == 1 and action not in ['bounce', 'delete']:
            logger.info(_("Invalid action: %s") % action)
            return
        queue = EximQueue('sudo -u exim ' + eximcmd)
        func = getattr(queue, action)
        msgids = [msgid for msgid in msgids if EXIM_MSGID_RE.match(msgid)]
        func(msgids, *args)
        for result in queue.results:
            logger.info(_("STDOUT: %s") % result)
        if queue.errors:
            for errmsg in queue.errors:
                logger.info(_("STDERR: %s") % errmsg)
        update_queue_stats()
    except TypeError, error:
        logger.info(_("Invalid input: %s") % error)