Beispiel #1
0
 def __init__(self, setup_parser=True):
     EnebooToolsInterface.__init__(self, False)
     self.patch_qs_rewrite = "warn"
     self.patch_xml_style_name = "legacy1"
     self.patch_qs_style_name = "legacy"
     self.diff_xml_search_move = False
     self.patch_name = None
     if setup_parser: self.setup_parser()
Beispiel #2
0
 def __init__(self, setup_parser = True):
     EnebooToolsInterface.__init__(self, False)
     self.patch_qs_rewrite = "warn"
     self.patch_xml_style_name = "legacy1"
     self.patch_qs_style_name = "legacy"
     self.diff_xml_search_move = False
     self.patch_name = None
     if setup_parser: self.setup_parser()
Beispiel #3
0
    def setup_parser(self):
        EnebooToolsInterface.setup_parser(self)

        self.checksum_action = self.parser.declare_action(
            name="checksum",
            args=[],
            options=[],
            min_argcount=0,
            description=u"Computa un fichero .checksum para un módulo",
            call_function=self.do_checksum,
        )

        self.addcert_action = self.parser.declare_action(
            name="addcert",
            args=["pemfile"],
            options=[],
            min_argcount=1,
            description=
            u"Agrega un certificado en formato PEM a la lista de certificados",
            call_function=self.do_addcert,
        )
        self.addcert_action.set_help_arg(
            pemfile="Certificado que agregar a la lista de certificados", )

        self.addsignature_action = self.parser.declare_action(
            name="sign",
            args=["certpem", "pkeypem"],
            options=[],
            min_argcount=2,
            description=
            u"Agrega una firma a la lista de firmas usando un fichero PEM para leer certificado y otro para la clave privada",
            call_function=self.do_addsignature,
        )

        self.addsignature_action.set_help_arg(
            certpem="Certificado para usar en la firma",
            pkeypem="Clave privada para usar en la firma",
        )

        self.check_action = self.parser.declare_action(
            name="check",
            args=[],
            options=[],
            min_argcount=0,
            description=
            u"Realiza comprobaciones varias sobre las firmas existentes",
            call_function=self.do_check,
        )
Beispiel #4
0
    def setup_parser(self):
        EnebooToolsInterface.setup_parser(self)

        self.create_action = self.parser.declare_action(
            name = "create",
            args = ["modulefolder"],
            options = [],
            description = u"Lee la carpeta $modulefolder, examina los módulos y los empaqueta",
            call_function = self.do_create,
            )
        self.create_action.set_help_arg(
            modulefolder = "Carpeta que leer para empaquetar su contenido",
            )                

        self.create_action = self.parser.declare_action(
            name = "unpack",
            args = ["packagefile"],
            options = [],
            description = u"Lee el fichero $packagefile y desempaqueta los módulos en una carpeta",
            call_function = self.do_unpack,
            )
        self.create_action.set_help_arg(
            packagefile = "Fichero que leer para extraer su contenido",
            )                
            

        self.split_action = self.parser.declare_action(
            name = "split",
            args = ["packagefile"],
            options = [],
            description = u"Lee el fichero $packagefile y genera una carpeta con su contenido",
            call_function = self.do_split,
            )
        self.split_action.set_help_arg(
            packagefile = "Fichero que leer para extraer su contenido",
            )                
            
        self.join_action = self.parser.declare_action(
            name = "join",
            args = ["packagefolder"],
            options = [],
            description = u"Lee la carpeta $packagefolder y genera un fichero empaquetando su contenido",
            call_function = self.do_join,
            )
        self.join_action.set_help_arg(
            packagefolder = "Carpeta que leer para empaquetar su contenido",
            )                
Beispiel #5
0
    def setup_parser(self):
        EnebooToolsInterface.setup_parser(self)

        
        self.checksum_action = self.parser.declare_action(
            name = "checksum",
            args = [],
            options = [],
            min_argcount = 0,
            description = u"Computa un fichero .checksum para un módulo",
            call_function = self.do_checksum,
            )

        self.addcert_action = self.parser.declare_action(
            name = "addcert",
            args = ["pemfile"],
            options = [],
            min_argcount = 1,
            description = u"Agrega un certificado en formato PEM a la lista de certificados",
            call_function = self.do_addcert,
            )
        self.addcert_action.set_help_arg(
            pemfile = "Certificado que agregar a la lista de certificados",
            )                
            
        self.addsignature_action = self.parser.declare_action(
            name = "sign",
            args = ["certpem", "pkeypem"],
            options = [],
            min_argcount = 2,
            description = u"Agrega una firma a la lista de firmas usando un fichero PEM para leer certificado y otro para la clave privada",
            call_function = self.do_addsignature,
            )
            
        self.addsignature_action.set_help_arg(
            certpem = "Certificado para usar en la firma",
            pkeypem = "Clave privada para usar en la firma",
            )          
                  
        self.check_action = self.parser.declare_action(
            name = "check",
            args = [],
            options = [],
            min_argcount = 0,
            description = u"Realiza comprobaciones varias sobre las firmas existentes",
            call_function = self.do_check,
            )
Beispiel #6
0
    def setup_parser(self):
        EnebooToolsInterface.setup_parser(self)

        self.create_action = self.parser.declare_action(
            name="create",
            args=["modulefolder"],
            options=[],
            description=
            u"Lee la carpeta $modulefolder, examina los módulos y los empaqueta",
            call_function=self.do_create,
        )
        self.create_action.set_help_arg(
            modulefolder="Carpeta que leer para empaquetar su contenido", )

        self.create_action = self.parser.declare_action(
            name="unpack",
            args=["packagefile"],
            options=[],
            description=
            u"Lee el fichero $packagefile y desempaqueta los módulos en una carpeta",
            call_function=self.do_unpack,
        )
        self.create_action.set_help_arg(
            packagefile="Fichero que leer para extraer su contenido", )

        self.split_action = self.parser.declare_action(
            name="split",
            args=["packagefile"],
            options=[],
            description=
            u"Lee el fichero $packagefile y genera una carpeta con su contenido",
            call_function=self.do_split,
        )
        self.split_action.set_help_arg(
            packagefile="Fichero que leer para extraer su contenido", )

        self.join_action = self.parser.declare_action(
            name="join",
            args=["packagefolder"],
            options=[],
            description=
            u"Lee la carpeta $packagefolder y genera un fichero empaquetando su contenido",
            call_function=self.do_join,
        )
        self.join_action.set_help_arg(
            packagefolder="Carpeta que leer para empaquetar su contenido", )
Beispiel #7
0
    def setup_parser(self):
        EnebooToolsInterface.setup_parser(self)
        self.parser.declare_option(
            name = "patch-qs-rewrite",
            description = u"indica si al aplicar un parche de QS se debe sobreescribir o no las clases existentes ( reverse / predelete / yes / warn / no / abort ) ",
            level = "action",
            variable = "VALUE", 
            call_function = self.set_patch_qs_rewrite
            )
        self.parser.declare_option(
            name = "patch-name",
            description = u"Indica el nombre del parche que se usará en lugar de autodetectarlo.",
            level = "action",
            variable = "NAME", 
            call_function = self.set_patch_name
            )
        self.parser.declare_option(
            name = "patch-dest",
            description = u"Donde guardar un fichero de parche",
            level = "action",
            variable = "FILENAME", 
            call_function = self.set_patch_dest
            )
        self.parser.declare_option(
            name = "enable-diff-xml-search-move",
            description = u"Activa la búsqueda de movimientos de bloques XML. Puede ser un poco más lento y puede generar parches incompatibles con otras herramientas.",
            level = "action",
            call_function = self.enable_diff_xml_search_move
            )
        self.parser.declare_option(
            name = "patch-xml-style",
            description = u"Usar otro estilo para generar parches XML (ver mergetools/etc/patch-styles/)",
            variable = "NAME", 
            level = "action",
            call_function = self.set_patch_xml_style
            )
        self.parser.declare_option(
            name = "patch-qs-style",
            description = u"Usar otro estilo para generar parches QS (legacy|qsdir)",
            variable = "NAME", 
            level = "action",
            call_function = self.set_patch_qs_style
            )
        self.parser.declare_option(
            name = "clean-patch",
            description = u"provoca que el parche generado sea de tipo limpieza",
            level = "action", # ( action | parser )
            variable = None, 
            call_function = self.set_clean_patch
            )
            
        self.build_project_action = self.parser.declare_action(
            name = "build-project",
            args = ["buildxml"],
            options = [],
            description = u"Lee el fichero $buildxml y realiza las operaciones que se determinan",
            call_function = self.do_build_project,
            )
        self.build_project_action.set_help_arg(
            buildxml = "Fichero del que leer las instrucciones",
            )                
            
        self.folder_diff_action = self.parser.declare_action(
            name = "folder-diff",
            args = ["patchdir","basedir","finaldir"],
            options = ["patch-name", "patch-qs-style", "patch-xml-style"],
            description = u"Genera en $patchdir una colección de parches de la diferencia entre las carpetas $basedir y $finaldir",
            call_function = self.do_folder_diff,
            )
        self.folder_diff_action.set_help_arg(
            patchdir = "Carpeta donde guardar las diferencias",
            basedir = "Carpeta a leer como referencia",
            finaldir = "Carpeta a comparar",
            )                
            
        self.folder_patch_action = self.parser.declare_action(
            name = "folder-patch",
            args = ["patchdir","basedir","finaldir"],
            options = ["patch-name"],
            description = u"Aplica los parches en $patchdir a la carpeta $basedir y genera $finaldir",
            call_function = self.do_folder_patch,
            )
        self.folder_patch_action.set_help_arg(
            patchdir = "Carpeta donde leer las diferencias",
            basedir = "Carpeta a leer como referencia",
            finaldir = "Carpeta a aplicar los cambios",
            )                

        self.file_diff_action = self.parser.declare_action(
            name = "file-diff",
            args = ["ext","base","final"],
            description = u"Genera un parche de fichero $ext de la diferencia entre el fichero $base y $final",
            options = ['output-file','clean-patch'],
            call_function = self.do_file_diff,
            min_file_list = 0, # por defecto es 0
            max_file_list = 0, # por defecto es 0, -1 indica sin límite.
            min_argcount = -1  # cantidad de argumentos obligatorios. por defecto -1
            )
        self.file_diff_action.set_help_arg(
            ext = "Tipo de fichero a procesar: QS / XML",
            base = "Fichero original",
            final = "Fichero final",
            )                
        self.file_patch_action = self.parser.declare_action( 
            name = "file-patch",
            args = ["ext","patch","base"],
            description = u"Aplica un parche de fichero $ext especificado por $patch al fichero $base",
            options = ['output-file','patch-qs-rewrite',"enable-diff-xml-search-move","patch-xml-style"],
            call_function = self.do_file_patch,
            )
        self.file_patch_action.set_help_arg(
            ext = "Tipo de fichero a procesar: QS / XML",
            base = "Fichero original",
            patch = "Parche a aplicar sobre $base",
            )
        self.file_check_action = self.parser.declare_action( 
            name = "file-check",
            args = ["check","filename"],
            description = u"Analiza un fichero $filename en busca de errores usando el algoritmo de comprobación $check",
            options = ['patch-dest'],
            call_function = self.do_file_check,
            )
        self.file_check_action.set_help_arg(
            check = "Tipo de análisis a realizar: qs-classes / ...",
            filename = "Fichero a analizar",
            )
        self.qs_extract_action = self.parser.declare_action(
            name = "qs-extract",
            args = ["final","classlist"],
            description = u"Extrae del fichero $final las clases indicadas en $classlist",
            options = ['output-file'],
            call_function = self.do_qs_extract,
            )
        self.qs_extract_action.set_help_arg(
            final = "Fichero QS que contiene las clases a extraer",
            classlist = "Lista de clases a extraer, separadas por coma y sin espacios: class1,class2,...",
            )                
              
        self.qs_split_action = self.parser.declare_action(
            name = "qs-split",
            args = ["final"],
            description = u"Separa el fichero $final en subficheros en una carpeta",
            options = [],
            call_function = self.do_qs_split,
            )
        self.qs_split_action.set_help_arg(
            final = "Fichero QS",
            )                
              
        self.qs_join_action = self.parser.declare_action(
            name = "qs-join",
            args = ["folder"],
            description = u"Une la carpeta $folder en un fichero",
            options = [],
            call_function = self.do_qs_join,
            )
        self.qs_join_action.set_help_arg(
            folder = "Carpeta con los subficheros QS",
            )                
Beispiel #8
0
 def __init__(self, setup_parser = True):
     EnebooToolsInterface.__init__(self, False)
     if setup_parser: self.setup_parser()
Beispiel #9
0
    def setup_parser(self):
        EnebooToolsInterface.setup_parser(self)
        self.parser.declare_option(
            name="patch-qs-rewrite",
            description=
            u"indica si al aplicar un parche de QS se debe sobreescribir o no las clases existentes ( reverse / predelete / yes / warn / no / abort ) ",
            level="action",
            variable="VALUE",
            call_function=self.set_patch_qs_rewrite)
        self.parser.declare_option(
            name="patch-py-rewrite",
            description=
            u"indica si al aplicar un parche de PY se debe sobreescribir o no las clases existentes ( reverse / predelete / yes / warn / no / abort ) ",
            level="action",
            variable="VALUE",
            call_function=self.set_patch_py_rewrite)
        self.parser.declare_option(
            name="patch-test-rewrite",
            description=
            u"indica si al aplicar un parche de PY_test se debe sobreescribir o no las clases existentes ( reverse / predelete / yes / warn / no / abort ) ",
            level="action",
            variable="VALUE",
            call_function=self.set_patch_test_rewrite)
        self.parser.declare_option(
            name="patch-model-rewrite",
            description=
            u"indica si al aplicar un parche de PY_model se debe sobreescribir o no las clases existentes ( reverse / predelete / yes / warn / no / abort ) ",
            level="action",
            variable="VALUE",
            call_function=self.set_patch_model_rewrite)
        self.parser.declare_option(
            name="patch-name",
            description=
            u"Indica el nombre del parche que se usará en lugar de autodetectarlo.",
            level="action",
            variable="NAME",
            call_function=self.set_patch_name)
        self.parser.declare_option(
            name="patch-dest",
            description=u"Donde guardar un fichero de parche",
            level="action",
            variable="FILENAME",
            call_function=self.set_patch_dest)
        self.parser.declare_option(
            name="enable-diff-xml-search-move",
            description=
            u"Activa la búsqueda de movimientos de bloques XML. Puede ser un poco más lento y puede generar parches incompatibles con otras herramientas.",
            level="action",
            call_function=self.enable_diff_xml_search_move)
        self.parser.declare_option(
            name="patch-xml-style",
            description=
            u"Usar otro estilo para generar parches XML (ver mergetools/etc/patch-styles/)",
            variable="NAME",
            level="action",
            call_function=self.set_patch_xml_style)
        self.parser.declare_option(
            name="patch-qs-style",
            description=
            u"Usar otro estilo para generar parches QS (legacy|qsdir)",
            variable="NAME",
            level="action",
            call_function=self.set_patch_qs_style)
        self.parser.declare_option(
            name="patch-py-style",
            description=
            u"Usar otro estilo para generar parches PY (legacy|pydir)",
            variable="NAME",
            level="action",
            call_function=self.set_patch_py_style)
        self.parser.declare_option(
            name="patch-test-style",
            description=
            u"Usar otro estilo para generar parches PY_test (legacy|testdir)",
            variable="NAME",
            level="action",
            call_function=self.set_patch_test_style)
        self.parser.declare_option(
            name="patch-model-style",
            description=
            u"Usar otro estilo para generar parches PY_model (legacy|modeldir)",
            variable="NAME",
            level="action",
            call_function=self.set_patch_model_style)
        self.parser.declare_option(
            name="clean-patch",
            description=u"provoca que el parche generado sea de tipo limpieza",
            level="action",  # ( action | parser )
            variable=None,
            call_function=self.set_clean_patch)

        self.build_project_action = self.parser.declare_action(
            name="build-project",
            args=["buildxml"],
            options=[],
            description=
            u"Lee el fichero $buildxml y realiza las operaciones que se determinan",
            call_function=self.do_build_project,
        )
        self.build_project_action.set_help_arg(
            buildxml="Fichero del que leer las instrucciones", )

        self.folder_diff_action = self.parser.declare_action(
            name="folder-diff",
            args=["patchdir", "basedir", "finaldir"],
            options=["patch-name", "patch-qs-style", "patch-xml-style"],
            description=
            u"Genera en $patchdir una colección de parches de la diferencia entre las carpetas $basedir y $finaldir",
            call_function=self.do_folder_diff,
        )

        self.folder_diff_action = self.parser.declare_action(
            name="folder-diff",
            args=["patchdir", "basedir", "finaldir"],
            options=[
                "patch-name", "patch-py-style", "patch-test-style",
                "patch-xml-style"
            ],
            description=
            u"Genera en $patchdir una colección de parches de la diferencia entre las carpetas $basedir y $finaldir",
            call_function=self.do_folder_diff,
        )

        self.folder_diff_action = self.parser.declare_action(
            name="folder-diff",
            args=["patchdir", "basedir", "finaldir"],
            options=[
                "patch-name", "patch-py-style", "patch-model-style",
                "patch-xml-style"
            ],
            description=
            u"Genera en $patchdir una colección de parches de la diferencia entre las carpetas $basedir y $finaldir",
            call_function=self.do_folder_diff,
        )
        self.folder_diff_action.set_help_arg(
            patchdir="Carpeta donde guardar las diferencias",
            basedir="Carpeta a leer como referencia",
            finaldir="Carpeta a comparar",
        )

        self.folder_patch_action = self.parser.declare_action(
            name="folder-patch",
            args=["patchdir", "basedir", "finaldir"],
            options=["patch-name"],
            description=
            u"Aplica los parches en $patchdir a la carpeta $basedir y genera $finaldir",
            call_function=self.do_folder_patch,
        )
        self.folder_patch_action.set_help_arg(
            patchdir="Carpeta donde leer las diferencias",
            basedir="Carpeta a leer como referencia",
            finaldir="Carpeta a aplicar los cambios",
        )

        self.file_diff_action = self.parser.declare_action(
            name="file-diff",
            args=["ext", "base", "final"],
            description=
            u"Genera un parche de fichero $ext de la diferencia entre el fichero $base y $final",
            options=['output-file', 'clean-patch'],
            call_function=self.do_file_diff,
            min_file_list=0,  # por defecto es 0
            max_file_list=0,  # por defecto es 0, -1 indica sin límite.
            min_argcount=
            -1  # cantidad de argumentos obligatorios. por defecto -1
        )
        self.file_diff_action.set_help_arg(
            ext="Tipo de fichero a procesar: QS / XML / PY / PY_test",
            base="Fichero original",
            final="Fichero final",
        )
        self.file_patch_action = self.parser.declare_action(
            name="file-patch",
            args=["ext", "base", "patch"],
            description=
            u"Aplica un parche de fichero $ext especificado por $patch al fichero $base",
            options=[
                'output-file', 'patch-qs-rewrite', 'patch-py-rewrite',
                'patch-test-rewrite', "enable-diff-xml-search-move",
                "patch-xml-style"
            ],
            call_function=self.do_file_patch,
        )
        self.file_patch_action.set_help_arg(
            ext="Tipo de fichero a procesar: QS / XML / PY / PY_test",
            base="Fichero original",
            patch="Parche a aplicar sobre $base",
        )
        self.file_diff_action.set_help_arg(
            ext="Tipo de fichero a procesar: QS / XML / PY / PY_model",
            base="Fichero original",
            final="Fichero final",
        )
        self.file_patch_action = self.parser.declare_action(
            name="file-patch",
            args=["ext", "base", "patch"],
            description=
            u"Aplica un parche de fichero $ext especificado por $patch al fichero $base",
            options=[
                'output-file', 'patch-qs-rewrite', 'patch-py-rewrite',
                'patch-model-rewrite', "enable-diff-xml-search-move",
                "patch-xml-style"
            ],
            call_function=self.do_file_patch,
        )
        self.file_patch_action.set_help_arg(
            ext="Tipo de fichero a procesar: QS / XML / PY / PY_model",
            base="Fichero original",
            patch="Parche a aplicar sobre $base",
        )
        self.file_check_action = self.parser.declare_action(
            name="file-check",
            args=["check", "filename"],
            description=
            u"Analiza un fichero $filename en busca de errores usando el algoritmo de comprobación $check",
            options=['patch-dest'],
            call_function=self.do_file_check,
        )
        self.file_check_action.set_help_arg(
            check="Tipo de análisis a realizar: qs-classes / ...",
            filename="Fichero a analizar",
        )
        self.qs_extract_action = self.parser.declare_action(
            name="qs-extract",
            args=["final", "classlist"],
            description=
            u"Extrae del fichero $final las clases indicadas en $classlist",
            options=['output-file'],
            call_function=self.do_qs_extract,
        )
        self.py_extract_action = self.parser.declare_action(
            name="py-extract",
            args=["final", "classlist"],
            description=
            u"Extrae del fichero $final las clases indicadas en $classlist",
            options=['output-file'],
            call_function=self.do_py_extract,
        )
        self.test_extract_action = self.parser.declare_action(
            name="test-extract",
            args=["final", "classlist"],
            description=
            u"Extrae del fichero $final las clases indicadas en $classlist",
            options=['output-file'],
            call_function=self.do_test_extract,
        )
        self.model_extract_action = self.parser.declare_action(
            name="model-extract",
            args=["final", "classlist"],
            description=
            u"Extrae del fichero $final las clases indicadas en $classlist",
            options=['output-file'],
            call_function=self.do_model_extract,
        )
        self.qs_extract_action.set_help_arg(
            final="Fichero QS que contiene las clases a extraer",
            classlist=
            "Lista de clases a extraer, separadas por coma y sin espacios: class1,class2,...",
        )
        self.py_extract_action.set_help_arg(
            final="Fichero PY que contiene las clases a extraer",
            classlist=
            "Lista de clases a extraer, separadas por coma y sin espacios: class1,class2,...",
        )
        self.test_extract_action.set_help_arg(
            final="Fichero PY_test que contiene las clases a extraer",
            classlist=
            "Lista de clases a extraer, separadas por coma y sin espacios: class1,class2,...",
        )
        self.model_extract_action.set_help_arg(
            final="Fichero PY_model que contiene las clases a extraer",
            classlist=
            "Lista de clases a extraer, separadas por coma y sin espacios: class1,class2,...",
        )

        self.qs_split_action = self.parser.declare_action(
            name="qs-split",
            args=["final"],
            description=
            u"Separa el fichero $final en subficheros en una carpeta",
            options=[],
            call_function=self.do_qs_split,
        )
        self.qs_split_action.set_help_arg(final="Fichero QS", )

        self.qs_join_action = self.parser.declare_action(
            name="qs-join",
            args=["folder"],
            description=u"Une la carpeta $folder en un fichero",
            options=[],
            call_function=self.do_qs_join,
        )
        self.qs_join_action.set_help_arg(
            folder="Carpeta con los subficheros QS", )

        self.py_split_action = self.parser.declare_action(
            name="py-split",
            args=["final"],
            description=
            u"Separa el fichero $final en subficheros en una carpeta",
            options=[],
            call_function=self.do_py_split,
        )
        self.py_split_action.set_help_arg(final="Fichero PY", )
        self.test_split_action = self.parser.declare_action(
            name="test-split",
            args=["final"],
            description=
            u"Separa el fichero $final en subficheros en una carpeta",
            options=[],
            call_function=self.do_test_split,
        )
        self.test_split_action.set_help_arg(final="Fichero PY_test", )
        self.model_split_action = self.parser.declare_action(
            name="model-split",
            args=["final"],
            description=
            u"Separa el fichero $final en subficheros en una carpeta",
            options=[],
            call_function=self.do_model_split,
        )
        self.model_split_action.set_help_arg(final="Fichero PY_model", )

        self.py_join_action = self.parser.declare_action(
            name="py-join",
            args=["folder"],
            description=u"Une la carpeta $folder en un fichero",
            options=[],
            call_function=self.do_py_join,
        )
        self.py_join_action.set_help_arg(
            folder="Carpeta con los subficheros PY", )
        self.test_join_action = self.parser.declare_action(
            name="test-join",
            args=["folder"],
            description=u"Une la carpeta $folder en un fichero",
            options=[],
            call_function=self.do_test_join,
        )
        self.test_join_action.set_help_arg(
            folder="Carpeta con los subficheros PY_test", )
        self.model_join_action = self.parser.declare_action(
            name="model-join",
            args=["folder"],
            description=u"Une la carpeta $folder en un fichero",
            options=[],
            call_function=self.do_model_join,
        )
        self.model_join_action.set_help_arg(
            folder="Carpeta con los subficheros PY_model", )
Beispiel #10
0
    def setup_parser(self):
        EnebooToolsInterface.setup_parser(self)

        self.new_action = self.parser.declare_action(
            name = "new",
            args = ["subfoldername","description","patchurl"],
            options = [],
            min_argcount = 0,
            description = u"Crea una nueva plantilla de funcionalidad",
            call_function = self.do_new,
            )

        self.new_action.set_help_arg(
            subfoldername = "Nombre de la subcarpeta que será creada. Debe seguir la plantilla extA999-codename.",
            description = "Nombre descriptivo para la funcionalidad",
            patchurl = "Ruta para importar un parche",
            )
            
        self.build_action = self.parser.declare_action(
            name = "build",
            args = ["feat","target"],
            options = [],
            description = u"Construye el objetivo $target de la funcionalidad $feat",
            call_function = self.do_build,
            )
        self.build_action.set_help_arg(
            target = "Objetivo a construir",
            feat = "Funcionalidad a construir",
            )                
            
        
        self.save_fullpatch_action = self.parser.declare_action(
            name = "save-fullpatch",
            args = ["feat"],
            options = [],
            description = u"Para la funcionalidad $feat guarda los cambios como parche completo",
            call_function = self.do_save_fullpatch,
            )
        self.build_action.set_help_arg(
            feat = "Funcionalidad a construir",
            )                
            
        
        
        self.test_deps_action = self.parser.declare_action(
            name = "test-deps",
            args = ["feat"],
            options = [],
            description = u"Para la funcionalidad $feat analiza qué dependencias faltan",
            call_function = self.do_test_deps,
            )
        self.test_deps_action.set_help_arg(
            feat = "Funcionalidad a analizar",
            )                
            
        
        self.dbupdate_action = self.parser.declare_action(
            name = "dbupdate",
            args = [],
            options = [],
            description = u"Actualiza la base de datos de módulos y extensiones existentes",
            call_function = self.do_dbupdate,
            )
            
        self.list_objects_action = self.parser.declare_action(
            name = "list-objects",
            args = [],
            options = [],
            description = u"Lista los objetos (módulos y funcionalidades) en la base de datos",
            call_function = self.do_list_objects,
            )
            
        self.howto_build_action = self.parser.declare_action(
            name = "howto-build",
            args = ["feat","target"],
            options = [],
            description = u"Explica los pasos a seguir para construir el objetivo $target de la funcionalidad $feat",
            call_function = self.do_howto_build,
            )
        self.howto_build_action.set_help_arg(
            target = "Objetivo a construir",
            feat = "Funcionalidad a construir",
            )                
Beispiel #11
0
 def __init__(self, setup_parser=True):
     EnebooToolsInterface.__init__(self, False)
     if setup_parser: self.setup_parser()
Beispiel #12
0
    def setup_parser(self):
        EnebooToolsInterface.setup_parser(self)

        self.new_action = self.parser.declare_action(
            name="new",
            args=["subfoldername", "description", "patchurl"],
            options=[],
            min_argcount=0,
            description=u"Crea una nueva plantilla de funcionalidad",
            call_function=self.do_new,
        )

        self.new_action.set_help_arg(
            subfoldername=
            "Nombre de la subcarpeta que será creada. Debe seguir la plantilla extA999-codename.",
            description="Nombre descriptivo para la funcionalidad",
            patchurl="Ruta para importar un parche",
        )

        self.build_action = self.parser.declare_action(
            name="build",
            args=["feat", "target"],
            options=[],
            description=
            u"Construye el objetivo $target de la funcionalidad $feat",
            call_function=self.do_build,
        )
        self.build_action.set_help_arg(
            target="Objetivo a construir",
            feat="Funcionalidad a construir",
        )

        self.save_fullpatch_action = self.parser.declare_action(
            name="save-fullpatch",
            args=["feat"],
            options=[],
            description=
            u"Para la funcionalidad $feat guarda los cambios como parche completo",
            call_function=self.do_save_fullpatch,
        )
        self.build_action.set_help_arg(feat="Funcionalidad a construir", )

        self.test_deps_action = self.parser.declare_action(
            name="test-deps",
            args=["feat"],
            options=[],
            description=
            u"Para la funcionalidad $feat analiza qué dependencias faltan",
            call_function=self.do_test_deps,
        )
        self.test_deps_action.set_help_arg(feat="Funcionalidad a analizar", )

        self.dbupdate_action = self.parser.declare_action(
            name="dbupdate",
            args=[],
            options=[],
            description=
            u"Actualiza la base de datos de módulos y extensiones existentes",
            call_function=self.do_dbupdate,
        )

        self.list_objects_action = self.parser.declare_action(
            name="list-objects",
            args=[],
            options=[],
            description=
            u"Lista los objetos (módulos y funcionalidades) en la base de datos",
            call_function=self.do_list_objects,
        )

        self.howto_build_action = self.parser.declare_action(
            name="howto-build",
            args=["feat", "target"],
            options=[],
            description=
            u"Explica los pasos a seguir para construir el objetivo $target de la funcionalidad $feat",
            call_function=self.do_howto_build,
        )
        self.howto_build_action.set_help_arg(
            target="Objetivo a construir",
            feat="Funcionalidad a construir",
        )