#!/usr/bin/env python
""" A file containing small db utlities, like
dropping collections.
"""
from __future__ import print_function
import pymongo as pm
from os import uname
import argparse
import bson.json_util as json


def dbstats():
    local = uname()[1]
    if local == 'cluster2':
        remote = 'node1'
    else:
        remote = None
    client = pm.MongoClient(remote)
    db = client.crystals
    print(json.dumps(db.command('dbstats'), indent=2))
    for name in db.collection_names():
        print(json.dumps(db.command('collstats', name), indent=2))


if __name__ == '__main__':

    client = pm.MongoClient()
    db = client.crystals

    parser = argparse.ArgumentParser()
    parser.add_argument('-d', '--drop', type=str,
                        help='drop named collection')
    args = parser.parse_args()
    if args.drop is not None:
        try:
            db[str(args.drop)].dropIndexes()
        except Exception:
            pass
        db[str(args.drop)].drop()
        print('Collection', str(args.drop), 'dropped.')
    dbstats()
