#!/usr/bin/env python
# -*- coding: utf8 -*-
import sys
import os
import os.path
from optparse import OptionParser

sys.path.append('{0}/..'.format(os.path.join(os.path.dirname(os.path.realpath(__file__)))))

from burpui import app, bui

if __name__ == '__main__':
    """
    Main function
    """
    parser = OptionParser()
    parser.add_option('-v', '--verbose', dest='log', help='verbose output', action='store_true')
    parser.add_option('-c', '--config', dest='config', help='configuration file', metavar='CONFIG')

    (options, args) = parser.parse_args()
    d = options.log
    app.config['DEBUG'] = d

    if options.config:
        if os.path.isfile(options.config):
            conf = options.config
            app.config['CFG'] = conf
        else:
            raise IOError('File not found: \'{0}\''.format(options.config))
    else:
        conf_files = ['/etc/burp/burpui.cfg', os.path.join(os.path.dirname(os.path.realpath(__file__)), '..', 'share', 'burpui', 'etc', 'burpui.cfg')]
        for p in conf_files:
            app.logger.debug('Trying file \'%s\'', p)
            if os.path.isfile(p):
                app.config['CFG'] = p
                app.logger.debug('Using file \'%s\'', p)
                break

    bui.setup(app.config['CFG'])
    bui.run(d)

