Esempio n. 1
0
    def __run(self, dialog):
        # cargar proyecto
        archivo = os.path.join(self.proyecto_path, "proyecto.ide")
        arch = open(archivo, "r")
        self.proyecto = json.load(arch, "utf-8")
        arch.close()

        # crear estructura
        path = os.path.join(CONFPATH, self.proyecto["nombre"])
        if os.path.exists(path):
            shutil.rmtree(path)
        deb_path = os.path.join(path, "DEBIAN")
        usr_path = os.path.join(path, "usr")
        os.mkdir(path)
        os.mkdir(deb_path)
        os.mkdir(usr_path)
        os.mkdir(os.path.join(usr_path, "bin"))
        os.mkdir(os.path.join(usr_path, "share"))
        os.mkdir(os.path.join(usr_path, "share", "applications"))

        # copiar proyecto a os.path.join(self.usr_path, "share")
        commands.getoutput('cp -r \"%s\" \"%s\"' % (self.proyecto_path,
            os.path.join(usr_path, "share")))
        self.proyecto_path = path
        # FIXME: bug en shutil al copiar directorios o archivos que
        # poseen ñ en el path: UnicodeDecodeError:
        # 'ascii' codec can't decode byte 0xc3 in position 5:
        # ordinal not in range(128)

        # deb control
        path = os.path.join(deb_path, "control")
        texto = get_guion_deb_control(self.proyecto)
        page = ScrollPage(path, "txt", texto)
        self.append_page(page, Gtk.Label("Control"))
        self.set_tab_reorderable(page, True)
        page.source.guardar()

        # Lanzador
        path = os.path.join(usr_path, "bin",
            self.proyecto["nombre"].lower())
        texto = get_guion_lanzador_sh(self.proyecto)
        page = ScrollPage(path, "sh", texto)
        self.append_page(page, Gtk.Label("Lanzador"))
        self.set_tab_reorderable(page, True)
        page.source.guardar()

        # desktop
        path = os.path.join(usr_path, "share", "applications",
            "%s.desktop" % self.proyecto["nombre"])
        texto = get_guion_desktop(self.proyecto, "")
        page = ScrollPage(path, "desktop", texto)
        self.append_page(page, Gtk.Label("Desktop"))
        self.set_tab_reorderable(page, True)
        page.source.guardar()

        self.show_all()
        GLib.timeout_add(30, self.__hide)
Esempio n. 2
0
    def __run(self, dialog):
        # cargar proyecto
        archivo = os.path.join(self.proyecto_path, "proyecto.ide")
        arch = open(archivo, "r")
        self.proyecto = json.load(arch, "utf-8")
        arch.close()

        # crear estructura
        path = os.path.join(CONFPATH, self.proyecto["nombre"])
        if os.path.exists(path):
            shutil.rmtree(path)
        deb_path = os.path.join(path, "DEBIAN")
        usr_path = os.path.join(path, "usr")
        os.mkdir(path)
        os.mkdir(deb_path)
        os.mkdir(usr_path)
        os.mkdir(os.path.join(usr_path, "bin"))
        os.mkdir(os.path.join(usr_path, "share"))
        os.mkdir(os.path.join(usr_path, "share", "applications"))

        # copiar proyecto a os.path.join(self.usr_path, "share")
        commands.getoutput(
            'cp -r \"%s\" \"%s\"' %
            (self.proyecto_path, os.path.join(usr_path, "share")))
        self.proyecto_path = path
        # FIXME: bug en shutil al copiar directorios o archivos que
        # poseen ñ en el path: UnicodeDecodeError:
        # 'ascii' codec can't decode byte 0xc3 in position 5:
        # ordinal not in range(128)

        # deb control
        path = os.path.join(deb_path, "control")
        texto = get_guion_deb_control(self.proyecto)
        page = ScrollPage(path, "txt", texto)
        self.append_page(page, Gtk.Label("Control"))
        self.set_tab_reorderable(page, True)
        page.source.guardar()

        # Lanzador
        path = os.path.join(usr_path, "bin", self.proyecto["nombre"].lower())
        texto = get_guion_lanzador_sh(self.proyecto)
        page = ScrollPage(path, "sh", texto)
        self.append_page(page, Gtk.Label("Lanzador"))
        self.set_tab_reorderable(page, True)
        page.source.guardar()

        # desktop
        path = os.path.join(usr_path, "share", "applications",
                            "%s.desktop" % self.proyecto["nombre"])
        texto = get_guion_desktop(self.proyecto, "")
        page = ScrollPage(path, "desktop", texto)
        self.append_page(page, Gtk.Label("Desktop"))
        self.set_tab_reorderable(page, True)
        page.source.guardar()

        self.show_all()
        GLib.timeout_add(30, self.__hide)
Esempio n. 3
0
    def __run(self, dialog):
        # cargar proyecto
        archivo = os.path.join(self.proyecto_path, "proyecto.ide")
        arch = open(archivo, "r")
        self.proyecto = json.load(arch, "utf-8")
        arch.close()

        # crear estructura
        temppath = os.path.join(CONFPATH, self.proyecto["nombre"])
        if os.path.exists(temppath):
            shutil.rmtree(temppath)

        # copiar proyecto
        commands.getoutput('cp -r \"%s\" \"%s\"' %
                           (self.proyecto_path, CONFPATH))
        self.proyecto_path = temppath

        # setup.cfg
        path = os.path.join(temppath, "setup.cfg")
        texto = get_guion_setup_cfg(self.proyecto)
        page = ScrollPage(path, "txt", texto)
        self.append_page(page, Gtk.Label("setup.cfg"))
        self.set_tab_reorderable(page, True)
        page.source.guardar()

        # Lanzador
        path = os.path.join(temppath, self.proyecto["nombre"].lower())
        texto = get_guion_lanzador_sh(self.proyecto)
        page = ScrollPage(path, "sh", texto)
        self.append_page(page, Gtk.Label("Lanzador"))
        self.set_tab_reorderable(page, True)
        page.source.guardar()

        # desktop
        path = os.path.join(temppath, "%s.desktop" % self.proyecto["nombre"])
        texto = get_guion_desktop(self.proyecto, "")
        page = ScrollPage(path, "desktop", texto)
        self.append_page(page, Gtk.Label("Desktop"))
        self.set_tab_reorderable(page, True)
        page.source.guardar()

        # manifest
        path = os.path.join(temppath, "MANIFEST")
        texto = ""
        manifestpage = ScrollPage(path, "txt", texto)
        self.append_page(manifestpage, Gtk.Label("MANIFEST"))
        self.set_tab_reorderable(manifestpage, True)
        manifestpage.source.guardar()

        # setup.py
        path = os.path.join(temppath, "setup.py")
        texto = ""
        setuppage = ScrollPage(path, "python", texto)
        self.append_page(setuppage, Gtk.Label("setup.py"))
        self.set_tab_reorderable(setuppage, True)
        setuppage.source.guardar()

        # Llenar MANIFEST
        manifest_list, data_files = get_installers_data(temppath)
        texto = ""
        for item in manifest_list:
            texto = "%s\n%s" % (item, texto)
        manifestpage.source.get_buffer().set_text(texto)
        manifestpage.source.guardar()

        # Llenar setup.py
        texto = get_guion_setup_py(self.proyecto, data_files)
        setuppage.source.get_buffer().set_text(texto)
        setuppage.source.guardar()

        self.show_all()
        GLib.timeout_add(30, self.__hide)
Esempio n. 4
0
    def __run(self, dialog):
        # cargar proyecto
        archivo = os.path.join(self.proyecto_path, "proyecto.ide")
        arch = open(archivo, "r")
        self.proyecto = json.load(arch, "utf-8")
        arch.close()

        # crear estructura
        temppath = os.path.join(CONFPATH, self.proyecto["nombre"])
        if os.path.exists(temppath):
            shutil.rmtree(temppath)

        # copiar proyecto
        commands.getoutput('cp -r \"%s\" \"%s\"' % (
            self.proyecto_path, CONFPATH))
        self.proyecto_path = temppath

        # setup.cfg
        path = os.path.join(temppath, "setup.cfg")
        texto = get_guion_setup_cfg(self.proyecto)
        page = ScrollPage(path, "txt", texto)
        self.append_page(page, Gtk.Label("setup.cfg"))
        self.set_tab_reorderable(page, True)
        page.source.guardar()

        # Lanzador
        path = os.path.join(temppath, self.proyecto["nombre"].lower())
        texto = get_guion_lanzador_sh(self.proyecto)
        page = ScrollPage(path, "sh", texto)
        self.append_page(page, Gtk.Label("Lanzador"))
        self.set_tab_reorderable(page, True)
        page.source.guardar()

        # desktop
        path = os.path.join(temppath, "%s.desktop" % self.proyecto["nombre"])
        texto = get_guion_desktop(self.proyecto, "")
        page = ScrollPage(path, "desktop", texto)
        self.append_page(page, Gtk.Label("Desktop"))
        self.set_tab_reorderable(page, True)
        page.source.guardar()

        # manifest
        path = os.path.join(temppath, "MANIFEST")
        texto = ""
        manifestpage = ScrollPage(path, "txt", texto)
        self.append_page(manifestpage, Gtk.Label("MANIFEST"))
        self.set_tab_reorderable(manifestpage, True)
        manifestpage.source.guardar()

        # setup.py
        path = os.path.join(temppath, "setup.py")
        texto = ""
        setuppage = ScrollPage(path, "python", texto)
        self.append_page(setuppage, Gtk.Label("setup.py"))
        self.set_tab_reorderable(setuppage, True)
        setuppage.source.guardar()

        # Llenar MANIFEST
        manifest_list, data_files = get_installers_data(temppath)
        texto = ""
        for item in manifest_list:
            texto = "%s\n%s" % (item, texto)
        manifestpage.source.get_buffer().set_text(texto)
        manifestpage.source.guardar()

        # Llenar setup.py
        texto = get_guion_setup_py(self.proyecto, data_files)
        setuppage.source.get_buffer().set_text(texto)
        setuppage.source.guardar()

        self.show_all()
        GLib.timeout_add(30, self.__hide)