##// END OF EJS Templates
***
ralonso -
r30:31
parent child
Show More
@@ -33,10 +33,50
33 Se usa para inicializar ciertos parametros para pruebas
33 Se usa para inicializar ciertos parametros para pruebas
34 """
34 """
35 self.txtDpath.setText('/home/ricardoar/optional/STORAGE/EW_DRIFTS')
35 self.txtDpath.setText('/home/ricardoar/optional/STORAGE/EW_DRIFTS')
36 self.txtRpath.setText('/home/ricardoar/optional/STORAGE/prueba1_jro_backup_manager')
36 self.txtRpath.setText('/home/ricardoar/optional/STORAGE/prueba2_jro_backup_manager')
37 self.txtElabel.setText('EW_DRIFTS')
37 self.txtElabel.setText('EW_DRIFTS')
38 self.statusDpath = False
38 self.statusDpath = False
39 self.statusRpath = False
39 self.statusRpath = False
40
41
42 #Deteccion de los dispositvos de grabacion
43
44 #var_cmd="wodim --devices | grep /dev/ | awk -F\' '{print $2}'" #Funciona en consola pero no en python ¿?
45 var_cmd="wodim --devices | grep /dev/ | awk '{print $2}' | awk -F= '{print $2}'"
46 var_output = commands.getstatusoutput(var_cmd)
47 if var_output[0] != 0:
48 self.txtInfo.setText("No se pudo encontrar los dispositivos de grabacion, output_error:" + str(var_output))
49 else:
50 self.txtInfo.append("dispositivos encontrados")
51 var_devices = var_output[1].split('\n')
52
53 var_tmp=[]
54 for i in range(0, 4):
55 if i < len(var_devices):
56 var_len = len(var_devices[i])
57 var_tmp.append(var_devices[i][1:var_len - 1])
58 else:
59 var_tmp.append('')
60
61 #Se escriben los dispostivos correspodientes, si existen
62 self.txtDeviceA.setText(str(var_tmp[0]))
63 self.txtDeviceB.setText(str(var_tmp[1]))
64 self.txtDeviceC.setText(str(var_tmp[2]))
65 self.txtDeviceD.setText(str(var_tmp[3]))
66 #Se desactivan los que no existen
67 if len(var_tmp[0]) == 0 :
68 self.chkDevA.setChecked(False)
69 self.chkDevA.setEnabled(False)
70 if len(var_tmp[1]) == 0 :
71 self.chkDevB.setChecked(False)
72 self.chkDevB.setEnabled(False)
73 if len(var_tmp[2]) == 0 :
74 self.chkDevC.setChecked(False)
75 self.chkDevC.setEnabled(False)
76 if len(var_tmp[3]) == 0 :
77 self.chkDevD.setChecked(False)
78 self.chkDevD.setEnabled(False)
79
40
80
41 def write(self, txt):
81 def write(self, txt):
42 """
82 """
@@ -221,7 +261,7
221 @pyqtSignature("")
261 @pyqtSignature("")
222 def on_btnGbkp_clicked(self):
262 def on_btnGbkp_clicked(self):
223 """
263 """
224 Cuando se presiona el boton Generate Bkp
264 Cuando se presiona el boton btnGbkp
225 """
265 """
226
266
227 #Verifica que las rutas sean validas
267 #Verifica que las rutas sean validas
@@ -233,13 +273,9
233 return
273 return
234
274
235 #Crea las carpetas en la ruta del proyecto y verifica que se crearon correctamente
275 #Crea las carpetas en la ruta del proyecto y verifica que se crearon correctamente
236
237 var_Rpath=self.txtRpath.text()
276 var_Rpath=self.txtRpath.text()
238 var_dirs='/{gpath,iso,ppath}'
277 var_dirs='/{gpath,iso,ppath}'
239 var_cmd="mkdir -p "+str(var_Rpath)+str(var_dirs)
278 var_cmd="mkdir -p "+str(var_Rpath)+str(var_dirs)
240
241 self.txtInfo.append(var_cmd)
242
243 var_output=commands.getstatusoutput(var_cmd)[0]
279 var_output=commands.getstatusoutput(var_cmd)[0]
244 if var_output != 0:
280 if var_output != 0:
245 self.txtInfo.append("No se pudieron crear los directorios, output_error:" + str(var_output))
281 self.txtInfo.append("No se pudieron crear los directorios, output_error:" + str(var_output))
@@ -247,65 +283,55
247 else:
283 else:
248 self.txtInfo.append('Carpetas creadas correctamente')
284 self.txtInfo.append('Carpetas creadas correctamente')
249
285
250
286 #Cargando variables con los parametros
287 var_Dpath=self.txtDpath.text()
288 var_Rpath=self.txtRpath.text()
289 var_Rpath_ppath=var_Rpath+"/ppath" #Ruta de los archivos a grabar
251 var_sublist=[]
290 var_sublist=[]
252 for i in self.var_list[self.lstStartDay.currentIndex():self.lstStartDay.currentIndex() + self.lstStopDay.currentIndex()+1]:
291 for i in self.var_list[self.lstStartDay.currentIndex():self.lstStartDay.currentIndex() + self.lstStopDay.currentIndex()+1]:
253 self.txtInfo.append(i)
254 var_sublist.append(i)
292 var_sublist.append(i)
255
293 if len(var_sublist) == 0:
256 #Cargando variables con los parametros de busqueda
294 self.txtInfo.append("No existen archivos encontrados")
257 var_Dpath=self.txtDpath.text()
295 return
296 #self.txtInfo.append('elementos: '+str(len(var_sublist)))
297
298
258 var_Dtype=self.txtDtype.text()
299 var_Dtype=self.txtDtype.text()
259
300 var_Dcapacity=float(self.txtDcapacity.text())*1024 #tamaño en KB
301
302 #Busca los archivos con los parametros de busqueda
260 var_files_list=[]
303 var_files_list=[]
261 for var_doy in var_sublist:
304 for var_doy in var_sublist:
262 var_cmd="find " + str(var_Dpath) + " -name ?"+var_doy+"???."+ str(var_Dtype)
305 var_cmd="find " + str(var_Dpath) + " -name ?"+var_doy+"???."+ str(var_Dtype)
263 var_output=commands.getstatusoutput(var_cmd)[1]
306 var_output=commands.getstatusoutput(var_cmd)[1]
264 for var_file in var_output.split():
307 for var_file in var_output.split():
265 var_files_list.append(var_file)
308 var_files_list.append(var_file) #Almacena cada archivo en la lista
266
309
267 var_Dcapacity=float(self.txtDcapacity.text())*1024 #tamaño en KB
310 #
268 self.txtInfo.append(str(var_Dcapacity))
311 #Genera la lista de archivos .dat que contienen los archivos a grabar en cada DVD
269
312 #
270 # self.txtInfo.append('Lista de archivos')
313 var_n=0 #Se usa para contar el numero de archivos a grabar en el DVD
271 # var_n=0
314 # var_n_files=0
272 # for i in var_files_list:
315 var_tmp=0 #
273 #self.txtInfo.append(str(os.path.getsize(i)/1024)+'KB')
274 #self.txtInfo.append(i)
275 #var_n += 1
276 #self.txtInfo.append(str(var_n))
277
278 #lista de archivos a grabar en archivos .
279
280 #Ruta de los archivos a grabar
281 var_Rpath=self.txtRpath.text()
282 var_Rpath_ppath=var_Rpath+"/ppath"
283 var_Dpath=self.txtDpath.text()
284
285 var_n=0
286 var_n_files=0
287 var_tmp=0
288 var_files_list_2=[]
316 var_files_list_2=[]
289 self.txtInfo.append(str(len(var_files_list)))
317
290
318 for i in var_files_list: #Se asignan en i los archivos de la lista
291 for i in var_files_list:
319 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
292 var_size_i=os.path.getsize(i)/1024+1 #tamaño en KB, se suma 1 KB para evitar problemas al momento de sumar
320 var_tmp += var_size_i #Se acumulan el tamaño de los archivos de la lista
293 var_tmp += var_size_i
321
294
322 #Si el tamaño acumulado es mayor que el de el DVD
295 if var_tmp > var_Dcapacity:
323 if var_tmp > var_Dcapacity:
296 var_tmp -= var_size_i #se quita el tamaño sumado para mostrar el tamaño real
324 var_tmp -= var_size_i #se quita el tamaño sumado para mostrar el tamaño real
297 #muestra info
325 #se crea un archivo con numeral en el sufijo y extension .dat
298 self.txtInfo.append(str(len(var_files_list_2))+" size:"+str(var_tmp))
299
300 #se crea un archivo con numeral en el sufijo, y se añaden la lista de archivos
301 var_file = open(var_Rpath_ppath+"/"+self.txtElabel.text()+"_"+str(var_n)+".dat","w")
326 var_file = open(var_Rpath_ppath+"/"+self.txtElabel.text()+"_"+str(var_n)+".dat","w")
327 #Se añade la lista de archivos a grabar en el DVD al archivo .dat
302 for line in var_files_list_2:
328 for line in var_files_list_2:
303 var_file.write(line.split(var_Dpath)[1]+'=')
329 var_file.write(line.split(var_Dpath)[1]+'=')
304 var_file.write(line+'\n')
330 var_file.write(line+'\n')
305 var_file.close()
331 var_file.close()
306
332
307 var_n_files += len(var_files_list_2)
333 # var_n_files += len(var_files_list_2)
308 var_tmp = var_size_i
334 var_tmp = var_size_i #Se asigna a la variable el tamaño del archivo actual
309 var_files_list_2=[]
335 var_files_list_2=[]
310 var_files_list_2.append(i)
336 var_files_list_2.append(i)
311 var_n += 1
337 var_n += 1
@@ -322,11 +348,11
322 var_file.write(line+'\n')
348 var_file.write(line+'\n')
323 var_file.close()
349 var_file.close()
324
350
325 var_n_files += len(var_files_list_2)
351 # var_n_files += len(var_files_list_2)
326 self.txtInfo.append(str(var_n_files))
352
353 #Se deshabilita el Tab Parameters y el boton btnGbkp
327 self.tabParameters.setEnabled(False)
354 self.tabParameters.setEnabled(False)
328 self.btnGbkp.setEnabled(False)
355 self.btnGbkp.setEnabled(False)
329 self.txtDtype.setText('tipo INV')
330
356
331
357
332 @pyqtSignature("")
358 @pyqtSignature("")
@@ -369,4 +395,27
369 """
395 """
370 self.tabParameters.setEnabled(True)
396 self.tabParameters.setEnabled(True)
371 self.btnGbkp.setEnabled(True)
397 self.btnGbkp.setEnabled(True)
372
398
399 @pyqtSignature("")
400 def on_btnTdevA_clicked(self):
401 var_dev = str(self.txtDeviceA.text())
402 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev
403 commands.getstatusoutput(var_cmd)
404
405 @pyqtSignature("")
406 def on_btnTdevB_clicked(self):
407 var_dev = str(self.txtDeviceB.text())
408 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev
409 commands.getstatusoutput(var_cmd)
410
411 @pyqtSignature("")
412 def on_btnTdevC_clicked(self):
413 var_dev = str(self.txtDeviceC.text())
414 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev
415 commands.getstatusoutput(var_cmd)
416
417 @pyqtSignature("")
418 def on_btnTdevD_clicked(self):
419 var_dev = str(self.txtDeviceD.text())
420 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev
421 commands.getstatusoutput(var_cmd)
@@ -27,7 +27,7
27 </sizepolicy>
27 </sizepolicy>
28 </property>
28 </property>
29 <property name="currentIndex">
29 <property name="currentIndex">
30 <number>1</number>
30 <number>0</number>
31 </property>
31 </property>
32 <widget class="QWidget" name="tabParameters">
32 <widget class="QWidget" name="tabParameters">
33 <property name="enabled">
33 <property name="enabled">
@@ -2,7 +2,7
2
2
3 # Form implementation generated from reading ui file '/home/ricardoar/principal/JRO_SVN/eric4/jro_backup_manager/ui/MainWindow.ui'
3 # Form implementation generated from reading ui file '/home/ricardoar/principal/JRO_SVN/eric4/jro_backup_manager/ui/MainWindow.ui'
4 #
4 #
5 # Created: Tue May 4 12:02:35 2010
5 # Created: Tue May 4 16:05:06 2010
6 # by: PyQt4 UI code generator 4.7.3
6 # by: PyQt4 UI code generator 4.7.3
7 #
7 #
8 # WARNING! All changes made in this file will be lost!
8 # WARNING! All changes made in this file will be lost!
@@ -451,7 +451,7
451 self.menubar.addAction(self.menuHelp.menuAction())
451 self.menubar.addAction(self.menuHelp.menuAction())
452
452
453 self.retranslateUi(MainWindow)
453 self.retranslateUi(MainWindow)
454 self.tabWidget.setCurrentIndex(1)
454 self.tabWidget.setCurrentIndex(0)
455 self.lstDcapacity.setCurrentIndex(2)
455 self.lstDcapacity.setCurrentIndex(2)
456 QtCore.QObject.connect(self.chkSequentially, QtCore.SIGNAL("clicked()"), self.chkSimultaneously.toggle)
456 QtCore.QObject.connect(self.chkSequentially, QtCore.SIGNAL("clicked()"), self.chkSimultaneously.toggle)
457 QtCore.QObject.connect(self.chkSimultaneously, QtCore.SIGNAL("clicked()"), self.chkSequentially.toggle)
457 QtCore.QObject.connect(self.chkSimultaneously, QtCore.SIGNAL("clicked()"), self.chkSequentially.toggle)
General Comments 0
You need to be logged in to leave comments. Login now