#! /usr/bin/env python3

from monmongo.MonMongo import MonMongo
import argparse
from urllib.parse import quote


def main():
    ap = argparse.ArgumentParser()
    ap.add_argument('--collections', '-c', type=int, default=5, help='Collection count limit')
    ap.add_argument('--queries', '-q', type=int, default=5, help='Query count limit')
    ap.add_argument('--period', '-p', type=int, default=5, help='Aggregation time period')
    ap.add_argument('url', type=str, help='URL to connect to', nargs='?')
    args = ap.parse_args()

    # detect url
    url = args.url
    if not url:
        with open('/etc/mongo-monitor.conf') as f:
            login = f.readline().strip()
            password = f.readline().strip()
        url = 'mongodb://{}:{}@localhost:27018/admin'.format(quote(login), quote(password))

    MonMongo().run(url, args.collections, args.queries, args.period)


if __name__ == '__main__':
    main()
