예제 #1
0
 def clean(__PROJECTNAME__: str) -> bool:
     if Path(__PROJECTNAME__).exists():
         Loger.Warning(
             "Limpiando proyecto: \"{0}\"".format(__PROJECTNAME__))
         try:
             output = subprocess.check_output(
                 "rd /S /Q {0}".format(__PROJECTNAME__), shell=True)
             Loger.Ok("Limpieza terminada")
         except:
             Loger.Error("No se pudo eliminar el proyecto")
         return True
     # Si no se borro return false
     Loger.Error("No existe el proyecto: \"{0}\"".format(__PROJECTNAME__))
     return False
예제 #2
0
 def run():
     Wrapper = FolderManager(Modules.__PATH__)
     if Wrapper.enterDirectory("scr"):
         if FileManager.fileExist("main.exe"):
             Loger.Info("Ejecutando proyecto")
             print("")
             os.system("main.exe")
             print("\n")
             Loger.Ok("Ejecucion completada")
         else:
             Loger.Error("No se puede ejecutar el proyecto")
예제 #3
0
    def add(__TYPE__, __NAME__):
        availableTypes = ["library", "class"]
        if isInsideArray(availableTypes, __TYPE__):
            if __TYPE__ == availableTypes[0]:
                Loger.Info("Generando libreria")
                Modules.genFileLib(__NAME__, False)
            if __TYPE__ == availableTypes[1]:
                Loger.Info("Generando clase")
                Modules.genFileLib(__NAME__, True)

        else:
            Loger.Error("El componente no existe")
예제 #4
0
 def addLibtoH(__NAME__):
     Wrapper = FolderManager(Modules.__PATH__)
     if Wrapper.enterDirectory("scr"):
         if FileManager.fileExist("main.h"):
             Manage = Path("main.h")
             Text = Manage.read_text().replace(
                 "///---",
                 """#include "..\lib\{0}\{0}.h"\n///---""".format(__NAME__))
             try:
                 FILE = open("main.h", "w")
                 FILE.write(Text)
                 Loger.Ok("Main.h actualizado")
             except:
                 Loger.Error("No se pudo actualizar main.h")
예제 #5
0
 def build(__BUILD_OPTIONS__: str):
     Wrapper = FolderManager(Modules.__PATH__)
     if Wrapper.enterDirectory("scr"):
         Loger.Info("Compilando Proyecto")
         try:
             subprocess.check_output(
                 "g++ main.cpp -o main.exe {0}".format(__BUILD_OPTIONS__),
                 shell=True)
             Loger.Ok("Proyecto compilado")
             Loger.Info("Proyecto ejecutandose")
             print("")
             os.system("main.exe")
             print("\n")
             Loger.Ok("Ejecucion completada")
         except:
             Loger.Error("Error de compilacion")
예제 #6
0
 def new(__PROJECTNAME__: str) -> bool:
     Wrapper = FolderManager(Modules.__PATH__)
     FileTemplates.projectName = __PROJECTNAME__
     if Wrapper.createfolder(__PROJECTNAME__) and Wrapper.enterDirectory(
             __PROJECTNAME__):
         Wrapper.createfolder("lib")
         if Wrapper.createfolder("scr"):
             if Wrapper.enterDirectory("scr"):
                 FileManager.createFile("main.cpp", FileTemplates.main())
                 FileManager.createFile("main.h",
                                        FileTemplates.mainLibrary())
                 if FileManager.fileExist(
                         "main.cpp") and FileManager.fileExist("main.h"):
                     os.system("start main.cpp")
                 return True
         Modules.clean(__PROJECT__)
     else:
         Loger.Error("No se puede crear el proyecto \"{0}\"".format(
             sys.argv[2]))
     return False
예제 #7
0
        if not sys.argv.__len__() < 3:
            __TYPE__ = sys.argv[2]
            __NAME__ = sys.argv[3]
            if __TYPE__ == "help":
                Loger.Help(__HELP__)
            else:
                Modules.add(__TYPE__=__TYPE__, __NAME__=__NAME__)
        else:
            Loger.Help(__HELP__)

    if __COMMAND__ == "new":
        try:
            __PROJECT__ = sys.argv[2]
            Modules.new(__PROJECT__)
        except IndexError:
            Loger.Error("Comando \"new\" necesita el nombre del proyecto")

    if __COMMAND__ == "clean":
        try:
            __PROJECT__ = sys.argv[2]
            Modules.clean(__PROJECT__)
        except IndexError:
            Loger.Error("Comando \"clean\" necesita el nombre del proyecto")

    if __COMMAND__ == "build":
        try:
            __OPTIONS__ = sys.argv[2]
            Modules.build(__OPTIONS__)
        except:
            Modules.build("")