Started to write Makefile

This commit is contained in:
Filippo Bedendo Bordon 2011-11-09 22:55:09 +01:00
parent 4cfdab8195
commit bfb4445191
18 changed files with 39 additions and 636 deletions

View File

@ -1,24 +1,27 @@
#Makefile per license-dialog
#E' il primo che scrivo, quindi lascio il resto alla vostra immaginazione ;D
# Makefile del programma usbinstall
# Linguaggi: python, bash
PACKAGE=license-dialog
distdir = $(PACKAGE)-$(VERSION)
dist_archive = $(distdir).tar.bz2
PACKAGE := usbinstall
distdir := $(PACKAGE)-$(VERSION)
dist_archive := $(distdir).tar.bz2
include VERSION
#Directory
bindir = /usr/bin
datadir = /usr/share
localesdir = ${datadir}/locale
# Directory
bindir := /usr/bin
datadir := /usr/share
mambadir := /usr/share/openmamba
localesdir := ${datadir}/locale
DESTDIR :=
INSTALL := /usr/bin/install
INSTALL_PROGRAM := ${INSTALL} -m 755
INSTALL_DATA := ${INSTALL} -m 644
INSTALL_DIR := ${INSTALL} -d -m 755
INSTALL_SCRIPT := ${INSTALL_PROGRAM}
DESTDIR =
INSTALL = /usr/bin/install
INSTALL_PROGRAM = ${INSTALL} -m 755
INSTALL_DATA = ${INSTALL} -m 644
INSTALL_DIR = ${INSTALL} -d -m 755
INSTALL_SCRIPT = ${INSTALL_PROGRAM}
pck_catalogs := $(wildcard po/*.po)
@ -35,17 +38,30 @@ install-locales: locales
echo "installing i18n file for language \`$$lang'...";\
dir="$(DESTDIR)$(localesdir)/$$lang/LC_MESSAGES";\
$(INSTALL_DIR) $$dir;\
$(INSTALL_DATA) $${f/.po/.mo} $$dir/license-dialog.mo;\
$(INSTALL_DATA) $${f/.po/.mo} $$dir/usbinstall.mo;\
done
install-dirs:
@$(INSTALL_DIR) $(DESTDIR)$(bindir)
@$(INSTALL_DIR) $(DESTDIR)$(mambadir)/usbinstall
@$(INSTALL_DIR) $(DESTDIR)$(mambadir)/usbinstall/img
install: install-dirs install-locales
$(INSTALL_PROGRAM) src/usbinstall.py $(DESTDIR)$(mambadir)/usbinstall/usbinstall.py
$(INSTALL_SCRIPT) src/usbinstall.sh $(DESTDIR)$(mambadir)/usbinstall/usbinstall.sh
$(INSTALL_PROGRAM) src/gui.py $(DESTDIR)$(mambadir)/usbinstall/gui.py
$(INSTALL_DATA) src/fdisk_template $(DESTDIR)$(mambadir)/usbinstall/fdisk_template
$(INSTALL_DATA) src/img/* $(DESTDIR)$(mambadir)/usbinstall/img/
# Crea un link in /usr/bin agli eseguibili in $(mambadir)/usbinstall
ln -s $(DESTDIR)$(mambadir)/usbinstall/usbinstall.py $(DESTDIR)$(bindir)/usbinstall.py
install: install-dirs install-locales
$(INSTALL_PROGRAM) src/license-dialog $(DESTDIR)$(bindir)/license-dialog
clean:
rm -f $(pck_catalogs:.po=.mo)
rm -f *.pyc
rm -f $(dist_archive)
dist: clean

View File

@ -1,16 +0,0 @@
d
4
d
3
d
2
d
n
p
1
1
a
1
w

146
gui.py
View File

@ -1,146 +0,0 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'usbinstall.ui'
#
# Created: Fri Oct 14 18:57:57 2011
# by: PyQt4 UI code generator 4.8.3
#
# WARNING! All changes made in this file will be lost!
from PyQt4 import QtCore, QtGui
try:
_fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
_fromUtf8 = lambda s: s
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
# Codice per la finestra
MainWindow.setObjectName(_fromUtf8("MainWindow"))
MainWindow.resize(500, 405)
MainWindow.setWindowTitle(_fromUtf8(""))
self.centralwidget = QtGui.QWidget(MainWindow)
self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
# Immagine di sfondo
self.i_back = QtGui.QLabel(self.centralwidget)
self.i_back.setGeometry(QtCore.QRect(10, 10, 480, 300))
self.i_back.setText(_fromUtf8(""))
self.i_back.setObjectName(_fromUtf8("i_back"))
# Label della descrizione
self.l_descrizione = QtGui.QLabel(self.centralwidget)
self.l_descrizione.setGeometry(QtCore.QRect(10, 317, 251, 31))
self.l_descrizione.setText(_fromUtf8(""))
self.l_descrizione.setObjectName(_fromUtf8("l_descrizione"))
# Linea orizzontale di separazione
self.line = QtGui.QFrame(self.centralwidget)
self.line.setGeometry(QtCore.QRect(10, 350, 481, 20))
self.line.setFrameShape(QtGui.QFrame.HLine)
self.line.setFrameShadow(QtGui.QFrame.Sunken)
self.line.setObjectName(_fromUtf8("line"))
# Bottone Avanti
self.b_avanti = QtGui.QPushButton(self.centralwidget)
self.b_avanti.setGeometry(QtCore.QRect(400, 370, 90, 29))
self.b_avanti.setObjectName(_fromUtf8("b_avanti"))
# Bottone Indietro
self.b_indietro = QtGui.QPushButton(self.centralwidget)
self.b_indietro.setGeometry(QtCore.QRect(300, 370, 90, 29))
self.b_indietro.setText(_fromUtf8(""))
self.b_indietro.setObjectName(_fromUtf8("b_indietro"))
# Bottone di help
self.b_help = QtGui.QPushButton(self.centralwidget)
self.b_help.setGeometry(QtCore.QRect(464, 320, 26, 26))
self.b_help.setText(_fromUtf8(""))
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap(_fromUtf8("img/dialog-question.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.b_help.setIcon(icon)
self.b_help.setIconSize(QtCore.QSize(24, 24))
self.b_help.setFlat(True)
self.b_help.setObjectName(_fromUtf8("b_help"))
# Casella di testo con il percorso del file scelto
self.t_file = QtGui.QLineEdit(self.centralwidget)
self.t_file.setGeometry(QtCore.QRect(212, 321, 222, 25))
self.t_file.setObjectName(_fromUtf8("t_file"))
# Immagine che rende piu lunga la casella di testo
self.pach1 = QtGui.QLabel(self.centralwidget)
self.pach1.setGeometry(QtCore.QRect(430, 320, 32, 27))
self.pach1.setText(_fromUtf8(""))
self.pach1.setPixmap(QtGui.QPixmap(_fromUtf8("img/pach1.png")))
self.pach1.setObjectName(_fromUtf8("pach1"))
# Bottone sopra la parte della finta casella di testo
self.b_apri_file = QtGui.QPushButton(self.centralwidget)
self.b_apri_file.setGeometry(QtCore.QRect(431, 320, 31, 27))
self.b_apri_file.setText(_fromUtf8(""))
icon1 = QtGui.QIcon()
icon1.addPixmap(QtGui.QPixmap(_fromUtf8("img/document-open.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.b_apri_file.setIcon(icon1)
self.b_apri_file.setFlat(True)
self.b_apri_file.setObjectName(_fromUtf8("b_apri_file"))
# Immagine del fumetto
self.n_img = QtGui.QLabel(self.centralwidget)
self.n_img.setGeometry(QtCore.QRect(289, 200, 211, 121))
self.n_img.setText(_fromUtf8(""))
self.n_img.setPixmap(QtGui.QPixmap(_fromUtf8("img/nuvola.png")))
self.n_img.setObjectName(_fromUtf8("n_img"))
self.n_img.hide()
# Testo del fumetto
self.n_testo = QtGui.QLabel(self.centralwidget)
self.n_testo.setGeometry(QtCore.QRect(298, 200, 181, 101))
self.n_testo.setText(_fromUtf8(""))
self.n_testo.setOpenExternalLinks(True)
self.n_testo.setWordWrap(True)
self.n_testo.setObjectName(_fromUtf8("n_testo"))
self.n_testo.hide()
# Croce del fumetto
self.n_chiudi = QtGui.QPushButton(self.centralwidget)
self.n_chiudi.setGeometry(QtCore.QRect(471, 202, 14, 14))
self.n_chiudi.setText(_fromUtf8(""))
icon1 = QtGui.QIcon()
icon1.addPixmap(QtGui.QPixmap(_fromUtf8("img/exit.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.n_chiudi.setIcon(icon1)
self.n_chiudi.setFlat(True)
self.n_chiudi.hide()
# Bottone del refresh della lista usb
self.b_refresh = QtGui.QPushButton(self.centralwidget)
self.b_refresh.setGeometry(QtCore.QRect(435, 320, 26, 26))
self.b_refresh.setText(_fromUtf8(""))
icon2 = QtGui.QIcon()
icon2.addPixmap(QtGui.QPixmap(_fromUtf8("img/view-refresh.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.b_refresh.setIcon(icon2)
self.b_refresh.setIconSize(QtCore.QSize(24, 24))
self.b_refresh.setFlat(True)
self.b_refresh.setObjectName(_fromUtf8("pushButton_5"))
# comboBox con la lista delle periferiche usb
self.l_usb = QtGui.QComboBox(self.centralwidget)
self.l_usb.setEnabled(True)
self.l_usb.setGeometry(QtCore.QRect(158, 320, 271, 25))
self.l_usb.setEditable(False)
self.l_usb.setObjectName(_fromUtf8("comboBox"))
#inizializza la progressbar
self.p_installazione = QtGui.QProgressBar(self.centralwidget)
self.p_installazione.setGeometry(QtCore.QRect(10, 354, 480, 36))
self.p_installazione.setProperty("value", 0)
self.p_installazione.setObjectName("progressBar")
self.p_installazione.hide()
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
self.b_avanti.setText(QtGui.QApplication.translate("MainWindow", "Avanti", None, QtGui.QApplication.UnicodeUTF8))

Binary file not shown.

Before

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 869 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 528 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 830 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 401 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -75,7 +75,7 @@ msgid "Step 4/4 - installation of openmamba to usb"
msgstr "Passo 4/4 - installazione di openmamba su usb"
msgid "Choose the .cpio file"
msgstr "Scegli l\'archivio .cpio per il boot"
msgstr "Scegli l'archivio .cpio per il boot"
msgid "Choose the openmamba .iso file"
msgstr "Scegli il file iso di openmamba"

View File

@ -234,19 +234,19 @@ def seleziona_usb(i):
def passo1():
aggiorna_oggetti("img/back1.png", _("Step 1/4 - choice the boot file"), _("Choose the .cpio file"))
aggiorna_oggetti("/usr/share/openmamba/usbinstall/img/back1.png", _("Step 1/4 - choice the boot file"), _("Choose the .cpio file"))
def passo2():
aggiorna_oggetti("img/back2.png", _("Step 2/4 - choice the iso file"), _("Choose the openmamba .iso file"))
aggiorna_oggetti("/usr/share/openmamba/usbinstall/img/back2.png", _("Step 2/4 - choice the iso file"), _("Choose the openmamba .iso file"))
def passo3():
aggiorna_oggetti("img/back3.png", _("Step 3/4 - choice of usb key"), _("Choose the usb key"))
aggiorna_oggetti("/usr/share/openmamba/usbinstall/img/back3.png", _("Step 3/4 - choice of usb key"), _("Choose the usb key"))
def passo4():
global p
aggiorna_oggetti("img/back4.png", _("Step 4/4 - installation of openmamba to usb"), _("Installation in progress..."))
aggiorna_oggetti("/usr/share/openmamba/usbinstall/img/back4.png", _("Step 4/4 - installation of openmamba to usb"), _("Installation in progress..."))
# Nasconde gli oggetti superflui:
ui.b_help.hide()

View File

@ -1,322 +0,0 @@
# -*- coding: utf-8 -*-
#!/usr/bin/env python
from gui import * # Importa la parte grafica
import gettext
from subprocess import Popen
# La parte di dbus
import gobject
import dbus
import dbus.service
from dbus.mainloop.glib import DBusGMainLoop
if getattr(dbus, 'version', (0,0,0)) >= (0,41,0):
import dbus.glib
gettext.install('usbinstall', '/usr/share/locale', unicode=1)
# Variabili globali
passo = 1
p = "" # Processo del file .sh
ext = "" # Vedi apri_file()
path_Boot = "" # Percorso file.cpio.gz
path_Iso = "" # Percorso file.iso
sel_usb_file= ""# Chiavetta per l'installazione (file)
sel_usb_nome= ""# Modello
usb_file = [] # Lista chiavette disponibili
usb_nome = [] # Rispettivi modelli
## Assegna gli eventi agli oggetti del form
def assegna_eventi():
app.connect(ui.b_avanti, QtCore.SIGNAL('clicked()'), avanti)
app.connect(ui.b_indietro, QtCore.SIGNAL('clicked()'), indietro)
app.connect(ui.b_apri_file, QtCore.SIGNAL('clicked()'), apri_file)
app.connect(ui.b_help, QtCore.SIGNAL('clicked()'), gestisci_nuvola)
app.connect(ui.n_chiudi, QtCore.SIGNAL('clicked()'), chiudi_nuvola)
app.connect(ui.b_refresh, QtCore.SIGNAL('clicked()'), lista_usb)
app.connect(ui.l_usb, QtCore.SIGNAL("activated(int)"), seleziona_usb)
## Gestione del bottone b_avanti
def avanti():
# Prima controlla che tutto sia a posto per passare al passo successivo
global passo, path_Boot, path_Iso, sel_usb_file, sel_usb_nome
if passo == 1:
if path_Boot == "":
msg_warn(_("A file .cpio is required"))
return
else:
passo += 1
passo2()
elif passo == 2:
if path_Iso == "":
msg_warn(_("An openmamba's iso is required"))
return
else:
passo += 1
passo3()
elif passo == 3:
if sel_usb_file == "":
msg_warn(_("You must choose a usb key"))
return
else:
msg = QtGui.QMessageBox.question(None, _("Attention"), _("All data on the key ") + sel_usb_nome + _(" will be lost. \n")+_("Are you sure to continue?"),
QtGui.QMessageBox.Yes | QtGui.QMessageBox.No, QtGui.QMessageBox.Yes)
# Continua solo se l'utente preme il bottone Yes
if msg == QtGui.QMessageBox.Yes:
passo += 1
passo4()
else:
return
## Gestione del bottone b_indietro
def indietro():
global passo
passo -= 1
if passo == 0:
app.exit(1)
print _("Application terminated by pressing \"cancel\" button")
elif passo == 1:
passo1()
elif passo == 2:
passo2()
elif passo == 3:
passo3()
## Dialogo in cui si scegle i file per l'installazione
## Inoltre setta le variabili path_Boot e path_Iso e aggiorna la casella di testo con il percorso
def apri_file():
global path_Boot, path_Iso, ext
if ext == "boot":
fileType = QtCore.QString("cpio *.cpio.gz")
nfileName = QtGui.QFileDialog.getOpenFileName(None, _("Choose the boot file"), "~", "File .cpio.gz (*.cpio.gz)", fileType)
path_Boot = nfileName
ui.t_file.setText(QtGui.QApplication.translate("Dialog", nfileName, None, QtGui.QApplication.UnicodeUTF8))
elif ext == "iso":
fileType = QtCore.QString("iso *.iso")
nfileName = QtGui.QFileDialog.getOpenFileName(None, _("Choose the iso file"), "~", "File .iso (*.iso)", fileType) #26/10 path_Boot -> "~"
path_Iso = nfileName
ui.t_file.setText(QtGui.QApplication.translate("Dialog", nfileName, None, QtGui.QApplication.UnicodeUTF8))
## Visualizza l'aiuto
def gestisci_nuvola():
global passo
# Aiuto in base al passo corrente
if passo == 1:
aiuto = _("This archive is designed to make the usb bootable.") + _(" You can find this file <a style=\"color: green; \"href=\"http://www.openmamba.org/distribution/media/bootusb.html?lang=en\">here</a>")
# Cambiata anche la lingua della pagina (lang=en)
elif passo == 2:
aiuto = _("The file .iso contains the operating system. You can download it from <a style=\"color: green; \"href=\"http://www.openmamba.org/distribution/download.html?lang=en\">here</a>")
elif passo == 3:
aiuto = _("Choose an usb key for the installation. <span style=\"color:red;\">All data will be lost</span>")
ui.n_testo.setText(QtGui.QApplication.translate("Dialog", aiuto, None, QtGui.QApplication.UnicodeUTF8))
ui.n_img.show() # Immagine della nuvola
ui.n_testo.show() # Testo della nuvola
ui.n_chiudi.show()
## Nasconde la nuvola
def chiudi_nuvola():
ui.n_img.hide()
ui.n_testo.hide()
ui.n_chiudi.hide()
## Lista periferiche usb e le aggiuge alla lista (widget)
def lista_usb():
import dbus
global usb_file, usb_nome
# Cancella i valori precedenti
usb_file = []
usb_nome = []
ui.l_usb.clear()
i = 0
# Riceve da dbus le chiavette collegate al pc
bus = dbus.SystemBus()
ud_manager_obj = bus.get_object('org.freedesktop.UDisks', '/org/freedesktop/UDisks')
ud_manager = dbus.Interface(ud_manager_obj, 'org.freedesktop.UDisks')
for dev in ud_manager.EnumerateDevices():
device_obj = bus.get_object('org.freedesktop.UDisks', dev)
device_props = dbus.Interface(device_obj, dbus.PROPERTIES_IFACE)
# Se lo spazio e' minore di 1GB salta l'usb corrente
if(device_props.Get('org.freedesktop.UDisks.Device', 'PartitionSize')) > 1073741823:
# Se e' un device rimuovibile (== chiavetta usb)
if(device_props.Get('org.freedesktop.UDisks.Device', 'DeviceIsRemovable')):
usb_file.append(device_props.Get('org.freedesktop.UDisks.Device', 'DeviceFile'))
usb_nome.append(device_props.Get('org.freedesktop.UDisks.Device', 'DriveModel'))
ui.l_usb.addItem(usb_file[i] + " " + usb_nome[i])
i += 1
# Imposta il primo come quello di default
if len(usb_file) != 0:
seleziona_usb(0)
else:
print _("No usb available > 1 Gb")
## Abbreviazione di un warning
def msg_warn(testo):
msg = QtGui.QMessageBox.warning(None, _("Attention"), testo)
## Aggiorna gli oggetti al cambio del passo
def aggiorna_oggetti(immagine, titolo, descrizione):
# Funzioni che servono solo qua dentro
def nascondi_oggetti():
ui.l_usb.hide()
ui.b_refresh.hide()
ui.t_file.hide()
ui.pach1.hide()
ui.b_apri_file.hide()
def visualizza_lista_usb():
ui.l_usb.show()
ui.b_refresh.show()
def visualizza_scegli_file():
ui.t_file.show()
ui.pach1.show()
ui.b_apri_file.show()
global passo, ext, path_Boot, path_Iso
nascondi_oggetti()
if passo == 1:
ext = "boot"
path_Boot = ""
ui.b_indietro.setText(QtGui.QApplication.translate("Dialog", _("Cancel"), None, QtGui.QApplication.UnicodeUTF8))
# Visualizzo gli oggetti del passo 1
visualizza_scegli_file()
# Chiudi la nuovola dell'help al cambio di passo
chiudi_nuvola()
elif passo == 2:
ext = "iso"
path_Iso = ""
ui.b_indietro.setText(QtGui.QApplication.translate("Dialog", _("Go back"), None, QtGui.QApplication.UnicodeUTF8))
visualizza_scegli_file()
# Chiudi la nuovola dell'help al cambio di passo
chiudi_nuvola()
elif passo == 3:
visualizza_lista_usb()
lista_usb()
# Chiudi la nuovola dell'help al cambio di passo
chiudi_nuvola()
elif passo == 4:
chiudi_nuvola()
ui.t_file.setText(QtGui.QApplication.translate("Dialog", "", None, QtGui.QApplication.UnicodeUTF8))
ui.i_back.setPixmap(QtGui.QPixmap(immagine))
Dialog.setWindowTitle(QtGui.QApplication.translate("Dialog", titolo, None, QtGui.QApplication.UnicodeUTF8))
ui.l_descrizione.setText(QtGui.QApplication.translate("Dialog", descrizione, None, QtGui.QApplication.UnicodeUTF8))
## Setta la variabili globali sel_usb_* con l'usb scelto
def seleziona_usb(i):
global sel_usb_file, usb_file, sel_usb_nome, usb_nome
sel_usb_file = usb_file[i]
sel_usb_nome = usb_nome[i]
### Inizio dei vari passi
def passo1():
aggiorna_oggetti("img/back1.png", _("Step 1/4 - choice the boot file"), _("Choose the .cpio file"))
def passo2():
aggiorna_oggetti("img/back2.png", _("Step 2/4 - choice the iso file"), _("Choose the openmamba .iso file"))
def passo3():
aggiorna_oggetti("img/back3.png", _("Step 3/4 - choice of usb key"), _("Choose the usb key"))
def passo4():
global p
aggiorna_oggetti("img/back4.png", _("Step 4/4 - installation of openmamba to usb"), _("Installation in progress..."))
# Nasconde gli oggetti superflui:
ui.b_help.hide()
ui.line.hide()
ui.b_indietro.hide()
ui.b_avanti.hide()
# Mostra la progressBar
ui.p_installazione.show()
init_ascolto()
p = Popen(["./usbinstall.sh", "start", sel_usb_file, path_Boot, path_Iso])
print _("Installation process started")
def init_ascolto():
session_bus = dbus.SessionBus()
bus_name = dbus.service.BusName('org.openmamba.usbinstall', bus=session_bus)
dbus_loop = setta_dbus(bus_name)
bus = dbus.SessionBus(mainloop=dbus_loop)
class setta_dbus(dbus.service.Object):
def __init__(self, bus_name, object_path='/org/openmamba/usbinstall'):
dbus.service.Object.__init__(self, bus_name, object_path)
@dbus.service.method('org.openmamba.usbinstall')
def Pbar_aggiorna(self, p):
ui.p_installazione.setProperty("value", int(p))
if p == 100:
installazione_terminata()
return 0
@dbus.service.method('org.openmamba.usbinstall')
def Descrizione(self, desc):
ui.l_descrizione.setText(QtGui.QApplication.translate("Dialog",desc, None, QtGui.QApplication.UnicodeUTF8))
return 0
@dbus.service.method('org.openmamba.usbinstall')
def Esci(self):
mainloop.quit()
app.exit(0)
# Termina lo scipt e dbus insieme alla finestra
def closeEvent(form, event):
installazione_terminata()
def installazione_terminata():
global p
msg = QtGui.QMessageBox.information(None, _("Information"), _("Installation process completed"))
p.terminate()
mainloop.quit()
app.exit(0)
# Inizializza la parte grafica
app = QtGui.QApplication([])
Dialog = QtGui.QDialog()
ui = Ui_MainWindow()
ui.setupUi(Dialog)
mainloop = gobject.MainLoop()
def run():
assegna_eventi()
passo1()
ui.b_avanti.setText(QtGui.QApplication.translate("Dialog", _("Go on"), None, QtGui.QApplication.UnicodeUTF8))
Dialog.show() # Mostra il dialog precedentemente creato
return app.exec_()
if __name__ == "__main__":
run()

View File

@ -1,129 +0,0 @@
#!/bin/bash
# openmamba-usbinstall è uno script per la generazione automatica di una chiavetta di boot per openmamba snapshot.
# Se i file necessari sono presenti sul disco fisso verranno utilizzati quelli altrimenti
# scaricherà direttamente la versione attuale dal sito di openmamba.
# se il file iso è presente nella home verrà usato direttamente altrimenti si aprirà un dialogo dove sarà possibile cercarlo.
# (c) 2009 ercole 'ercolinux' carpanetto - ercole69@gmail.com
# (c) 2009-2010 Silvan Calarco - silvan.calarco@mambasoft.it
# rilasciato secondo la licenza GPL v.3
# 17/10/11 Script modificato organizzando il codice in funzioni, chiamate dal modulo installazione.py
# formattazione della chiavetta e installazione dei file necessari al boot di openmamba
#1 Smonta la partizione
inst_dev_umount()
{
sudo umount ${1}1
}
#2 Crea la partizione
inst_new_part()
{
sudo fdisk $1 <./fdisk_template
}
#3 Formatta la partizione (e la monta)
inst_format()
{
sudo mkfs.ext3 ${1}1 -L openmamba_live
mkdir -p ~/tmpmamba
sudo mount ${1}1 ~/tmpmamba
sudo chmod 777 ~/tmpmamba
}
#4 Estrae il file boot
inst_extr_boot()
{
cd ~/tmpmamba
gunzip -c < $1 | cpio -i
}
#5 Installa il bootloader
inst_make_boot()
{
cd ~/tmpmamba
sudo extlinux --install boot
sudo install-mbr -e 1 $1
}
#6 Copia la iso sull'usb
inst_copy_iso()
{
cd ~/tmpmamba
orig_size=$(stat -c %s $1)
cp "$1" ./ &
dest_size=0
sleep 2
while [ $orig_size -gt $dest_size ] ; do
dest_size=$(stat -c %s ./"`basename $1`")
percentuale=$((45 + ( 50 * $dest_size ) / $orig_size ))
pbar $percentuale
done
ln -fs `basename $1` ./openmamba-live.iso
}
#7 Smonta la chiavetta
inst_dir_umount()
{
# So it attend up to umount return without errors
while [ 1 ] ; do
sudo umount ${1}
if [ $? != 1 ]; then
break
fi
done
echo "Done"
rmdir ~/tmpmamba
}
# Aggiorna la progressbar $1 == %
pbar()
{
dbus-send --print-reply --session --dest=org.openmamba.usbinstall /org/openmamba/usbinstall org.openmamba.usbinstall.Pbar_aggiorna int32:$1
}
descrizione()
{
dbus-send --print-reply --session --dest=org.openmamba.usbinstall /org/openmamba/usbinstall org.openmamba.usbinstall.Descrizione "string:$1"
}
if [ $1 == "start" ]; then
descrizione "Smonto la chiavetta"
inst_dev_umount $2
pbar 2
descrizione "Formattazione della chiavetta in corso..."
inst_new_part $2
pbar 5
inst_format $2
pbar 20
descrizione "Estrazione del file di boot in corso..."
inst_extr_boot $3
pbar 38
descrizione "Scrittura del bootloader in corso..."
inst_make_boot $2
pbar 45
descrizione "Copia del file iso di openmamba in corso..."
inst_copy_iso $4
pbar 98
descrizione "Smonto la chiavetta"
inst_dir_umount $2
pbar 100
else
echo $1 "Parametri non validi"
fi