# SVN changeset patch
# User ralonso
# Date 2010-05-04 22:04:49.235462
# Revision 31
***
Index: bk_manager/trunk/ui/MainWindow.py
===================================================================
diff --git a/bk_manager/trunk/ui/MainWindow.py b/bk_manager/trunk/ui/MainWindow.py
--- a/bk_manager/trunk/ui/MainWindow.py (revision 30)
+++ b/bk_manager/trunk/ui/MainWindow.py (revision 31)
@@ -33,10 +33,50 @@
Se usa para inicializar ciertos parametros para pruebas
"""
self.txtDpath.setText('/home/ricardoar/optional/STORAGE/EW_DRIFTS')
- self.txtRpath.setText('/home/ricardoar/optional/STORAGE/prueba1_jro_backup_manager')
+ self.txtRpath.setText('/home/ricardoar/optional/STORAGE/prueba2_jro_backup_manager')
self.txtElabel.setText('EW_DRIFTS')
self.statusDpath = False
self.statusRpath = False
+
+
+ #Deteccion de los dispositvos de grabacion
+
+ #var_cmd="wodim --devices | grep /dev/ | awk -F\' '{print $2}'" #Funciona en consola pero no en python ¿?
+ var_cmd="wodim --devices | grep /dev/ | awk '{print $2}' | awk -F= '{print $2}'"
+ var_output = commands.getstatusoutput(var_cmd)
+ if var_output[0] != 0:
+ self.txtInfo.setText("No se pudo encontrar los dispositivos de grabacion, output_error:" + str(var_output))
+ else:
+ self.txtInfo.append("dispositivos encontrados")
+ var_devices = var_output[1].split('\n')
+
+ var_tmp=[]
+ for i in range(0, 4):
+ if i < len(var_devices):
+ var_len = len(var_devices[i])
+ var_tmp.append(var_devices[i][1:var_len - 1])
+ else:
+ var_tmp.append('')
+
+ #Se escriben los dispostivos correspodientes, si existen
+ self.txtDeviceA.setText(str(var_tmp[0]))
+ self.txtDeviceB.setText(str(var_tmp[1]))
+ self.txtDeviceC.setText(str(var_tmp[2]))
+ self.txtDeviceD.setText(str(var_tmp[3]))
+ #Se desactivan los que no existen
+ if len(var_tmp[0]) == 0 :
+ self.chkDevA.setChecked(False)
+ self.chkDevA.setEnabled(False)
+ if len(var_tmp[1]) == 0 :
+ self.chkDevB.setChecked(False)
+ self.chkDevB.setEnabled(False)
+ if len(var_tmp[2]) == 0 :
+ self.chkDevC.setChecked(False)
+ self.chkDevC.setEnabled(False)
+ if len(var_tmp[3]) == 0 :
+ self.chkDevD.setChecked(False)
+ self.chkDevD.setEnabled(False)
+
def write(self, txt):
"""
@@ -221,7 +261,7 @@
@pyqtSignature("")
def on_btnGbkp_clicked(self):
"""
- Cuando se presiona el boton Generate Bkp
+ Cuando se presiona el boton btnGbkp
"""
#Verifica que las rutas sean validas
@@ -233,13 +273,9 @@
return
#Crea las carpetas en la ruta del proyecto y verifica que se crearon correctamente
-
var_Rpath=self.txtRpath.text()
var_dirs='/{gpath,iso,ppath}'
var_cmd="mkdir -p "+str(var_Rpath)+str(var_dirs)
-
- self.txtInfo.append(var_cmd)
-
var_output=commands.getstatusoutput(var_cmd)[0]
if var_output != 0:
self.txtInfo.append("No se pudieron crear los directorios, output_error:" + str(var_output))
@@ -247,65 +283,55 @@
else:
self.txtInfo.append('Carpetas creadas correctamente')
-
+ #Cargando variables con los parametros
+ var_Dpath=self.txtDpath.text()
+ var_Rpath=self.txtRpath.text()
+ var_Rpath_ppath=var_Rpath+"/ppath" #Ruta de los archivos a grabar
var_sublist=[]
for i in self.var_list[self.lstStartDay.currentIndex():self.lstStartDay.currentIndex() + self.lstStopDay.currentIndex()+1]:
- self.txtInfo.append(i)
var_sublist.append(i)
-
- #Cargando variables con los parametros de busqueda
- var_Dpath=self.txtDpath.text()
+ if len(var_sublist) == 0:
+ self.txtInfo.append("No existen archivos encontrados")
+ return
+ #self.txtInfo.append('elementos: '+str(len(var_sublist)))
+
+
var_Dtype=self.txtDtype.text()
-
+ var_Dcapacity=float(self.txtDcapacity.text())*1024 #tamaño en KB
+
+ #Busca los archivos con los parametros de busqueda
var_files_list=[]
for var_doy in var_sublist:
var_cmd="find " + str(var_Dpath) + " -name ?"+var_doy+"???."+ str(var_Dtype)
var_output=commands.getstatusoutput(var_cmd)[1]
for var_file in var_output.split():
- var_files_list.append(var_file)
-
- var_Dcapacity=float(self.txtDcapacity.text())*1024 #tamaño en KB
- self.txtInfo.append(str(var_Dcapacity))
-
-# self.txtInfo.append('Lista de archivos')
-# var_n=0
-# for i in var_files_list:
- #self.txtInfo.append(str(os.path.getsize(i)/1024)+'KB')
- #self.txtInfo.append(i)
- #var_n += 1
- #self.txtInfo.append(str(var_n))
-
- #lista de archivos a grabar en archivos .
-
- #Ruta de los archivos a grabar
- var_Rpath=self.txtRpath.text()
- var_Rpath_ppath=var_Rpath+"/ppath"
- var_Dpath=self.txtDpath.text()
-
- var_n=0
- var_n_files=0
- var_tmp=0
+ var_files_list.append(var_file) #Almacena cada archivo en la lista
+
+ #
+ #Genera la lista de archivos .dat que contienen los archivos a grabar en cada DVD
+ #
+ var_n=0 #Se usa para contar el numero de archivos a grabar en el DVD
+# var_n_files=0
+ var_tmp=0 #
var_files_list_2=[]
- self.txtInfo.append(str(len(var_files_list)))
-
- for i in var_files_list:
- var_size_i=os.path.getsize(i)/1024+1 #tamaño en KB, se suma 1 KB para evitar problemas al momento de sumar
- var_tmp += var_size_i
-
+
+ for i in var_files_list: #Se asignan en i los archivos de la lista
+ var_size_i=os.path.getsize(i)/1024+1 #tamaño en KB del archivo de la lista, se suma 1 KB para evitar problemas al momento de sumar
+ var_tmp += var_size_i #Se acumulan el tamaño de los archivos de la lista
+
+ #Si el tamaño acumulado es mayor que el de el DVD
if var_tmp > var_Dcapacity:
var_tmp -= var_size_i #se quita el tamaño sumado para mostrar el tamaño real
- #muestra info
- self.txtInfo.append(str(len(var_files_list_2))+" size:"+str(var_tmp))
-
- #se crea un archivo con numeral en el sufijo, y se añaden la lista de archivos
+ #se crea un archivo con numeral en el sufijo y extension .dat
var_file = open(var_Rpath_ppath+"/"+self.txtElabel.text()+"_"+str(var_n)+".dat","w")
+ #Se añade la lista de archivos a grabar en el DVD al archivo .dat
for line in var_files_list_2:
var_file.write(line.split(var_Dpath)[1]+'=')
var_file.write(line+'\n')
var_file.close()
- var_n_files += len(var_files_list_2)
- var_tmp = var_size_i
+# var_n_files += len(var_files_list_2)
+ var_tmp = var_size_i #Se asigna a la variable el tamaño del archivo actual
var_files_list_2=[]
var_files_list_2.append(i)
var_n += 1
@@ -322,11 +348,11 @@
var_file.write(line+'\n')
var_file.close()
- var_n_files += len(var_files_list_2)
- self.txtInfo.append(str(var_n_files))
+# var_n_files += len(var_files_list_2)
+
+ #Se deshabilita el Tab Parameters y el boton btnGbkp
self.tabParameters.setEnabled(False)
self.btnGbkp.setEnabled(False)
- self.txtDtype.setText('tipo INV')
@pyqtSignature("")
@@ -369,4 +395,27 @@
"""
self.tabParameters.setEnabled(True)
self.btnGbkp.setEnabled(True)
-
+
+ @pyqtSignature("")
+ def on_btnTdevA_clicked(self):
+ var_dev = str(self.txtDeviceA.text())
+ var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev
+ commands.getstatusoutput(var_cmd)
+
+ @pyqtSignature("")
+ def on_btnTdevB_clicked(self):
+ var_dev = str(self.txtDeviceB.text())
+ var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev
+ commands.getstatusoutput(var_cmd)
+
+ @pyqtSignature("")
+ def on_btnTdevC_clicked(self):
+ var_dev = str(self.txtDeviceC.text())
+ var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev
+ commands.getstatusoutput(var_cmd)
+
+ @pyqtSignature("")
+ def on_btnTdevD_clicked(self):
+ var_dev = str(self.txtDeviceD.text())
+ var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev
+ commands.getstatusoutput(var_cmd)
Index: bk_manager/trunk/ui/MainWindow.ui
===================================================================
diff --git a/bk_manager/trunk/ui/MainWindow.ui b/bk_manager/trunk/ui/MainWindow.ui
--- a/bk_manager/trunk/ui/MainWindow.ui (revision 30)
+++ b/bk_manager/trunk/ui/MainWindow.ui (revision 31)
@@ -27,7 +27,7 @@
- 1
+ 0
Index: bk_manager/trunk/ui/Ui_MainWindow.py
===================================================================
diff --git a/bk_manager/trunk/ui/Ui_MainWindow.py b/bk_manager/trunk/ui/Ui_MainWindow.py
--- a/bk_manager/trunk/ui/Ui_MainWindow.py (revision 30)
+++ b/bk_manager/trunk/ui/Ui_MainWindow.py (revision 31)
@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file '/home/ricardoar/principal/JRO_SVN/eric4/jro_backup_manager/ui/MainWindow.ui'
#
-# Created: Tue May 4 12:02:35 2010
+# Created: Tue May 4 16:05:06 2010
# by: PyQt4 UI code generator 4.7.3
#
# WARNING! All changes made in this file will be lost!
@@ -451,7 +451,7 @@
self.menubar.addAction(self.menuHelp.menuAction())
self.retranslateUi(MainWindow)
- self.tabWidget.setCurrentIndex(1)
+ self.tabWidget.setCurrentIndex(0)
self.lstDcapacity.setCurrentIndex(2)
QtCore.QObject.connect(self.chkSequentially, QtCore.SIGNAL("clicked()"), self.chkSimultaneously.toggle)
QtCore.QObject.connect(self.chkSimultaneously, QtCore.SIGNAL("clicked()"), self.chkSequentially.toggle)