Beispiel #1
0
from libjarvis.config import Config
from libjarvis import tools


os.chdir(os.path.dirname(sys.argv[0]))  # chdir to own dir
config = Config()


def printerr(msg):
    sys.stderr.write("["+str(int(time.time()))+"] " + msg + "\n")
    sys.stderr.flush()


def nothing(msg):
    pass
debug = printerr if config.get("debug") else nothing


class JarvisBot(ircbot.SingleServerIRCBot):
    """Main class for the Jarvis bot"""

    def __init__(self):
        debug("Initialization...")
        self.bdd = None
        if not config.get("use_ssl"):
            ircbot.SingleServerIRCBot.__init__(self, [(config.get("server"),
                                                       config.get("port"))],
                                               config.get("nick"),
                                               config.get("desc"))
        else:
            self.ssl_factory = irc.connection.Factory(wrapper=ssl.wrap_socket)
Beispiel #2
0
            if multipart_msg.is_multipart():
                subject = multipart_msg.get_payload(0)['Subject']
                author = multipart_msg.get_payload(0)['From']
        except (IndexError, TypeError):
            return False
        main_msg = mail.get_payload(0)
        match = re.search(r"\nDISTRIBUTE (\S) (\S)\n", str(main_msg))
        if not match:
            return False
        liste = match.group(1)
        token = match.group(2)
        return ("distribution", token, liste, subject, author)


if __name__ == "__main__":
    print('Connecting to ' + config.get("imap_server") + '… ', end='')
    conn = imaplib.IMAP4_SSL(config.get("imap_server"))
    print('Connected')
    to_send = []

    try:
        print('Logging as ' + config.get("imap_user") + '… ', end='')
        conn.login(config.get("imap_user"), config.get("imap_password"))
    except:
        print('Failed')
        print(sys.exc_info()[1])
        sys.exit(1)
    print('Logged in')

    try:
        bdd = mysql.connector.connect(**config.get("mysql"))