#!/usr/bin/python
import os
import sys
sys.path.append('..')

from optparse import OptionParser
import pilas

analizador = OptionParser()

analizador.add_option("-t", "--test", dest="test",
        action="store_true", default=False,
        help="Invoca varias pruebas verificar el funcionamiento de pilas")

analizador.add_option("-v", "--version", dest="version",
        action="store_true", default=False,
        help="Consulta la version instalada")

analizador.add_option("-i", "--interprete", dest="interprete",
        action="store_true", default=False,
        help="Abre el interprete interactivo")

(opciones, argumentos) = analizador.parse_args()

if argumentos:
    archivo_a_ejecutar = pilas.utils.obtener_archivo_a_ejecutar_desde_argv()

    try:
        if archivo_a_ejecutar.startswith("-i"):
            archivo_a_ejecutar = archivo_a_ejecutar.replace("-i ", "")

        directorio_juego = os.path.dirname(archivo_a_ejecutar)
        os.chdir(directorio_juego)
        sys.exit(execfile(archivo_a_ejecutar))
    except Exception, e:
        pilas.utils.mostrar_mensaje_de_error_y_salir(str(e))

if opciones.test:
    pilas.utils.realizar_pruebas()
    sys.exit(0)
elif opciones.interprete:
    from PyQt4 import QtGui
    app = QtGui.QApplication(sys.argv)
    app.setApplicationName("pilas-engine")
    pilas.abrir_interprete(do_raise=True)
elif opciones.version:
    from pilas import pilasversion
    print pilasversion.VERSION
    sys.exit(0)
else:
    pilas.abrir_asistente()
