#!/usr/bin/env python
# -*- coding:utf-8 -*-
#
# Author: Pablo Saavedra
# Maintainer: Pablo Saavedra
# Contact: saavedra.pablo at gmail.com

import argparse
import traceback
import time

from matrixbot import utils
from matrixbot import matrix

## vars ########################################################################
conffile = ".matrixbot.cfg"

## command line options parser #################################################
parser = argparse.ArgumentParser()
parser.add_argument("-c", "--conffile", dest="conffile", default=conffile,
                    help="Conffile (default: %s)" % conffile)
args = parser.parse_args()
conffile = args.conffile

# setting up ###################################################################
settings = utils.get_default_settings()
utils.setup(conffile, settings)
logger = utils.create_logger(settings)

## main ####################################################################
if __name__ == '__main__':
    try:
        m = matrix.MatrixBot(settings)
        m.join_rooms(silent=True)
        m.invite_subscriptions()
        m.kick_revokations()
    except Exception, e:
        logger.error("Unexpected error: %s" % e)
        logger.error("Unexpected error: %s" % traceback.print_exc())
