##// END OF EJS Templates
#antes de cambios en el gui
ralonso -
r89:90
parent child
Show More
@@ -1,786 +1,789
1 1 # -*- coding: utf-8 -*- No newline at end of file
2 2 No newline at end of file
3 3 """ No newline at end of file
4 4 Module implementing MainWindow. No newline at end of file
5 5 """ No newline at end of file
6 6 No newline at end of file
7 7 from PyQt4.QtGui import QMainWindow No newline at end of file
8 8 from PyQt4.QtCore import pyqtSignature No newline at end of file
9 9 from PyQt4 import QtCore No newline at end of file
10 10 from Ui_MainWindow import Ui_MainWindow No newline at end of file
11 11 from Ui_Parameters import Ui_Parameters No newline at end of file
12 12 from Ui_About import Ui_About No newline at end of file
13 13 from PyQt4 import QtGui No newline at end of file
14 14 from subprocess import * No newline at end of file
15 15 import sys No newline at end of file
16 16 import os No newline at end of file
17 17 #import subprocess No newline at end of file
18 18 import time No newline at end of file
19 19 import commands No newline at end of file
20 20 from functions import functions No newline at end of file
21 21 from functions import functions2 No newline at end of file
22 22 No newline at end of file
23 23 class MainWindow(QMainWindow, Ui_MainWindow): No newline at end of file
24 24 """ No newline at end of file
25 25 Class documentation goes here. No newline at end of file
26 26 """ No newline at end of file
27 27 No newline at end of file
28 28 def __init__(self, parent = None): No newline at end of file
29 29 QMainWindow.__init__(self, parent) No newline at end of file
30 30 self.setupUi(self) No newline at end of file
31 31 self.setupUi2() No newline at end of file
32 32 No newline at end of file
33 33 def setupUi2(self): No newline at end of file
34 34 No newline at end of file
35 35 self.txtInfo.append("cambio 1") No newline at end of file
36 36 No newline at end of file
37 37 self.allTrue = False No newline at end of file
38 38 No newline at end of file
39 39 if self.allTrue == True: No newline at end of file
40 40 self.var_real_principal = True No newline at end of file
41 41 self.var_real_detect_devices = True No newline at end of file
42 42 self.var_real_iso = True No newline at end of file
43 43 self.var_real_burn = True No newline at end of file
44 44 self.var_real_check = True No newline at end of file
45 45 self.var_real_eject = True No newline at end of file
46 46 self.var_real_manual_check = True No newline at end of file
47 47 self.var_real_show_cmd = True No newline at end of file
48 48 No newline at end of file
49 49 else: No newline at end of file
50 50 self.var_real_principal = False No newline at end of file
51 51 self.var_real_detect_devices = False No newline at end of file
52 52 self.var_real_iso = False No newline at end of file
53 53 self.var_real_burn = False No newline at end of file
54 54 self.var_real_check = False No newline at end of file
55 55 self.var_real_eject = False No newline at end of file
56 56 self.var_real_manual_check = True No newline at end of file
57 57 self.var_real_show_cmd = True No newline at end of file
58 58 No newline at end of file
59 59 if self.var_real_detect_devices == True: No newline at end of file
60 60 # Reconocimiento de los dispositivos de grabacion No newline at end of file
61 61 functions2.detect_devices(self) No newline at end of file
62 62 else: No newline at end of file
63 63 functions2.set_devices_test(self) No newline at end of file
64 64 No newline at end of file
65 65 #Inicialiazacion de variables No newline at end of file
66 66 self.var_Discs = 0 #Numero de discos del proyecto No newline at end of file
67 67 self.var_Copys = 0 #Numero de copias No newline at end of file
68 68 self.var_disc_n = 0 # disco actual No newline at end of file
69 69 self.var_copy_n = 0 # copia actual No newline at end of file
70 70 self.var_burned_discs = 0 #numero de discos ya grabados No newline at end of file
71 71 No newline at end of file
72 72 self.bool_first_iso = False No newline at end of file
73 73 self.var_step = 0 # numero de paso en el proceso No newline at end of file
74 74 self.bool_state_burning = False #si es True se puede grabar No newline at end of file
75 75 self.blank_discs = False # Si es true significa que se acaban de ingresar discos en blanco No newline at end of file
76 76 No newline at end of file
77 77 self.var_list=[] # Lista de DOYs No newline at end of file
78 78 self.var_sublist=[] # Sub-lista de DOYs seleccionados No newline at end of file
79 79 self.var_devices=[] #Lista de dispositivos seleccionados No newline at end of file
80 80 No newline at end of file
81 81 #Revisa si existe el archivo de confirguracion y lo carga No newline at end of file
82 82 if os.path.isfile("parameters.conf"): No newline at end of file
83 83 functions2.get_parameters_conf(self) No newline at end of file
84 84 self.bool_first_iso = True No newline at end of file
85 85 self.txtInfo.append("Parameters were loaded from configuration file") No newline at end of file
86 86 self.txtInfo.append("Total number of discs for recording: "+str(self.var_Discs * self.var_Copys)) No newline at end of file
87 87 No newline at end of file
88 88 elif self.var_real_principal == False: No newline at end of file
89 89 functions2.set_parameters_test(self) #Establece ciertos parametros, para pruebas No newline at end of file
90 90 No newline at end of file
91 91 functions2.set_vars(self) #Carga las variables de la clase con los parametros seleccionados No newline at end of file
92 92 No newline at end of file
93 93 self.statusDpath = functions.dir_exists(self.var_Dpath, self) No newline at end of file
94 94 self.statusRpath = functions.dir_exists(self.var_Rpath, self) No newline at end of file
95 95 functions.load_days(self) No newline at end of file
96 96 No newline at end of file
97 97 if os.path.isfile("parameters.conf"): No newline at end of file
98 98 functions2.enabled_items1(True, self) #Se bloquean los parametros de configuracion No newline at end of file
99 99 No newline at end of file
100 100 if os.path.isfile("burning.conf"): No newline at end of file
101 101 functions2.get_burning_conf(self) No newline at end of file
102 102 self.txtInfo.append("Current disc: "+str(self.var_disc_n)) No newline at end of file
103 103 self.txtInfo.append("Current copy: "+str(self.var_copy_n)) No newline at end of file
104 104 self.txtInfo.append("Burned discs: "+str(self.var_burned_discs)) No newline at end of file
105 105 self.btnStartburn.setText("Continue") No newline at end of file
106 106 self.actionChange_Parameters.setEnabled(False) No newline at end of file
107 107 No newline at end of file
108 108 self.connect(self.actionChange_Parameters, QtCore.SIGNAL("triggered()"), self.changeParameters) No newline at end of file
109 109 self.connect(self.actionAbout, QtCore.SIGNAL("triggered()"), self.about) No newline at end of file
110 110 No newline at end of file
111 111 self.process_iso = QtCore.QProcess() No newline at end of file
112 112 self.connect(self.process_iso, QtCore.SIGNAL('readyReadStandardOutput()'), self.readOuput_iso) No newline at end of file
113 113 self.connect(self.process_iso, QtCore.SIGNAL('readyReadStandardError()'), self.readError_iso) No newline at end of file
114 114 self.connect(self.process_iso, QtCore.SIGNAL('finished(int,QProcess::ExitStatus)'), self.finished_iso) No newline at end of file
115 115 No newline at end of file
116 116 self.process_burn = QtCore.QProcess() No newline at end of file
117 117 self.connect(self.process_burn, QtCore.SIGNAL('readyReadStandardOutput()'), self.readOuput_burn) No newline at end of file
118 118 self.connect(self.process_burn, QtCore.SIGNAL('readyReadStandardError()'), self.readError_burn) No newline at end of file
119 119 self.connect(self.process_burn, QtCore.SIGNAL('finished(int,QProcess::ExitStatus)'), self.finished_burn) No newline at end of file
120 120 No newline at end of file
121 121 self.process_check = QtCore.QProcess() No newline at end of file
122 122 self.connect(self.process_check, QtCore.SIGNAL('readyReadStandardOutput()'), self.readOuput_check) No newline at end of file
123 123 self.connect(self.process_check, QtCore.SIGNAL('readyReadStandardError()'), self.readError_check) No newline at end of file
124 124 self.connect(self.process_check, QtCore.SIGNAL('finished(int,QProcess::ExitStatus)'), self.finished_check) No newline at end of file
125 125 No newline at end of file
126 126 self.process_manual_check = QtCore.QProcess() No newline at end of file
127 127 self.connect(self.process_manual_check, QtCore.SIGNAL('readyReadStandardOutput()'), self.readOuput_manual_check) No newline at end of file
128 128 self.connect(self.process_manual_check, QtCore.SIGNAL('readyReadStandardError()'), self.readError_manual_check) No newline at end of file
129 129 self.connect(self.process_manual_check, QtCore.SIGNAL('finished(int,QProcess::ExitStatus)'), self.finished_manual_check) No newline at end of file
130 130 No newline at end of file
131 131 def changeParameters(self): No newline at end of file
132 132 dlg=QtGui.QDialog() No newline at end of file
133 133 dlgui=Ui_Parameters() No newline at end of file
134 134 dlgui.setupUi(dlg) No newline at end of file
135 135 if (dlg.exec_() == QtGui.QDialog.Accepted): No newline at end of file
136 136 if dlgui.txtDisc.value() > self.var_Discs or dlgui.txtCopy.value() > dlgui.txtNcopys.value(): No newline at end of file
137 137 self.txtInfo.append("Wrong parameters") No newline at end of file
138 138 else: No newline at end of file
139 139 self.var_Copys = dlgui.txtNcopys.value() No newline at end of file
140 140 self.var_disc_n = dlgui.txtDisc.value() No newline at end of file
141 141 self.var_copy_n = dlgui.txtCopy.value() No newline at end of file
142 142 self.txtInfo.append("Changed parameters") No newline at end of file
143 143 self.var_burned_discs = ( ( (self.var_disc_n - 1) * self.var_Copys) + self.var_copy_n -1 ) No newline at end of file
144 144 self.bool_first_iso = True No newline at end of file
145 145 self.txtInfo.append("Current disc: "+str(self.var_disc_n)) No newline at end of file
146 146 self.txtInfo.append("Current copy: "+str(self.var_copy_n)) No newline at end of file
147 147 self.txtInfo.append("Nro Copys: "+str(self.var_Copys)) No newline at end of file
148 148 functions2.make_parameters_conf(self) No newline at end of file
149 149 self.txtCopys.setValue(self.var_Copys) #Actualizo mananualmente el valor Copys No newline at end of file
150 150 No newline at end of file
151 151 No newline at end of file
152 152 No newline at end of file
153 153 def about(self): No newline at end of file
154 154 dlg_about=QtGui.QDialog() No newline at end of file
155 155 dlgui_about=Ui_About() No newline at end of file
156 156 dlgui_about.setupUi(dlg_about) No newline at end of file
157 157 dlg_about.exec_() No newline at end of file
158 158 No newline at end of file
159 159 No newline at end of file
160 160 #============================================================================== No newline at end of file
161 161 # Manejo de los eventos No newline at end of file
162 162 #============================================================================== No newline at end of file
163 163 No newline at end of file
164 164 #----------------------------------------------------- Obtencion de la ruta de los datos --------------------------------------------------------------- No newline at end of file
165 165 No newline at end of file
166 166 @pyqtSignature("") No newline at end of file
167 167 def on_btnDpath_clicked(self): No newline at end of file
168 168 """ No newline at end of file
169 169 Permite seleccionar graficamente el direcorio de los datos a grabar No newline at end of file
170 170 """ No newline at end of file
171 171 self.var_Dpath= str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly)) No newline at end of file
172 172 self.txtDpath.setText(self.var_Dpath) No newline at end of file
173 173 self.statusDpath = functions.dir_exists(self.var_Dpath, self) No newline at end of file
174 174 functions.load_days(self) No newline at end of file
175 175 No newline at end of file
176 176 No newline at end of file
177 177 @pyqtSignature("") No newline at end of file
178 178 def on_txtDpath_editingFinished(self): No newline at end of file
179 179 """ No newline at end of file
180 180 Carga la ruta editada y verifica que sea correcta y carga la lista de dias No newline at end of file
181 181 """ No newline at end of file
182 182 self.var_Dpath=str(self.txtDpath.text()) #Se carga la variable con la ruta recien editada No newline at end of file
183 183 self.statusDpath = functions.dir_exists(self.var_Dpath, self) No newline at end of file
184 184 functions.load_days(self) No newline at end of file
185 185 No newline at end of file
186 186 No newline at end of file
187 187 #----------------------------------------------------- Obtencion de las ruta del proyecto --------------------------------------------------------------- No newline at end of file
188 188 No newline at end of file
189 189 @pyqtSignature("") No newline at end of file
190 190 def on_btnRpath_clicked(self): No newline at end of file
191 191 """ No newline at end of file
192 192 Permite seleccionar graficamente el direcorio del proyecto No newline at end of file
193 193 """ No newline at end of file
194 194 self.var_Rpath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly)) No newline at end of file
195 195 self.txtRpath.setText(self.var_Rpath) No newline at end of file
196 196 self.statusRpath = functions.dir_exists(self.var_Rpath, self) No newline at end of file
197 197 No newline at end of file
198 198 No newline at end of file
199 199 @pyqtSignature("") No newline at end of file
200 200 def on_txtRpath_editingFinished(self): No newline at end of file
201 201 """ No newline at end of file
202 202 Valida la ruta del proyecto No newline at end of file
203 203 """ No newline at end of file
204 204 self.var_Rpath = str(self.txtRpath.text()) #Se carga la variable con la ruta recien editada No newline at end of file
205 205 self.statusRpath = functions.dir_exists(self.var_Rpath, self) No newline at end of file
206 206 No newline at end of file
207 207 No newline at end of file
208 208 #----------------------------------------------------- Tipo de datos --------------------------------------------------------------- No newline at end of file
209 209 No newline at end of file
210 210 @pyqtSignature("int") No newline at end of file
211 211 def on_lstDtype_activated(self, index): No newline at end of file
212 212 """ No newline at end of file
213 213 Permite elegir entre los tipos de archivos No newline at end of file
214 214 """ No newline at end of file
215 215 self.txtDtype.setReadOnly(True) No newline at end of file
216 216 if index == 0: No newline at end of file
217 217 self.var_Dtype ='r' No newline at end of file
218 218 elif index == 1: No newline at end of file
219 219 self.var_Dtype ='pdata' No newline at end of file
220 220 elif index == 2: No newline at end of file
221 221 self.var_Dtype ='sswma' No newline at end of file
222 222 else : No newline at end of file
223 223 self.var_Dtype ='' No newline at end of file
224 224 self.txtDtype.setReadOnly(False) No newline at end of file
225 225 No newline at end of file
226 226 self.txtDtype.setText(self.var_Dtype) No newline at end of file
227 227 functions.load_days(self) #llamada a funcion No newline at end of file
228 228 No newline at end of file
229 229 @pyqtSignature("") No newline at end of file
230 230 def on_txtDtype_editingFinished(self): No newline at end of file
231 231 self.var_Dtype=str(self.txtDtype.text()) No newline at end of file
232 232 functions.load_days(self) #llamada a funcion No newline at end of file
233 233 No newline at end of file
234 234 No newline at end of file
235 235 #----------------------------------------------------- Etiqueta --------------------------------------------------------------- No newline at end of file
236 236 No newline at end of file
237 237 @pyqtSignature("") No newline at end of file
238 238 def on_txtElabel_editingFinished(self): No newline at end of file
239 239 self.var_Elabel = str(self.txtElabel.text()) No newline at end of file
240 240 No newline at end of file
241 241 #----------------------------------------------------- Numero de copias --------------------------------------------------------------- No newline at end of file
242 242 @pyqtSignature("") No newline at end of file
243 243 def on_txtCopys_editingFinished(self): No newline at end of file
244 244 self.var_Copys = self.txtCopys.value() No newline at end of file
245 245 No newline at end of file
246 246 #----------------------------------------------------- Seleccion del rango de fechas --------------------------------------------------------------- No newline at end of file
247 247 No newline at end of file
248 248 @pyqtSignature("int") #CLOSED No newline at end of file
249 249 def on_lstStartDay_activated(self, index): No newline at end of file
250 250 """ No newline at end of file
251 251 Cambia la lista de opciones en lstStopDay No newline at end of file
252 252 """ No newline at end of file
253 253 var_StopDay_index=self.lstStopDay.count() - self.lstStopDay.currentIndex() No newline at end of file
254 254 self.lstStopDay.clear() No newline at end of file
255 255 No newline at end of file
256 256 for i in self.var_list[index:]: No newline at end of file
257 257 self.lstStopDay.addItem(i) No newline at end of file
258 258 No newline at end of file
259 259 self.lstStopDay.setCurrentIndex(self.lstStopDay.count() - var_StopDay_index) No newline at end of file
260 260 No newline at end of file
261 261 functions.get_sub_list(self) No newline at end of file
262 262 No newline at end of file
263 263 No newline at end of file
264 264 @pyqtSignature("int") #CLOSED No newline at end of file
265 265 def on_lstStopDay_activated(self, index): No newline at end of file
266 266 """ No newline at end of file
267 267 Cambia la lista de opciones en lstStartDay No newline at end of file
268 268 """ No newline at end of file
269 269 var_StartDay_index=self.lstStartDay.currentIndex() No newline at end of file
270 270 var_end_index = self.lstStopDay.count() - index No newline at end of file
271 271 self.lstStartDay.clear() No newline at end of file
272 272 No newline at end of file
273 273 for i in self.var_list[:len(self.var_list) - var_end_index + 1]: No newline at end of file
274 274 self.lstStartDay.addItem(i) No newline at end of file
275 275 No newline at end of file
276 276 self.lstStartDay.setCurrentIndex(var_StartDay_index) No newline at end of file
277 277 No newline at end of file
278 278 functions.get_sub_list(self) No newline at end of file
279 279 No newline at end of file
280 280 No newline at end of file
281 281 #----------------------------------------------------- Capacidad del dispositivo de grabacion --------------------------------------------------------------- No newline at end of file
282 282 No newline at end of file
283 283 @pyqtSignature("") No newline at end of file
284 284 def on_txtDcapacity_editingFinished(self): No newline at end of file
285 285 self.var_Dcapacity = self.txtDcapacity.value() No newline at end of file
286 286 No newline at end of file
287 287 No newline at end of file
288 288 @pyqtSignature("int") #CLOSED No newline at end of file
289 289 def on_lstDcapacity_activated(self, index): No newline at end of file
290 290 """ No newline at end of file
291 291 Permite elegir el tamaΓ±o del disco No newline at end of file
292 292 """ No newline at end of file
293 293 if index == 0: No newline at end of file
294 294 var_size=25.0 No newline at end of file
295 295 elif index == 1: No newline at end of file
296 296 var_size=8.5 No newline at end of file
297 297 elif index == 2: No newline at end of file
298 298 var_size=4.7 No newline at end of file
299 299 elif index == 3: No newline at end of file
300 300 var_size=0.7 No newline at end of file
301 301 No newline at end of file
302 302 if index != 4: No newline at end of file
303 303 self.txtDcapacity.setValue(var_size*10**9/1024**2) No newline at end of file
304 304 self.txtDcapacity.setReadOnly(True) No newline at end of file
305 305 else: No newline at end of file
306 306 self.txtDcapacity.setValue(100.0) No newline at end of file
307 307 self.txtDcapacity.setReadOnly(False) No newline at end of file
308 308 No newline at end of file
309 309 self.var_lstDcapacity = self.lstDcapacity.currentIndex() No newline at end of file
310 310 self.var_Dcapacity = self.txtDcapacity.value() No newline at end of file
311 311 No newline at end of file
312 312 #----------------------------------------------------- Testeo de las unidades de grabacion --------------------------------------------------------------- No newline at end of file
313 313 No newline at end of file
314 314 @pyqtSignature("") No newline at end of file
315 315 def on_btnTdevA_clicked(self): No newline at end of file
316 316 var_dev = str(self.txtDeviceA.text()) No newline at end of file
317 317 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev No newline at end of file
318 318 commands.getstatusoutput(var_cmd) No newline at end of file
319 319 No newline at end of file
320 320 @pyqtSignature("") No newline at end of file
321 321 def on_btnTdevB_clicked(self): No newline at end of file
322 322 var_dev = str(self.txtDeviceB.text()) No newline at end of file
323 323 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev No newline at end of file
324 324 commands.getstatusoutput(var_cmd) No newline at end of file
325 325 No newline at end of file
326 326 @pyqtSignature("") No newline at end of file
327 327 def on_btnTdevC_clicked(self): No newline at end of file
328 328 var_dev = str(self.txtDeviceC.text()) No newline at end of file
329 329 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev No newline at end of file
330 330 commands.getstatusoutput(var_cmd) No newline at end of file
331 331 No newline at end of file
332 332 @pyqtSignature("") No newline at end of file
333 333 def on_btnTdevD_clicked(self): No newline at end of file
334 334 var_dev = str(self.txtDeviceD.text()) No newline at end of file
335 335 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev No newline at end of file
336 336 commands.getstatusoutput(var_cmd) No newline at end of file
337 337 No newline at end of file
338 338 No newline at end of file
339 339 #============================================================================== No newline at end of file
340 340 # Botones para la generacion de los archivos de configuracion No newline at end of file
341 341 #============================================================================== No newline at end of file
342 342 No newline at end of file
343 343 #----------------------------------------------------- Generacion de la configuracion usando los parametros --------------------------------------------------------------- No newline at end of file
344 344 No newline at end of file
345 345 @pyqtSignature("") No newline at end of file
346 346 def on_btnGbkp_clicked(self): No newline at end of file
347 347 """ No newline at end of file
348 348 Generacion de archivos de configuracion usando los parametros No newline at end of file
349 349 """ No newline at end of file
350 350 No newline at end of file
351 351 if functions.validate_parameters(self) == False: No newline at end of file
352 352 return No newline at end of file
353 353 No newline at end of file
354 354 #Crea las carpetas en la ruta del proyecto y verifica que se crearon correctamente No newline at end of file
355 355 list_dirs=['gpath','iso','ppath', 'tmpdata'] No newline at end of file
356 356 bool_make_dirs = functions.make_dirs(list_dirs, self) No newline at end of file
357 357 if bool_make_dirs == False: No newline at end of file
358 358 return No newline at end of file
359 359 No newline at end of file
360 360 var_files_list = functions.list_files(self) #Se obtiene la lista de archivos a grabar No newline at end of file
361 361 No newline at end of file
362 362 self.var_Discs = functions.make_files_dat(var_files_list, self) #Se crean los archivos .dat No newline at end of file
363 363 No newline at end of file
364 364 functions.make_files_print(self) # Se crean los archivos .print No newline at end of file
365 365 No newline at end of file
366 366 functions2.make_parameters_conf(self) # se crea el archivo parameters.conf No newline at end of file
367 367 No newline at end of file
368 368 self.txtInfo.append("Total number of discs for recording: "+str(self.var_Discs * self.var_Copys)) No newline at end of file
369 369 No newline at end of file
370 370 #Se bloquean los parametros de configuracion No newline at end of file
371 371 functions2.enabled_items1(True, self) No newline at end of file
372 372 self.var_disc_n = 1 No newline at end of file
373 373 self.var_copy_n = 1 No newline at end of file
374 374 self.bool_first_iso = True No newline at end of file
375 375 self.var_burned_discs = 0 #numero de discos grabados No newline at end of file
376 376 No newline at end of file
377 377 No newline at end of file
378 378 #----------------------------------------------------- Permite reiniciar la configuracion --------------------------------------------------------------- No newline at end of file
379 379 No newline at end of file
380 380 @pyqtSignature("") No newline at end of file
381 381 def on_btnRestart_clicked(self): No newline at end of file
382 382 """ No newline at end of file
383 383 Permite que se puedan cambiar los parametros No newline at end of file
384 384 """ No newline at end of file
385 385 if os.path.isfile("parameters.conf"): No newline at end of file
386 386 os.remove("parameters.conf") No newline at end of file
387 387 if os.path.isfile("burning.conf"): No newline at end of file
388 388 os.remove("burning.conf") No newline at end of file
389 389 No newline at end of file
390 390 functions2.enabled_items1(False, self) No newline at end of file
391 391 self.btnStartburn.setText("Start Burn") No newline at end of file
392 392 self.txtInfo.clear() No newline at end of file
393 393 No newline at end of file
394 394 No newline at end of file
395 395 No newline at end of file
396 396 #============================================================================== No newline at end of file
397 397 # Acciones de los procesos No newline at end of file
398 398 #============================================================================== No newline at end of file
399 399 No newline at end of file
400 400 #------------------------------------------------ Funciones del proceso de creacion del iso ------------------------------------------------------ No newline at end of file
401 401 No newline at end of file
402 402 def readOuput_iso(self): No newline at end of file
403 403 self.txtProgress.setText("stdout iso: " + QtCore.QString(self.process_iso.readAllStandardOutput())) No newline at end of file
404 404 No newline at end of file
405 405 def readError_iso(self): No newline at end of file
406 406 self.txtProgress.setText("stderr iso: " + QtCore.QString(self.process_iso.readAllStandardError())) No newline at end of file
407 407 No newline at end of file
408 408 def finished_iso(self): No newline at end of file
409 409 self.txtProgress.clear() No newline at end of file
410 410 No newline at end of file
411 411 if not(self.bool_state_burning): No newline at end of file
412 412 return No newline at end of file
413 413 No newline at end of file
414 414 if self.process_iso.exitCode() == 0: No newline at end of file
415 415 self.txtInfo.append("------Iso file: "+functions.i2s(self.var_disc_n)+" created successfully\n") No newline at end of file
416 416 self.var_step = 1 No newline at end of file
417 417 self.function_burn() No newline at end of file
418 418 No newline at end of file
419 419 else: No newline at end of file
420 420 self.txtInfo.append("#####Error creating iso file "+functions.i2s(self.var_disc_n) No newline at end of file
421 421 +" , code "+QtCore.QString(self.process_iso.exitCode())) No newline at end of file
422 422 self.txtInfo.append("Please check the data") No newline at end of file
423 423 self.txtInfo.append("FATAL ERROR") No newline at end of file
424 424 No newline at end of file
425 425 #----------------------------------------------------- Funciones del proceso de grabado --------------------------------------------------------------- No newline at end of file
426 426 No newline at end of file
427 427 def readOuput_burn(self): No newline at end of file
428 428 self.txtProgress.setText("stdout burn: " + QtCore.QString(self.process_burn.readAllStandardOutput())) No newline at end of file
429 429 No newline at end of file
430 430 def readError_burn(self): No newline at end of file
431 431 self.txtProgress.setText("stderr burn: " + QtCore.QString(self.process_burn.readAllStandardError())) No newline at end of file
432 432 No newline at end of file
433 433 def finished_burn(self): No newline at end of file
434 434 self.txtProgress.clear() No newline at end of file
435 435 No newline at end of file
436 436 #Si se paro el proceso manualmente se termina No newline at end of file
437 437 if not(self.bool_state_burning): No newline at end of file
438 438 return No newline at end of file
439 439 No newline at end of file
440 440 if self.process_burn.exitCode() == 0: No newline at end of file
441 441 self.txtInfo.append("-----Complete recording, disc: "+str(self.var_disc_n)+" copy: "+str(self.var_copy_n)) No newline at end of file
442 442 functions2.update_message(1, "COMPLETED", self) No newline at end of file
443 443 self.var_step = 2 No newline at end of file
444 444 self.function_check() No newline at end of file
445 445 No newline at end of file
446 446 else: No newline at end of file
447 447 self.txtInfo.append("#######Error recording, disc: "+functions.i2s(self.var_disc_n)+" copy: " No newline at end of file
448 448 +functions.i2s(self.var_copy_n)+", code "+QtCore.QString(self.process_burn.exitCode())) No newline at end of file
449 449 functions2.update_message(1, "ERROR", self) No newline at end of file
450 450 No newline at end of file
451 451 functions.is_last_disc_and_copy(self) No newline at end of file
452 452 No newline at end of file
453 453 No newline at end of file
454 454 #----------------------------------------------------- Funciones del proceso de verificacion --------------------------------------------------------------- No newline at end of file
455 455 No newline at end of file
456 456 def readOuput_check(self): No newline at end of file
457 457 self.txtProgress.setText("stdout check: " + QtCore.QString(self.process_check.readAllStandardOutput())) No newline at end of file
458 458 No newline at end of file
459 459 def readError_check(self): No newline at end of file
460 460 self.txtProgress.setText("stderr check: " + QtCore.QString(self.process_check.readAllStandardError())) No newline at end of file
461 461 No newline at end of file
462 462 def finished_check(self): No newline at end of file
463 463 self.txtProgress.clear() No newline at end of file
464 464 No newline at end of file
465 465 if not(self.bool_state_burning): No newline at end of file
466 466 return No newline at end of file
467 467 No newline at end of file
468 468 if self.process_check.exitCode() == 0: No newline at end of file
469 469 self.txtInfo.append("--------Complete checking, disc: "+str(self.var_disc_n)+" copy: "+str(self.var_copy_n)) No newline at end of file
470 470 functions2.update_message(2, "CHECKED", self) No newline at end of file
471 471 No newline at end of file
472 472 else: No newline at end of file
473 473 self.txtInfo.append("#######Error checking, disc: "+functions.i2s(self.var_disc_n)+" copy: " No newline at end of file
474 474 +functions.i2s(self.var_copy_n)+", code "+QtCore.QString(self.process_check.exitCode())) No newline at end of file
475 475 functions2.update_message(2, "ERROR", self) No newline at end of file
476 476 No newline at end of file
477 477 #borrar el contenido de tmpdata No newline at end of file
478 478 var_tmpdata=self.var_Rpath+"/tmpdata" No newline at end of file
479 479 No newline at end of file
480 480 bool_return = functions.remove_dir(var_tmpdata, self) No newline at end of file
481 481 if not(bool_return): No newline at end of file
482 482 self.txtInfo.append("Error deleting directory: "+var_tmpdata) No newline at end of file
483 483 self.bool_state_burning = False No newline at end of file
484 484 return No newline at end of file
485 485 No newline at end of file
486 486 bool_return = functions.make_dir(var_tmpdata, self) No newline at end of file
487 487 if not(bool_return): No newline at end of file
488 488 self.txtInfo.append("Error creating directory:"+ var_tmpdata) No newline at end of file
489 489 self.bool_state_burning = False No newline at end of file
490 490 return No newline at end of file
491 491 No newline at end of file
492 492 functions.is_last_disc_and_copy(self) No newline at end of file
493 493 No newline at end of file
494 494 #----------------------------------------------------- Funciones del proceso de verificacion manual --------------------------------------------------------------- No newline at end of file
495 495 No newline at end of file
496 496 def readOuput_manual_check(self): No newline at end of file
497 497 self.txtProgress.setText("stdout check: " + QtCore.QString(self.process_manual_check.readAllStandardOutput())) No newline at end of file
498 498 No newline at end of file
499 499 def readError_manual_check(self): No newline at end of file
500 500 self.txtProgress.setText("stderr check: " + QtCore.QString(self.process_manual_check.readAllStandardError())) No newline at end of file
501 501 No newline at end of file
502 502 def finished_manual_check(self): No newline at end of file
503 503 self.txtProgress.clear() No newline at end of file
504 504 No newline at end of file
505 505 if not(self.bool_state_manual_check): No newline at end of file
506 506 return No newline at end of file
507 507 No newline at end of file
508 508 if self.process_manual_check.exitCode() == 0: No newline at end of file
509 509 self.txtInfo.append("--------Complete checking, disc: "+str(self.var_n_check_dirs + 1)) No newline at end of file
510 510 functions2.update_message(2, "CHECKED", self, index=self.var_n_check_dirs) No newline at end of file
511 511 No newline at end of file
512 512 else: No newline at end of file
513 513 self.txtInfo.append("#######Error checking, disc: "+str(self.var_n_check_dirs + 1) No newline at end of file
514 514 +", code "+QtCore.QString(self.process_manual_check.exitCode())) No newline at end of file
515 515 functions2.update_message(2, "ERROR", self, index=self.var_n_check_dirs) No newline at end of file
516 516 No newline at end of file
517 517 #borrar el contenido de tmpdata No newline at end of file
518 518 var_tmpdata=self.var_TDpath+"/tmpdata" No newline at end of file
519 519 No newline at end of file
520 520 bool_return = functions.remove_dir(var_tmpdata, self) No newline at end of file
521 521 if not(bool_return): No newline at end of file
522 522 self.txtInfo.append("Error deleting directory: "+var_tmpdata) No newline at end of file
523 523 self.bool_state_manual_check = False No newline at end of file
524 524 return No newline at end of file
525 525 No newline at end of file
526 526 self.var_n_check_dirs +=1 No newline at end of file
527 527 No newline at end of file
528 528 if self.var_n_check_dirs >= len(self.list_check_dirs) : No newline at end of file
529 529 self.bool_state_manual_check = False No newline at end of file
530 530 self.function_manual_check_final() No newline at end of file
531 531 return No newline at end of file
532 532 No newline at end of file
533 533 self.function_manual_check() No newline at end of file
534 534 No newline at end of file
535 535 No newline at end of file
536 536 #============================================================================== No newline at end of file
537 537 # Botones para el proceso de grabacion No newline at end of file
538 538 #============================================================================== No newline at end of file
539 539 No newline at end of file
540 540 #----------------------------------------------------- Iniciar proceso de grabacion --------------------------------------------------------------- No newline at end of file
541 541 No newline at end of file
542 542 @pyqtSignature("") No newline at end of file
543 543 def on_btnStartburn_clicked(self): No newline at end of file
544 544 """ No newline at end of file
545 545 Se inicia el proceso de grabacion No newline at end of file
546 546 """ No newline at end of file
547 547 #Verifica que exista algun dispositivo de grabacion seleccionado No newline at end of file
548 548 if not(functions2.selected_devices(self)): No newline at end of file
549 549 self.txtInfo.append("There is no recording device selected") No newline at end of file
550 550 return No newline at end of file
551 551 No newline at end of file
552 552 # #Lista los dispositivos de grabacion a usar No newline at end of file
553 553 # for dev in self.var_devices: No newline at end of file
554 554 # self.txtInfo.append("recording device :"+dev) No newline at end of file
555 555 No newline at end of file
556 556 self.bool_state_burning = True No newline at end of file
557 557 functions2.enabled_items2(True, self) No newline at end of file
558 558 No newline at end of file
559 559 if self.bool_first_iso == True: No newline at end of file
560 560 self.txtInfo.append("BUTTON: on_btnStartburn_clicked") No newline at end of file
561 561 self.var_step = 4 No newline at end of file
562 562 self.function_eject() No newline at end of file
563 563 return No newline at end of file
564 564 No newline at end of file
565 565 if self.var_step == 0: No newline at end of file
566 566 self.function_iso() No newline at end of file
567 567 return No newline at end of file
568 568 No newline at end of file
569 569 if self.var_step == 1: No newline at end of file
570 570 self.function_burn() No newline at end of file
571 571 return No newline at end of file
572 572 No newline at end of file
573 573 #----------------------------------------------------- Funcion para el grabado --------------------------------------------------------------- No newline at end of file
574 574 No newline at end of file
575 575 def function_iso(self): No newline at end of file
576 576 #Creacion del archivo.iso para la grabacion No newline at end of file
577 577 if self.var_step == 0: No newline at end of file
578 578 self.txtInfo.append("########## Disc number: "+str(self.var_disc_n)+"##########") No newline at end of file
579 579 self.txtInfo.append("------Creating iso file number: "+str(self.var_disc_n)) No newline at end of file
580 580 No newline at end of file
581 581 var_cmd = functions.cmd_iso(self) No newline at end of file
582 582 No newline at end of file
583 583 if self.var_real_show_cmd == True: No newline at end of file
584 584 self.txtInfo.append("CMD: "+var_cmd) No newline at end of file
585 585 No newline at end of file
586 586 if self.var_real_iso == False: No newline at end of file
587 587 self.txtInfo.append('**function_iso') No newline at end of file
588 588 var_cmd="echo 'function_iso'" No newline at end of file
589 589 No newline at end of file
590 590 self.process_iso.start(var_cmd) No newline at end of file
591 591 No newline at end of file
592 592 def function_burn(self): No newline at end of file
593 593 #Grabacion de los DVDs No newline at end of file
594 594 No newline at end of file
595 595 if self.var_step == 1: No newline at end of file
596 596 self.txtInfo.append("------Recording disc: "+str(self.var_disc_n)+", copy:"+str(self.var_copy_n)) No newline at end of file
597 597 functions2.update_message(1, "BURNING", self) No newline at end of file
598 598 No newline at end of file
599 599 var_cmd = functions.cmd_burn(self) No newline at end of file
600 600 No newline at end of file
601 601 if self.var_real_show_cmd == True: No newline at end of file
602 602 self.txtInfo.append("CMD: "+var_cmd) No newline at end of file
603 603 No newline at end of file
604 604 if self.var_real_burn == False: No newline at end of file
605 605 self.txtInfo.append('**function_burn') No newline at end of file
606 606 var_cmd="echo 'function_burn'" No newline at end of file
607 607 No newline at end of file
608 608 self.process_burn.start(var_cmd) No newline at end of file
609 609 No newline at end of file
610 610 def function_check(self): No newline at end of file
611 611 #Verificacion de los discos No newline at end of file
612 612 if self.var_step == 2: No newline at end of file
613 613 self.txtInfo.append("-----------checking disc:"+str(self.var_disc_n)+", copy:"+str(self.var_copy_n)) No newline at end of file
614 614 No newline at end of file
615 615 functions2.eject_one_device(self) No newline at end of file
616 616 functions2.eject_t_one_device(self) No newline at end of file
617 617 self.txtInfo.append("Waiting ...") No newline at end of file
618 618 time .sleep(20) No newline at end of file
619 619 No newline at end of file
620 620 functions2.update_message(2, "CHECKING", self) No newline at end of file
621 621 No newline at end of file
622 622 dev_sr = functions2.get_dev_sr(self) No newline at end of file
623 623 var_cmd = functions.cmd_check(dev_sr, self) No newline at end of file
624 624 No newline at end of file
625 625 if self.var_real_show_cmd == True: No newline at end of file
626 626 self.txtInfo.append("CMD: "+var_cmd) No newline at end of file
627 627 No newline at end of file
628 628 if self.var_real_check == False: No newline at end of file
629 629 self.txtInfo.append('**function_check') No newline at end of file
630 630 var_cmd="echo 'function_check'" No newline at end of file
631 631 No newline at end of file
632 632 self.process_check.start(var_cmd) No newline at end of file
633 633 No newline at end of file
634 634 #OK No newline at end of file
635 635 def function_eject(self): No newline at end of file
636 636 self.txtInfo.append("Ejecting recording devices") No newline at end of file
637 637 self.txtInfo.append("Please insert blank discs") No newline at end of file
638 638 No newline at end of file
639 639 if self.var_real_eject == True: No newline at end of file
640 640 functions2.eject_devices(self) # Expulsa las bandejas de los dispostivos de grabacion No newline at end of file
641 641 else: No newline at end of file
642 642 self.txtInfo.append("**functions2.eject_devices") No newline at end of file
643 643 No newline at end of file
644 644 self.btnStartburn.setText("Continue") No newline at end of file
645 645 self.btnStartburn.setEnabled(True) No newline at end of file
646 646 No newline at end of file
647 647 if self.bool_first_iso == True: No newline at end of file
648 648 self.bool_first_iso = False No newline at end of file
649 649 self.var_step = 0 No newline at end of file
650 650 No newline at end of file
651 651 elif self.var_copy_n == 1: No newline at end of file
652 652 self.var_step = 0 No newline at end of file
653 653 No newline at end of file
654 654 else: No newline at end of file
655 655 self.var_step = 1 No newline at end of file
656 656 No newline at end of file
657 657 def function_final(self): No newline at end of file
658 658 self.txtInfo.append("Recording process is complete") No newline at end of file
659 659 if os.path.isfile("parameters.conf"): No newline at end of file
660 660 os.remove("parameters.conf") No newline at end of file
661 661 if os.path.isfile("burning.conf"): No newline at end of file
662 662 os.remove("burning.conf") No newline at end of file
663 663 No newline at end of file
664 664 functions2.eject_devices(self) # Expulsa las bandejas de los dispostivos de grabacion No newline at end of file
665 665 No newline at end of file
666 666 No newline at end of file
667 667 No newline at end of file
668 668 No newline at end of file
669 669 #----------------------------------------------------- Detener proceso de grabacion --------------------------------------------------------------- No newline at end of file
670 670 No newline at end of file
671 671 @pyqtSignature("") No newline at end of file
672 672 def on_btnStopburn_clicked(self): No newline at end of file
673 673 """ No newline at end of file
674 674 Slot documentation goes here. No newline at end of file
675 675 """ No newline at end of file
676 676 self.bool_state_burning = False No newline at end of file
677 677 No newline at end of file
678 678 if self.var_step == 0: No newline at end of file
679 679 self.process_iso.terminate() #Termina el proceso, si puede No newline at end of file
680 680 # self.process_iso.kill() #Mata el proceso, no es la forma adecuada, solo usar si terminate() no funciona No newline at end of file
681 681 elif self.var_step == 1: No newline at end of file
682 682 self.process_burn.terminate() No newline at end of file
683 683 elif self.var_step == 2: No newline at end of file
684 684 self.process_check.terminate() No newline at end of file
685 685 No newline at end of file
686 686 self.txtInfo.append("Stopped recording") No newline at end of file
687 687 functions2.enabled_items2(False, self) No newline at end of file
688 688 self.bool_first_iso = True No newline at end of file
689 689 No newline at end of file
690 690 No newline at end of file
691 691 No newline at end of file
692 692 #============================================================================== No newline at end of file
693 693 # Proceso verificacion manual No newline at end of file
694 694 #============================================================================== No newline at end of file
695 695 No newline at end of file
696 696 No newline at end of file
697 697 #----------------------------------------------------- Proceso de verificaion manual --------------------------------------------------------------- No newline at end of file
698 698 No newline at end of file
699 699 No newline at end of file
700 700 @pyqtSignature("") No newline at end of file
701 701 def on_btnTDpath_clicked(self): No newline at end of file
702 702 """ No newline at end of file
703 703 Slot documentation goes here. No newline at end of file
704 704 """ No newline at end of file
705 705 self.var_TDpath= str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly)) No newline at end of file
706 706 self.txtTDpath.setText(self.var_TDpath) No newline at end of file
707 707 self.statusTDpath = functions.dir_exists(self.var_TDpath, self) No newline at end of file
708 708 if self.statusTDpath: No newline at end of file
709 709 self.btnCHstart.setEnabled(True) No newline at end of file
710 710 No newline at end of file
711 711 No newline at end of file
712 712 @pyqtSignature("") No newline at end of file
713 713 def on_btnCHstart_clicked(self): No newline at end of file
714 714 """ No newline at end of file
715 715 Slot documentation goes here. No newline at end of file
716 716 """ No newline at end of file
717 717 No newline at end of file
718 718 if self.btnCHstart.text() == "STOP": No newline at end of file
719 719 self.btnCHstart.setText("START") #Cambio el texto del boton No newline at end of file
720 720 self.bool_state_manual_check = False No newline at end of file
721 721 self.process_manual_check.terminate() No newline at end of file
722 722 No newline at end of file
723 723 #borrar el contenido de tmpdata No newline at end of file
724 724 var_tmpdata=self.var_TDpath+"/tmpdata" No newline at end of file
725 725 bool_return = functions.remove_dir(var_tmpdata, self) No newline at end of file
726 726 if not(bool_return): No newline at end of file
727 727 self.txtInfo.append("Error deleting directory: "+var_tmpdata) No newline at end of file
728 728 No newline at end of file
729 729 return No newline at end of file
730 730 No newline at end of file
731 731 No newline at end of file
732 732 list_dirs = functions2.mounted_devices() No newline at end of file
733 733 if list_dirs == "FATAL ERROR": No newline at end of file
734 734 self.txtInfo.append("ERROR") No newline at end of file
735 735 return No newline at end of file
736 736 No newline at end of file
737 737 for i in list_dirs: No newline at end of file
738 738 self.txtInfo.append(i) No newline at end of file
739 739 No newline at end of file
740 740 self.list_check_dirs = list_dirs #contiene los directorios donde estan montados los discos a verificar No newline at end of file
741 741 self.var_n_check_dirs = 0 No newline at end of file
742 742 self.bool_state_manual_check = True No newline at end of file
743 743 No newline at end of file
744 744 self.btnTDpath.setEnabled(False) #Deshabilito el boton que permite cambiar la ruta de verificacion No newline at end of file
745 745 self.btnCHstart.setText("STOP") #Cambio el texto del boton No newline at end of file
746 746 No newline at end of file
747 747 self.function_manual_check() No newline at end of file
748 748 No newline at end of file
749 749 No newline at end of file
750 750 def function_manual_check(self): No newline at end of file
751 751 No newline at end of file
752 752 #Verificacion de los discos No newline at end of file
753 753 if self.bool_state_manual_check == True: No newline at end of file
754 754 No newline at end of file
755 755 self.txtInfo.append("-----------manually checking disc: "+str(self.var_n_check_dirs + 1) No newline at end of file
756 756 +" directory: "+self.list_check_dirs[self.var_n_check_dirs]) No newline at end of file
757 757 No newline at end of file
758 758 functions2.update_message(2, "CHECKING", self, index=self.var_n_check_dirs) No newline at end of file
759 759 No newline at end of file
760 760 #Crea la carpeta tmpdata dentro de la ruta elegida No newline at end of file
761 761 var_tmpdata=self.var_TDpath+"/tmpdata" No newline at end of file
762 762 bool_return = functions.make_dir(var_tmpdata, self) No newline at end of file
763 763 if not(bool_return): No newline at end of file
764 764 self.txtInfo.append("Error creating directory:"+ var_tmpdata) No newline at end of file
765 765 self.bool_state_burning = False No newline at end of file
766 766 return No newline at end of file
767 767 No newline at end of file
768 768 var_data_dir = self.list_check_dirs[self.var_n_check_dirs] #Carpeta donde esta montado el disco actual No newline at end of file
769 769 No newline at end of file
770 770 var_cmd = functions.cmd_manual_check(var_data_dir, var_tmpdata) No newline at end of file
771 771 No newline at end of file
772 772 if self.var_real_show_cmd == True: No newline at end of file
773 773 self.txtInfo.append("CMD: "+var_cmd) No newline at end of file
774 774 No newline at end of file
775 775 if self.var_real_manual_check == False: No newline at end of file
776 776 self.txtInfo.append('**function_manual_check') No newline at end of file
777 777 var_cmd="echo 'function_manual_check'" No newline at end of file
778 778 No newline at end of file
779 779 self.process_manual_check.start(var_cmd) No newline at end of file
780 780 No newline at end of file
781 781 No newline at end of file
782 782 def function_manual_check_final(self): No newline at end of file
783 783 self.txtInfo.append("Manual check process is complete") No newline at end of file
784 784 self.btnCHstart.setText("START") #Cambio el texto del boton
785 No newline at end of file
785 functions2.eject_devices_2(self) # Expulsa las bandejas de los dispostivos de grabacion
No newline at end of file
786 No newline at end of file
786 No newline at end of file
No newline at end of file
787 commands.getstatusoutput(var_cmd)
No newline at end of file
788
No newline at end of file
789 No newline at end of file
General Comments 0
You need to be logged in to leave comments. Login now