Script Python que uso para cambiar proyectos de Legobox a Lb-min

Lb-min pasara a ser la nueva base para mis proyectos actuales y futuros hasta cierto punto, cambiar manualmente un proyecto de legobox a lb-min (legobox mini) es algo medianamente tedioso, por lo que recurro a un script en Python para facilitarme la tarea.

La gran diferencia entre Legobox original vs Lb min es la organizacion de las carpetas, veamos:

Carpetas de Legobox original

  • Core
    • modules
      • index
        • view
          • index
            • widget-default.php
          • other
            • widget-default.php
          • etc
            • widget-default.php

Carpetas de Lb-min

  • Core
    • App
      • View
        • index-view.php
        • other-view.php
        • etc-view.php

 

El problema radica en que cada vista y action de legobox esta dentro de una carpeta con el nombre de la vista y dentro de la carpeta se encuentra un archivo widget-default.php, en la version lb-min las carpetas se eliminan y los archivos widget-default se sustituyen por archivos (vista)-view.php donde (vista) equivale al nombre que deberia tener la carpeta, espero haber explicado.

El script hace extactamente esta tarea, recorre las carpetas con el nombre vista, y luego copia el archivo widget-default.php o action-default.php y lo copia a la raiz de la carpeta “view” con el nuevo nombre (vista)-view.php o (action)-action.php.

Script para views

 

Script para actions

Dentro de la funcion os.walk introducimos la direccion donde se encuentan las vistas o los actions para despues convertirlos archivos.

Bueno, eso es todo lo que hago con estos scripts, espero que a alguien les pueda servir para algo 😉

Posted by Agustin Ramos

Soy un apasionado desarrollador de software, ingeniero, creativo, geek, me gusta crear proyectos open source, y dar cursos sobre programacion, soy fundador de InFlask Solutions una empresa donde vendo licencias comerciales de mi software.

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.