#!/usr/bin/env python

import os
import json
import urllib2
import argparse
import sys
from distutils.version import StrictVersion,LooseVersion
from mixcoatl import __version__


def versions(package_name):
    url = "https://pypi.python.org/pypi/%s/json" % (package_name,)
    data = json.load(urllib2.urlopen(urllib2.Request(url)))
    versions = data["releases"].keys()
    versions.sort(key=LooseVersion)
    versions.reverse()
    return versions

if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument(
        '--version', '-v', help='List current and available versions.', action="store_true")
    parser.add_argument(
        '--reset_config', '-r', help='Resets the "Default" Mixcoatl config (If Applicable)', action="store_true")
    cmd_args = parser.parse_args()

    if cmd_args.version:
        print "Mixcoatl version installed:", __version__
        print "All available versions:"
        print "\t".join(versions("mixcoatl"))
    elif cmd_args.reset_config:
        filename = os.path.expanduser('~').strip() + "/.mixcoatl/default"
        if os.path.exists(filename):
            os.remove(filename)
            print "Default configuration removed."
    else:
        parser.print_help()
        sys.exit(1)
