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 29)
+++ b/bk_manager/trunk/ui/MainWindow.py (revision 30)
@@ -23,41 +23,59 @@
QMainWindow.__init__(self, parent)
self.setupUi(self)
self.setupUi2()
+
+ #redirige salida estandar
sys.stdout = self
def setupUi2(self):
+ """
+ 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.txtElabel.setText('EW_DRIFTS')
+ self.statusDpath = False
+ self.statusRpath = False
def write(self, txt):
+ """
+ Escribe la salida estandar eb txtInfo
+ """
self.txtInfo.append(str(txt))
@pyqtSignature("")
def on_btnDpath_clicked(self):
"""
- Slot documentation goes here.
+ Permite seleccionar graficamente el direcorio de los datos a grabar
"""
var_Dpath= QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly)
self.txtDpath.setText(var_Dpath)
+
+ #llamada a funcion
self.on_txtDpath_editingFinished()
@pyqtSignature("")
def on_btnRpath_clicked(self):
"""
- Slot documentation goes here.
+ Permite seleccionar graficamente el direcorio del proyecto
"""
var_Rpath = QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly)
self.txtRpath.setText(var_Rpath)
+
+ #llamada a funcion
self.on_txtRpath_editingFinished()
@pyqtSignature("")
def on_txtDpath_editingFinished(self):
-
+ """
+ Permite buscar los archivos de extension seleccionada en la ruta de de datos
+ y cargar los valores para el rango de tiempo a ser grabado
+ """
+
#Usando el modulo "subprocess", eric4 pide seleccion del tipo de subproceso (padre o hijo)
#por ello se prefiere usar el modulo "commands"
#p1= Popen(['find', var_Dpath, '-name', '*.r'], stdout=PIPE)
@@ -65,56 +83,58 @@
#output_p2= p2.communicate()[0]
#self.txtInfo.setText(output_p2)
+ #Se carga la variable con la ruta de datos
var_Dpath=self.txtDpath.text()
#Se verifica que la ruta exista y sea un directorio
var_cmd="test -d "+str(var_Dpath)
var_output=commands.getstatusoutput(var_cmd)[0]
if var_output != 0:
+ self.statusDpath = False
self.txtInfo.setText("Ruta no valida, output_error:" + str(var_output))
return
+ else:
+ self.statusDpath = True
+ self.txtInfo.append("Ruta valida, sin error:" + str(var_Dpath))
#Se buscan los archivos del tipo especificado
var_Dtype=self.txtDtype.text()
var_cmd="find " + str(var_Dpath) + " -name *."+ str(var_Dtype) +" | awk -F/ '{print substr($NF,2,7)}' | sort| uniq"
output_p2=commands.getstatusoutput(var_cmd)[1]
- #INFO: Muestra los dias que se encontraron
- #self.txtInfo.append(output_p2)
-
- #Se cargan las listas para seleccionar StartDay y StopDay
+ #Se cargan las listas para seleccionar StartDay y StopDay (QComboBox)
self.var_list=[]
for i in range(0, (len(output_p2)+1)/8):
self.var_list.append(output_p2[8*i:8*(i+1)-1])
self.lstStartDay.clear()
self.lstStopDay.clear()
-
+
for i in self.var_list:
self.lstStartDay.addItem(i)
self.lstStopDay.addItem(i)
self.lstStopDay.setCurrentIndex(self.lstStartDay.count()-1)
-
- #INFO: Muestra cuantos dias se encontraron
- #self.txtInfo.setText(str(self.lstStartDay.count()))
-
-
+
+
@pyqtSignature("")
def on_txtRpath_editingFinished(self):
"""
- Slot documentation goes here.
- """
+ Valida la ruta del proyecto
+ """
+ #Se carga la variable con la ruta del proyecto
var_Rpath=self.txtRpath.text()
#Se verifica que la ruta exista y sea un directorio
var_cmd="test -d "+str(var_Rpath)
var_output=commands.getstatusoutput(var_cmd)[0]
if var_output != 0:
+ self.statusRpath = False
self.txtInfo.append("Ruta no valida, output_error:" + str(var_output))
return
else:
- self.txtInfo.append("Ruta valida, sin error")
+ self.statusRpath = True
+ self.txtInfo.append("Ruta valida, sin error:" + str(var_Rpath))
@pyqtSignature("int")
@@ -143,6 +163,7 @@
"""
Se activa cuando el tipo de archivo es ingresado manualmente
"""
+ #llamada a funcion
self.on_txtDpath_editingFinished()
@@ -203,25 +224,36 @@
Cuando se presiona el boton Generate Bkp
"""
- #CREA LAS CARPETAS "COMENTADO TEMPORALMENTE"
+ #Verifica que las rutas sean validas
+ if self.statusDpath == False or self.statusRpath == False:
+ if self.statusDpath == False:
+ self.txtInfo.append("Ruta de datos no valida")
+ if self.statusRpath == False:
+ self.txtInfo.append("Ruta de proyecto no valida")
+ 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_Rpath=self.txtRpath.text()
- var_cmd="mkdir "+str(var_Rpath)+str(var_dirs)
+ 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.setText("No se pudieron crear los directorios, output_error:" + str(var_output))
- # return
- #else:
- # self.txtInfo.append('Carpetas creadas correctamente')
-
+
+ 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))
+ return
+ else:
+ self.txtInfo.append('Carpetas creadas correctamente')
+
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 los parametros de busqueda
+ #Cargando variables con los parametros de busqueda
var_Dpath=self.txtDpath.text()
var_Dtype=self.txtDtype.text()
@@ -337,3 +369,4 @@
"""
self.tabParameters.setEnabled(True)
self.btnGbkp.setEnabled(True)
+
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 29)
+++ b/bk_manager/trunk/ui/MainWindow.ui (revision 30)
@@ -7,7 +7,7 @@
0
0
745
- 787
+ 766
@@ -221,27 +221,32 @@
Dev A
-
-
- -
-
-
-
-
-
- -
-
-
- -
-
-
- -
-
-
- Test DevA
-
-
-
-
+
+ true
+
+
+
+ -
+
+
+
-
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ Test DevA
+
+
+
+
+
@@ -252,27 +257,32 @@
Dev B
-
-
- -
-
-
-
-
-
- -
-
-
- -
-
-
- -
-
-
- Test DevB
-
-
-
-
+
+ true
+
+
+
+ -
+
+
+
-
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ Test DevB
+
+
+
+
+
@@ -283,27 +293,32 @@
Dev C
-
-
- -
-
-
-
-
-
- -
-
-
- -
-
-
- -
-
-
- Test DevC
-
-
-
-
+
+ true
+
+
+
+ -
+
+
+
-
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ Test DevC
+
+
+
+
+
@@ -314,27 +329,32 @@
Dev D
-
-
- -
-
-
-
-
-
- -
-
-
- -
-
-
- -
-
-
- Test DevD
-
-
-
-
+
+ true
+
+
+
+ -
+
+
+
-
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ Test DevD
+
+
+
+
+
@@ -797,8 +817,8 @@
toggle()
- 475
- 273
+ 635
+ 276
350
@@ -813,12 +833,76 @@
toggle()
- 350
- 282
+ 433
+ 276
- 436
- 278
+ 635
+ 276
+
+
+
+
+ chkDevA
+ toggled(bool)
+ grpDevA
+ setEnabled(bool)
+
+
+ 95
+ 86
+
+
+ 95
+ 167
+
+
+
+
+ chkDevB
+ toggled(bool)
+ grpDevB
+ setEnabled(bool)
+
+
+ 251
+ 86
+
+
+ 251
+ 167
+
+
+
+
+ chkDevC
+ toggled(bool)
+ grpDevC
+ setEnabled(bool)
+
+
+ 407
+ 86
+
+
+ 407
+ 167
+
+
+
+
+ chkDevD
+ toggled(bool)
+ grpDevD
+ setEnabled(bool)
+
+
+ 563
+ 86
+
+
+ 563
+ 167
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 29)
+++ b/bk_manager/trunk/ui/Ui_MainWindow.py (revision 30)
@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file '/home/ricardoar/principal/JRO_SVN/eric4/jro_backup_manager/ui/MainWindow.ui'
#
-# Created: Thu Apr 29 14:19:34 2010
+# Created: Tue May 4 12:02:35 2010
# by: PyQt4 UI code generator 4.7.3
#
# WARNING! All changes made in this file will be lost!
@@ -12,7 +12,7 @@
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
- MainWindow.resize(745, 787)
+ MainWindow.resize(745, 766)
self.centralwidget = QtGui.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.verticalLayout = QtGui.QVBoxLayout(self.centralwidget)
@@ -132,86 +132,98 @@
self.verticalLayout_15 = QtGui.QVBoxLayout()
self.verticalLayout_15.setObjectName("verticalLayout_15")
self.chkDevA = QtGui.QCheckBox(self.tabDconfig)
+ self.chkDevA.setChecked(True)
self.chkDevA.setObjectName("chkDevA")
self.verticalLayout_15.addWidget(self.chkDevA)
- self.verticalLayout_11 = QtGui.QVBoxLayout()
+ self.grpDevA = QtGui.QWidget(self.tabDconfig)
+ self.grpDevA.setObjectName("grpDevA")
+ self.verticalLayout_11 = QtGui.QVBoxLayout(self.grpDevA)
self.verticalLayout_11.setObjectName("verticalLayout_11")
- self.txtDeviceA = QtGui.QLineEdit(self.tabDconfig)
+ self.txtDeviceA = QtGui.QLineEdit(self.grpDevA)
self.txtDeviceA.setObjectName("txtDeviceA")
self.verticalLayout_11.addWidget(self.txtDeviceA)
- self.txtBspeedA = QtGui.QLineEdit(self.tabDconfig)
+ self.txtBspeedA = QtGui.QLineEdit(self.grpDevA)
self.txtBspeedA.setObjectName("txtBspeedA")
self.verticalLayout_11.addWidget(self.txtBspeedA)
- self.txtBmodeA = QtGui.QLineEdit(self.tabDconfig)
+ self.txtBmodeA = QtGui.QLineEdit(self.grpDevA)
self.txtBmodeA.setObjectName("txtBmodeA")
self.verticalLayout_11.addWidget(self.txtBmodeA)
- self.btnTdevA = QtGui.QPushButton(self.tabDconfig)
+ self.btnTdevA = QtGui.QPushButton(self.grpDevA)
self.btnTdevA.setObjectName("btnTdevA")
self.verticalLayout_11.addWidget(self.btnTdevA)
- self.verticalLayout_15.addLayout(self.verticalLayout_11)
+ self.verticalLayout_15.addWidget(self.grpDevA)
self.gridLayout.addLayout(self.verticalLayout_15, 0, 0, 1, 1)
self.verticalLayout_16 = QtGui.QVBoxLayout()
self.verticalLayout_16.setObjectName("verticalLayout_16")
self.chkDevB = QtGui.QCheckBox(self.tabDconfig)
+ self.chkDevB.setChecked(True)
self.chkDevB.setObjectName("chkDevB")
self.verticalLayout_16.addWidget(self.chkDevB)
- self.verticalLayout_12 = QtGui.QVBoxLayout()
+ self.grpDevB = QtGui.QWidget(self.tabDconfig)
+ self.grpDevB.setObjectName("grpDevB")
+ self.verticalLayout_12 = QtGui.QVBoxLayout(self.grpDevB)
self.verticalLayout_12.setObjectName("verticalLayout_12")
- self.txtDeviceB = QtGui.QLineEdit(self.tabDconfig)
+ self.txtDeviceB = QtGui.QLineEdit(self.grpDevB)
self.txtDeviceB.setObjectName("txtDeviceB")
self.verticalLayout_12.addWidget(self.txtDeviceB)
- self.txtBspeedB = QtGui.QLineEdit(self.tabDconfig)
+ self.txtBspeedB = QtGui.QLineEdit(self.grpDevB)
self.txtBspeedB.setObjectName("txtBspeedB")
self.verticalLayout_12.addWidget(self.txtBspeedB)
- self.txtBmodeB = QtGui.QLineEdit(self.tabDconfig)
+ self.txtBmodeB = QtGui.QLineEdit(self.grpDevB)
self.txtBmodeB.setObjectName("txtBmodeB")
self.verticalLayout_12.addWidget(self.txtBmodeB)
- self.btnTdevB = QtGui.QPushButton(self.tabDconfig)
+ self.btnTdevB = QtGui.QPushButton(self.grpDevB)
self.btnTdevB.setObjectName("btnTdevB")
self.verticalLayout_12.addWidget(self.btnTdevB)
- self.verticalLayout_16.addLayout(self.verticalLayout_12)
+ self.verticalLayout_16.addWidget(self.grpDevB)
self.gridLayout.addLayout(self.verticalLayout_16, 0, 1, 1, 1)
self.verticalLayout_17 = QtGui.QVBoxLayout()
self.verticalLayout_17.setObjectName("verticalLayout_17")
self.chkDevC = QtGui.QCheckBox(self.tabDconfig)
+ self.chkDevC.setChecked(True)
self.chkDevC.setObjectName("chkDevC")
self.verticalLayout_17.addWidget(self.chkDevC)
- self.verticalLayout_13 = QtGui.QVBoxLayout()
+ self.grpDevC = QtGui.QWidget(self.tabDconfig)
+ self.grpDevC.setObjectName("grpDevC")
+ self.verticalLayout_13 = QtGui.QVBoxLayout(self.grpDevC)
self.verticalLayout_13.setObjectName("verticalLayout_13")
- self.txtDeviceC = QtGui.QLineEdit(self.tabDconfig)
+ self.txtDeviceC = QtGui.QLineEdit(self.grpDevC)
self.txtDeviceC.setObjectName("txtDeviceC")
self.verticalLayout_13.addWidget(self.txtDeviceC)
- self.txtBspeedC = QtGui.QLineEdit(self.tabDconfig)
+ self.txtBspeedC = QtGui.QLineEdit(self.grpDevC)
self.txtBspeedC.setObjectName("txtBspeedC")
self.verticalLayout_13.addWidget(self.txtBspeedC)
- self.txtBmodeC = QtGui.QLineEdit(self.tabDconfig)
+ self.txtBmodeC = QtGui.QLineEdit(self.grpDevC)
self.txtBmodeC.setObjectName("txtBmodeC")
self.verticalLayout_13.addWidget(self.txtBmodeC)
- self.btnTdevC = QtGui.QPushButton(self.tabDconfig)
+ self.btnTdevC = QtGui.QPushButton(self.grpDevC)
self.btnTdevC.setObjectName("btnTdevC")
self.verticalLayout_13.addWidget(self.btnTdevC)
- self.verticalLayout_17.addLayout(self.verticalLayout_13)
+ self.verticalLayout_17.addWidget(self.grpDevC)
self.gridLayout.addLayout(self.verticalLayout_17, 0, 2, 1, 1)
self.verticalLayout_18 = QtGui.QVBoxLayout()
self.verticalLayout_18.setObjectName("verticalLayout_18")
self.chkDevD = QtGui.QCheckBox(self.tabDconfig)
+ self.chkDevD.setChecked(True)
self.chkDevD.setObjectName("chkDevD")
self.verticalLayout_18.addWidget(self.chkDevD)
- self.verticalLayout_14 = QtGui.QVBoxLayout()
+ self.grpDevD = QtGui.QWidget(self.tabDconfig)
+ self.grpDevD.setObjectName("grpDevD")
+ self.verticalLayout_14 = QtGui.QVBoxLayout(self.grpDevD)
self.verticalLayout_14.setObjectName("verticalLayout_14")
- self.txtDeviceD = QtGui.QLineEdit(self.tabDconfig)
+ self.txtDeviceD = QtGui.QLineEdit(self.grpDevD)
self.txtDeviceD.setObjectName("txtDeviceD")
self.verticalLayout_14.addWidget(self.txtDeviceD)
- self.txtBspeedD = QtGui.QLineEdit(self.tabDconfig)
+ self.txtBspeedD = QtGui.QLineEdit(self.grpDevD)
self.txtBspeedD.setObjectName("txtBspeedD")
self.verticalLayout_14.addWidget(self.txtBspeedD)
- self.txtBmodeD = QtGui.QLineEdit(self.tabDconfig)
+ self.txtBmodeD = QtGui.QLineEdit(self.grpDevD)
self.txtBmodeD.setObjectName("txtBmodeD")
self.verticalLayout_14.addWidget(self.txtBmodeD)
- self.btnTdevD = QtGui.QPushButton(self.tabDconfig)
+ self.btnTdevD = QtGui.QPushButton(self.grpDevD)
self.btnTdevD.setObjectName("btnTdevD")
self.verticalLayout_14.addWidget(self.btnTdevD)
- self.verticalLayout_18.addLayout(self.verticalLayout_14)
+ self.verticalLayout_18.addWidget(self.grpDevD)
self.gridLayout.addLayout(self.verticalLayout_18, 0, 3, 1, 1)
self.verticalLayout_19 = QtGui.QVBoxLayout()
self.verticalLayout_19.setObjectName("verticalLayout_19")
@@ -443,6 +455,10 @@
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)
+ QtCore.QObject.connect(self.chkDevA, QtCore.SIGNAL("toggled(bool)"), self.grpDevA.setEnabled)
+ QtCore.QObject.connect(self.chkDevB, QtCore.SIGNAL("toggled(bool)"), self.grpDevB.setEnabled)
+ QtCore.QObject.connect(self.chkDevC, QtCore.SIGNAL("toggled(bool)"), self.grpDevC.setEnabled)
+ QtCore.QObject.connect(self.chkDevD, QtCore.SIGNAL("toggled(bool)"), self.grpDevD.setEnabled)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
MainWindow.setTabOrder(self.txtDpath, self.btnDpath)
MainWindow.setTabOrder(self.btnDpath, self.txtRpath)
@@ -550,4 +566,4 @@
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
-
+