# -*- coding: utf-8 -*-
# Copyright 2008-2010, Felspar Co Ltd. http://fost.3.felspar.com/
# Distributed under the Boost Software License, Version 1.0.
# See accompanying file LICENSE_1_0.txt or copy at
#     http://www.boost.org/LICENSE_1_0.txt
import getopt, sys
from . import agent


def main(fn, argv=None):
    if argv is None:
        argv = sys.argv

    import Fost.settings, Fost.internet
    fostsettings = Fost.settings.database()
    key, secret = fostsettings['AppServices', 'Api key'], \
        fostsettings['AppServices', 'Api secret']
    if len(argv) > 1 and argv[1].startswith('http'):
        ua = agent(key, secret, base=Fost.internet._internet.url(argv[1]))
        argv = argv[:1] + argv[2:]
    else:
        ua = agent(key, secret)
    return fn(ua, argv)
