##// END OF EJS Templates
***
ralonso -
r87:88
parent child
Show More
@@ -1,361 +1,361
1 1 # -*- coding: utf-8 -*- No newline at end of file
2 2 No newline at end of file
3 3 #class BKmanager: No newline at end of file
4 4 # def __init__(self): No newline at end of file
5 5 No newline at end of file
6 6 from subprocess import * No newline at end of file
7 7 import sys No newline at end of file
8 8 import os No newline at end of file
9 9 import subprocess No newline at end of file
10 10 import commands No newline at end of file
11 11 import shutil No newline at end of file
12 12 import functions2 No newline at end of file
13 13 No newline at end of file
14 14 #--------------------------------------------- Entero a cadena agregando ceros delante ------------------------------------------------- No newline at end of file
15 15 No newline at end of file
16 16 def i2s(var_n, var_length=4): No newline at end of file
17 17 var_n2=str(var_n) No newline at end of file
18 18 while len(var_n2) < var_length: No newline at end of file
19 19 var_n2 = "0"+var_n2 No newline at end of file
20 20 return var_n2 No newline at end of file
21 21 No newline at end of file
22 22 No newline at end of file
23 23 #----------------------------------------- Se verifica que la ruta exista y sea un directorio ------------------------------------------------- No newline at end of file
24 24 No newline at end of file
25 25 def dir_exists(var_dir, self): No newline at end of file
26 26 if os.path.isdir(var_dir): No newline at end of file
27 27 return True No newline at end of file
28 28 else: No newline at end of file
29 29 self.txtInfo.append("Incorrect path:" + str(var_dir)) No newline at end of file
30 30 return False No newline at end of file
31 31 No newline at end of file
32 32 No newline at end of file
33 33 #-------------------------------- Se buscan los archivos del tipo especificado y se cargan las fechas ----------------------------- No newline at end of file
34 34 No newline at end of file
35 35 def load_days(self): No newline at end of file
36 36 No newline at end of file
37 37 self.var_list=[] No newline at end of file
38 38 self.lstStartDay.clear() No newline at end of file
39 39 self.lstStopDay.clear() No newline at end of file
40 40 No newline at end of file
41 41 if self.statusDpath == False: No newline at end of file
42 42 self.btnGbkp.setEnabled(False) No newline at end of file
43 43 return No newline at end of file
44 44 No newline at end of file
45 45 if self.var_Dtype == '': No newline at end of file
46 46 return No newline at end of file
47 47 No newline at end of file
48 48 var_cmd="find " + str(self.var_Dpath) + " -name *."+ str(self.var_Dtype) +" | awk -F/ '{print substr($NF,2,7)}' | sort| uniq" No newline at end of file
49 49 output=commands.getstatusoutput(var_cmd)[1] No newline at end of file
50 50 No newline at end of file
51 51 #Si no se encuentra ningun archivo No newline at end of file
52 52 if len(output) == 0: No newline at end of file
53 53 self.txtInfo.append("File not found") No newline at end of file
54 54 self.btnGbkp.setEnabled(False) No newline at end of file
55 55 return No newline at end of file
56 56 No newline at end of file
57 57 #Se cargan las listas para seleccionar StartDay y StopDay (QComboBox) No newline at end of file
58 58 for i in range(0, (len(output)+1)/8): No newline at end of file
59 59 self.var_list.append(output[8*i:8*(i+1)-1]) No newline at end of file
60 60 No newline at end of file
61 61 for i in self.var_list: No newline at end of file
62 62 self.lstStartDay.addItem(i) No newline at end of file
63 63 self.lstStopDay.addItem(i) No newline at end of file
64 64 self.lstStopDay.setCurrentIndex(self.lstStartDay.count()-1) No newline at end of file
65 65 No newline at end of file
66 66 get_sub_list(self) No newline at end of file
67 67 self.btnGbkp.setEnabled(True) No newline at end of file
68 68 No newline at end of file
69 69 No newline at end of file
70 70 #-------------------------------------------------- Obtiene el rango de las fechas seleccionadas ----------------------------------------- No newline at end of file
71 71 No newline at end of file
72 72 def get_sub_list(self): No newline at end of file
73 73 self.var_sublist=[] No newline at end of file
74 74 for i in self.var_list[self.lstStartDay.currentIndex():self.lstStartDay.currentIndex() + self.lstStopDay.currentIndex()+1]: No newline at end of file
75 75 self.var_sublist.append(i) No newline at end of file
76 76 No newline at end of file
77 77 No newline at end of file
78 78 #----------------------------------------------------- Verifica los parametros faltantes ----------------------------------------------------------- No newline at end of file
79 79 No newline at end of file
80 80 def validate_parameters(self): No newline at end of file
81 81 #Verifica que las ruta del proyecto sea valida No newline at end of file
82 82 if self.statusRpath == False: No newline at end of file
83 83 self.txtInfo.append("Incorrect proyect path") No newline at end of file
84 84 return False No newline at end of file
85 85 No newline at end of file
86 86 #Verifica la etiqueta No newline at end of file
87 87 if len(self.var_Elabel) == 0: No newline at end of file
88 88 self.txtInfo.append("Enter label") No newline at end of file
89 89 return False No newline at end of file
90 90 No newline at end of file
91 91 return True No newline at end of file
92 92 No newline at end of file
93 93 No newline at end of file
94 94 #------------------------------------------------- Crea directorios en la ruta indicada ----------------------------------------------------------- No newline at end of file
95 95 No newline at end of file
96 96 def make_dirs(list_dirs, self): No newline at end of file
97 97 No newline at end of file
98 98 for var_dir in list_dirs: No newline at end of file
99 99 shutil.rmtree(self.var_Rpath+'/'+var_dir, True) No newline at end of file
100 100 var_output=commands.getstatusoutput("mkdir -p "+self.var_Rpath+'/'+var_dir) No newline at end of file
101 101 if var_output[0] != 0: No newline at end of file
102 102 self.txtInfo.append("Error creating directory: "+var_dir+", output_error:" + str(var_output[0])) No newline at end of file
103 103 return False No newline at end of file
104 104 self.txtInfo.append('Directories created correctly') No newline at end of file
105 105 return True No newline at end of file
106 106 No newline at end of file
107 107 def remove_dir(var_dir, self): No newline at end of file
108 108 var_output = commands.getstatusoutput('chmod -R 777 '+var_dir) No newline at end of file
109 109 if var_output[0] != 0: No newline at end of file
110 110 self.txtInfo.append("Error changing permissions: "+var_dir+", output_error:" + str(var_output[0])) No newline at end of file
111 111 return False No newline at end of file
112 112 No newline at end of file
113 113 var_output = commands.getstatusoutput('rm -rf '+var_dir) No newline at end of file
114 114 if var_output[0] != 0: No newline at end of file
115 115 self.txtInfo.append("Error deleting directory: "+var_dir+", output_error:" + str(var_output[0])) No newline at end of file
116 116 return False No newline at end of file
117 117 return True No newline at end of file
118 118 No newline at end of file
119 119 def make_dir(var_dir, self): No newline at end of file
120 120 var_output = commands.getstatusoutput('mkdir '+var_dir) No newline at end of file
121 121 if var_output[0] != 0:
122 No newline at end of file
122 self.txtInfo.append("Error deleting directory: "+var_dir+", output_error:" + str(var_output[0])) No newline at end of file
123 123 return False No newline at end of file
124 124 return True No newline at end of file
125 125 No newline at end of file
126 126 #-------------------------------------------- Busca los archivos con los parametros de busqueda --------------------------------------- No newline at end of file
127 127 No newline at end of file
128 128 def list_files(self): No newline at end of file
129 129 var_files_list=[] No newline at end of file
130 130 for var_doy in self.var_sublist: No newline at end of file
131 131 var_cmd="find " + str(self.var_Dpath) + " -name ?"+var_doy+"???."+ str(self.var_Dtype) + " |sort" No newline at end of file
132 132 var_output=commands.getstatusoutput(var_cmd)[1] No newline at end of file
133 133 for var_file in var_output.split(): No newline at end of file
134 134 var_files_list.append(var_file) #Almacena cada archivo en la lista No newline at end of file
135 135 return var_files_list No newline at end of file
136 136 No newline at end of file
137 137 No newline at end of file
138 138 #--------------- Genera la lista de archivos .dat que contienen los archivos a grabar en cada DVD ----------------------- No newline at end of file
139 139 No newline at end of file
140 140 def make_files_dat(var_files_list, self): No newline at end of file
141 141 var_Rpath_ppath=self.var_Rpath+"/ppath" #Ruta de los archivos a grabar No newline at end of file
142 142 var_n=1 #Numero del DVD actual No newline at end of file
143 143 var_tmp=0 #Se usa para acumular el tamaΓ±o de los archivos de la lista No newline at end of file
144 144 var_files_list_2=[] #Se usa para almacenar la lista de archivos agrbar en cada DVD No newline at end of file
145 145 No newline at end of file
146 146 for i in var_files_list: #Se asignan en i los archivos de la lista No newline at end of file
147 147 No newline at end of file
148 148 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 No newline at end of file
149 149 var_tmp += var_size_i #Se acumulan el tamaΓ±o de los archivos de la lista No newline at end of file
150 150 No newline at end of file
151 151 #Si el tamaΓ±o acumulado es mayor que el de el DVD No newline at end of file
152 152 if var_tmp > (self.var_Dcapacity * 1024): No newline at end of file
153 153 var_tmp -= var_size_i #se quita el tamaΓ±o sumado para mostrar el tamaΓ±o real No newline at end of file
154 154 #se crea un archivo con numeral en el sufijo y extension .dat No newline at end of file
155 155 var_file = open(var_Rpath_ppath+"/"+self.var_Elabel+"_"+i2s(var_n)+".dat","w") No newline at end of file
156 156 #Se aΓ±ade la lista de archivos a grabar en el DVD al archivo .dat No newline at end of file
157 157 for line in var_files_list_2: No newline at end of file
158 158 var_tmp_path=line.split(self.var_Dpath)[1][:-13] No newline at end of file
159 159 var_file.write(var_tmp_path+'='+line+'\n') No newline at end of file
160 160 var_file.close() No newline at end of file
161 161 No newline at end of file
162 162 var_tmp = var_size_i #Se asigna a la variable el tamaΓ±o del archivo actual No newline at end of file
163 163 var_files_list_2=[] #Se reinicia la lista No newline at end of file
164 164 var_n += 1 No newline at end of file
165 165 var_files_list_2.append(i) No newline at end of file
166 166 No newline at end of file
167 167 #se crea un archivo con numeral en el sufijo y extension .dat No newline at end of file
168 168 var_file = open(var_Rpath_ppath+"/"+self.var_Elabel+"_"+i2s(var_n)+".dat","w") No newline at end of file
169 169 #Se aΓ±ade la lista de archivos a grabar en el DVD al archivo .dat No newline at end of file
170 170 for line in var_files_list_2: No newline at end of file
171 171 var_tmp_path=line.split(self.var_Dpath)[1][:-13] No newline at end of file
172 172 var_file.write(var_tmp_path+'='+line+'\n') No newline at end of file
173 173 var_file.close() No newline at end of file
174 174 No newline at end of file
175 175 self.txtInfo.append("configuration files created") No newline at end of file
176 176 return var_n No newline at end of file
177 177 No newline at end of file
178 178 No newline at end of file
179 179 #------------------------------ Genera los archivos .print con los cuales se creara los postscript ----------------------------------- No newline at end of file
180 180 No newline at end of file
181 181 def make_files_print(self): No newline at end of file
182 182 No newline at end of file
183 183 var_Rpath_ppath=self.var_Rpath+"/ppath" #Ruta de los archivos a grabar No newline at end of file
184 184 var_Rpath_gpath=self.var_Rpath+"/gpath" #Ruta de los archivos postscript No newline at end of file
185 185 var_labels=[] No newline at end of file
186 186 for m in range (0, self.txtPSgraphic.value() - 1): No newline at end of file
187 187 var_lines = "\n" * 9 No newline at end of file
188 188 var_labels.append(var_lines) No newline at end of file
189 189 No newline at end of file
190 190 # Se leen todos los archivos .dat creados para crear las etiquetas en los archivos .print No newline at end of file
191 191 for var_n in range(1, self.var_Discs + 1): No newline at end of file
192 192 No newline at end of file
193 193 #se abren los archivos .dat en modo lectura No newline at end of file
194 194 var_file = open(var_Rpath_ppath+"/"+self.var_Elabel+"_"+i2s(var_n)+".dat","r") No newline at end of file
195 195 lines=var_file.readlines() # Se lee las lineas en el archivo y se almacenan en la lista No newline at end of file
196 196 var_file.close() No newline at end of file
197 197 list_files=[] No newline at end of file
198 198 var_lines=[] No newline at end of file
199 199 No newline at end of file
200 200 for j in range(0, len(lines)): No newline at end of file
201 201 No newline at end of file
202 202 if j == 0: No newline at end of file
203 203 var_first_folder = lines[j].split('=')[0] No newline at end of file
204 204 var_first_file = (lines[j].split('=')[1])[:-1] No newline at end of file
205 205 continue No newline at end of file
206 206 No newline at end of file
207 207 var_tmp_folder = lines[j].split('=')[0] No newline at end of file
208 208 var_tmp_file = (lines[j].split('=')[1])[:-1] No newline at end of file
209 209 No newline at end of file
210 210 # Si el subfolder superior o el DOY del archivo actual y el anterior son diferentes No newline at end of file
211 211 if (var_tmp_folder != var_first_folder) or (var_tmp_file[0:-5] != var_first_file[0:-5]): No newline at end of file
212 212 var_last_file = (lines[j-1].split('=')[1])[:-1] No newline at end of file
213 213 list_files.append([var_first_folder, var_first_file, var_last_file]) No newline at end of file
214 214 No newline at end of file
215 215 var_first_folder = lines[j].split('=')[0] No newline at end of file
216 216 var_first_file = (lines[j].split('=')[1])[:-1] No newline at end of file
217 217 No newline at end of file
218 218 var_last_file = (lines[-1].split('=')[1])[:-1] No newline at end of file
219 219 list_files.append([var_first_folder, var_first_file, var_last_file]) No newline at end of file
220 220 No newline at end of file
221 221 var_lines2 = lines_print(list_files, self.var_Elabel) No newline at end of file
222 222 No newline at end of file
223 223 for k in range(0, len(var_lines2) / 5): No newline at end of file
224 224 var_lines=["\n"] No newline at end of file
225 225 var_lines.append(" "+self.var_Elabel+" "+i2s(var_n)+"/"+i2s(self.var_Discs)+"\n") No newline at end of file
226 226 var_lines.append("Year Doy Folder"+" "*9+"Set"+" "*11+"Time range\n") No newline at end of file
227 227 var_lines.extend(var_lines2[(5*k):(5*(k+1))]) No newline at end of file
228 228 var_lines.append("\n") No newline at end of file
229 229 var_labels.append(var_lines) No newline at end of file
230 230 No newline at end of file
231 231 for i in range(0, (len(var_labels) // 33) +1 ): No newline at end of file
232 232 var_file=var_Rpath_gpath+"/"+self.var_Elabel+"_"+i2s(i+1) No newline at end of file
233 233 file_ps = open(var_file+".print","w") No newline at end of file
234 234 if i == (len(var_labels) // 33): No newline at end of file
235 235 var_sub_labels = var_labels[33*i:] No newline at end of file
236 236 else: No newline at end of file
237 237 var_sub_labels = var_labels[33*i:33*(i+1)] No newline at end of file
238 238 No newline at end of file
239 239 for label in var_sub_labels: No newline at end of file
240 240 for line in label: No newline at end of file
241 241 file_ps.write(line) No newline at end of file
242 242 file_ps.close() No newline at end of file
243 243 var_cmd="enscript "+var_file+".print -p "+var_file+".ps -f Times-Roman7 " \ No newline at end of file
244 244 +" -3R -j -B --margins=21.25:20.4:25.51:20 --media=A4" No newline at end of file
245 245 var_output=commands.getstatusoutput(var_cmd)[0] No newline at end of file
246 246 No newline at end of file
247 247 No newline at end of file
248 248 def lines_print(list_files, var_Elabel): No newline at end of file
249 249 """ No newline at end of file
250 250 Devuelve las lineas del rango de archivos de cada etiqueta segun el formato No newline at end of file
251 251 """ No newline at end of file
252 252 var_lines=[] No newline at end of file
253 253 for i in list_files: No newline at end of file
254 254 No newline at end of file
255 255 # Si el archivo se grabara directamente en la / del DVD y no en un /directorio/ No newline at end of file
256 256 # se usa la etiqueta para indicar la parte de la etiqueta donde va el subdirectorio No newline at end of file
257 257 if i[0] == '/': No newline at end of file
258 258 var_folder = var_Elabel No newline at end of file
259 259 else: No newline at end of file
260 260 var_folder = i[0].split('/')[-2] No newline at end of file
261 261 No newline at end of file
262 262 var_first_file = i[1] No newline at end of file
263 263 var_last_file = i[2] No newline at end of file
264 264 No newline at end of file
265 265 var_date_first_file=commands.getstatusoutput("date -r "+var_first_file+" +'%T'")[1] No newline at end of file
266 266 var_date_last_file=commands.getstatusoutput("date -r "+var_last_file+" +'%T'")[1] No newline at end of file
267 267 No newline at end of file
268 268 var_lines.append(var_first_file[-12:-8]+" "+var_first_file[-8:-5]+" "+var_folder +" "+var_first_file[-5:-2]+"-" No newline at end of file
269 269 +var_last_file[-5:-2]+" "+var_date_first_file+"-"+var_date_last_file+"\n") No newline at end of file
270 270 #Nos aseguramos que sea un mutiplo de 5 No newline at end of file
271 271 while (len(var_lines) % 5) != 0: No newline at end of file
272 272 var_lines.append("\n") No newline at end of file
273 273 No newline at end of file
274 274 return var_lines No newline at end of file
275 275 No newline at end of file
276 276 #---------------------------------------comandos para el proceso de grabacion ------------------------------------------ No newline at end of file
277 277 def cmd_iso(self): No newline at end of file
278 278 var_Rpath_ppath=self.var_Rpath+"/ppath" No newline at end of file
279 279 var_Rpath_iso=self.var_Rpath+"/iso" No newline at end of file
280 280 #comando para la creacion del archivo.iso No newline at end of file
281 281 file_dat=var_Rpath_ppath+"/"+self.var_Elabel+"_"+i2s(self.var_disc_n)+".dat" No newline at end of file
282 282 file_iso=var_Rpath_iso+"/"+i2s(self.var_disc_n)+".iso" No newline at end of file
283 283 var_cmd = 'genisoimage -hide-joliet-trans-tbl -joliet-long -r ' No newline at end of file
284 284 var_cmd += ' -A '+self.var_Elabel+' -V '+self.var_Elabel No newline at end of file
285 285 var_cmd += ' -graft-points -path-list '+ file_dat+' -o '+file_iso No newline at end of file
286 286 return var_cmd No newline at end of file
287 287 No newline at end of file
288 288 def cmd_burn(self): No newline at end of file
289 289 var_Rpath_iso=self.var_Rpath+"/iso" No newline at end of file
290 290 file_iso=var_Rpath_iso+"/"+i2s(self.var_disc_n)+".iso" No newline at end of file
291 291 No newline at end of file
292 292 var_index = ( ( (self.var_disc_n - 1) * self.var_Copys) + (self.var_copy_n - 1) - self.var_burned_discs ) % len(self.var_devices) No newline at end of file
293 293 var_dev_tmp = self.var_devices[var_index] No newline at end of file
294 294 No newline at end of file
295 295 # var_cmd = "wodim -v dev="+var_dev_tmp+" speed=16 "+ file_iso No newline at end of file
296 296 var_cmd = "growisofs -dvd-compat -Z "+var_dev_tmp+"="+ file_iso No newline at end of file
297 297 return var_cmd No newline at end of file
298 298 No newline at end of file
299 299 No newline at end of file
300 300 def cmd_check(dev_sr, self): No newline at end of file
301 301 No newline at end of file
302 302 var_Rpath_tmpdata=self.var_Rpath+"/tmpdata" No newline at end of file
303 303 No newline at end of file
304 304 var_output=commands.getstatusoutput('df -hT | grep '+dev_sr) No newline at end of file
305 305 if var_output[0] != 0: No newline at end of file
306 306 return "FATAL ERROR" No newline at end of file
307 307 else: No newline at end of file
308 308 var_cmd = "cp -rfv "+var_output[1] .split()[-1]+"/ "+var_Rpath_tmpdata+"/" No newline at end of file
309 309 return var_cmd No newline at end of file
310 310 No newline at end of file
311 311 def cmd_manual_check(var_data_dir, var_TDpath): No newline at end of file
312 312 No newline at end of file
313 313 var_cmd = "cp -rfv "+var_data_dir+"/ "+var_TDpath+"/" No newline at end of file
314 314 return var_cmd No newline at end of file
315 315 No newline at end of file
316 316 No newline at end of file
317 317 def remove_iso(self): No newline at end of file
318 318 var_Rpath_iso=self.var_Rpath+"/iso" No newline at end of file
319 319 file_iso=var_Rpath_iso+"/"+i2s(self.var_disc_n)+".iso" No newline at end of file
320 320 # shutil.rmtree(self.var_Rpath+'/'+var_dir, True) No newline at end of file
321 321 if os.path.isfile(file_iso): No newline at end of file
322 322 os.remove(file_iso) No newline at end of file
323 323 No newline at end of file
324 324 #Si es el ultimo disco se termina el proceso No newline at end of file
325 325 def is_last_disc_and_copy(self): No newline at end of file
326 326 if self.var_disc_n == self.var_Discs and self.var_copy_n == self.var_Copys: No newline at end of file
327 327 self.function_final() No newline at end of file
328 328 else: No newline at end of file
329 329 next_disc(self) No newline at end of file
330 330 No newline at end of file
331 331 #Define cual es el siguiente disco a grabar y que paso seguir No newline at end of file
332 332 def next_disc(self, error = False): No newline at end of file
333 333 if self.var_copy_n == self.var_Copys: No newline at end of file
334 334 #borrado del iso No newline at end of file
335 335 self.txtInfo.append("Deleting iso file: "+i2s(self.var_disc_n)+".iso") No newline at end of file
336 336 remove_iso(self) No newline at end of file
337 337 No newline at end of file
338 338 self.var_disc_n += 1 No newline at end of file
339 339 self.var_copy_n = 1 No newline at end of file
340 340 self.var_step = 0 No newline at end of file
341 341 No newline at end of file
342 342 else: No newline at end of file
343 343 self.var_copy_n += 1 No newline at end of file
344 344 self.var_step = 1 No newline at end of file
345 345 No newline at end of file
346 346 functions2.make_burning_conf(self) # Si el proceso no ha sido detenido manualmente No newline at end of file
347 347 #crea el archivo burning.conf para el seguimiento de los discos grabados No newline at end of file
348 348 No newline at end of file
349 349 var_index = ( ( (self.var_disc_n - 1) * self.var_Copys) + (self.var_copy_n - 1) - self.var_burned_discs ) % len(self.var_devices) No newline at end of file
350 350 No newline at end of file
351 351 self.txtInfo.append("NEXT DISC: "+str(self.var_disc_n)+" COPY: "+str(self.var_copy_n) No newline at end of file
352 352 +" INDEX: "+str(var_index)+" STEP: "+str(self.var_step)) No newline at end of file
353 353 self.txtInfo.append("\n") No newline at end of file
354 354 No newline at end of file
355 355 if var_index == 0 : No newline at end of file
356 356 self.function_eject() No newline at end of file
357 357 No newline at end of file
358 358 elif self.var_step == 0: No newline at end of file
359 359 self.function_iso() No newline at end of file
360 360 elif self.var_step == 1: No newline at end of file
361 361 self.function_burn() No newline at end of file
@@ -1,305 +1,290
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 from subprocess import * No newline at end of file
5 5 import sys No newline at end of file
6 6 import os No newline at end of file
7 7 import subprocess No newline at end of file
8 8 import commands No newline at end of file
9 9 No newline at end of file
10 10 #----------------------------------------------------- Deteccion de los dispositivos de grabacion --------------------------------------------------------------- No newline at end of file
11 11 No newline at end of file
12 12 def detect_devices(self): No newline at end of file
13 13 """ No newline at end of file
14 14 Deteccion de los dispositvos de grabacion No newline at end of file
15 15 """ No newline at end of file
16 16 #var_cmd="wodim --devices | grep /dev/ | awk -F\' '{print $2}'" #Funciona en consola pero no en python ΒΏ? No newline at end of file
17 17 var_cmd="wodim --devices | grep /dev/ | awk '{print $2}' | awk -F= '{print $2}'" No newline at end of file
18 18 No newline at end of file
19 19 var_output = commands.getstatusoutput(var_cmd) No newline at end of file
20 20 if var_output[0] != 0: No newline at end of file
21 21 self.txtInfo.append("No recording devices") No newline at end of file
22 22 else: No newline at end of file
23 23 var_devices = var_output[1].split('\n') No newline at end of file
24 24 No newline at end of file
25 25 var_tmp=[] No newline at end of file
26 26 for i in range(0, 4): No newline at end of file
27 27 if i < len(var_devices): No newline at end of file
28 28 var_len = len(var_devices[i]) No newline at end of file
29 29 var_tmp.append(var_devices[i][1:var_len - 1]) No newline at end of file
30 30 else: No newline at end of file
31 31 var_tmp.append('') No newline at end of file
32 32 No newline at end of file
33 33 #Se escriben los dispostivos correspodientes, si existen No newline at end of file
34 34 self.txtDeviceA.setText(str(var_tmp[0])) No newline at end of file
35 35 self.txtDeviceB.setText(str(var_tmp[1])) No newline at end of file
36 36 self.txtDeviceC.setText(str(var_tmp[2])) No newline at end of file
37 37 self.txtDeviceD.setText(str(var_tmp[3])) No newline at end of file
38 38 #Se desactivan los que no existen No newline at end of file
39 39 if len(var_tmp[0]) == 0 : No newline at end of file
40 40 self.chkDevA.setChecked(False) No newline at end of file
41 41 self.chkDevA.setEnabled(False) No newline at end of file
42 42 if len(var_tmp[1]) == 0 : No newline at end of file
43 43 self.chkDevB.setChecked(False) No newline at end of file
44 44 self.chkDevB.setEnabled(False) No newline at end of file
45 45 if len(var_tmp[2]) == 0 : No newline at end of file
46 46 self.chkDevC.setChecked(False) No newline at end of file
47 47 self.chkDevC.setEnabled(False) No newline at end of file
48 48 if len(var_tmp[3]) == 0 : No newline at end of file
49 49 self.chkDevD.setChecked(False) No newline at end of file
50 50 self.chkDevD.setEnabled(False) No newline at end of file
51 51 No newline at end of file
52 52 #----------------------------------- expulsa los dispositivos de grabacion -------------------------------------------- No newline at end of file
53 53 No newline at end of file
54 54 def eject_devices(self): No newline at end of file
55 55 for var_dev in self.var_devices: No newline at end of file
56 56 var_cmd = 'eject ' + var_dev No newline at end of file
57 57 commands.getstatusoutput(var_cmd) No newline at end of file
58 58 No newline at end of file
59 59 #Expulsa el dispositivo de grabacion actual No newline at end of file
60 60 def eject_one_device(self): No newline at end of file
61 61 var_index = ( ( (self.var_disc_n - 1) * self.var_Copys) + (self.var_copy_n - 1) - self.var_burned_discs ) % len(self.var_devices) No newline at end of file
62 62 var_dev = self.var_devices[var_index] No newline at end of file
63 63 var_cmd = 'eject ' + var_dev No newline at end of file
64 64 commands.getstatusoutput(var_cmd) No newline at end of file
65 65 No newline at end of file
66 66 def eject_t_one_device(self): No newline at end of file
67 67 var_index = ( ( (self.var_disc_n - 1) * self.var_Copys) + (self.var_copy_n - 1) - self.var_burned_discs ) % len(self.var_devices) No newline at end of file
68 68 var_dev = self.var_devices[var_index] No newline at end of file
69 69 var_cmd = 'eject -t ' + var_dev No newline at end of file
70 70 commands.getstatusoutput(var_cmd) No newline at end of file
71 71 No newline at end of file
72 72 def get_dev_sr(self): No newline at end of file
73 73 var_index = ( ( (self.var_disc_n - 1) * self.var_Copys) + (self.var_copy_n - 1) - self.var_burned_discs ) % len(self.var_devices) No newline at end of file
74 74 var_dev = self.var_devices[var_index] No newline at end of file
75 75 var_output=commands.getstatusoutput('ls -lh '+var_dev) No newline at end of file
76 76 if var_output[0] != 0: No newline at end of file
77 77 return "FATAL ERROR" No newline at end of file
78 78 else: No newline at end of file
79 79 var_dev_sr = "/dev/"+var_output[1] .split()[-1] No newline at end of file
80 80 return var_dev_sr No newline at end of file
81 81 No newline at end of file
82 82 No newline at end of file
83 83 #----------------------------------- devuelve una lista con las carpetas en las cuales estan montados los dispositivos -------------------------------------------- No newline at end of file
84 84 def mounted_devices(): No newline at end of file
85 85
86 No newline at end of file
86 var_type = "tmpfs" No newline at end of file
87 87 var_output=commands.getstatusoutput('df -hT | grep '+ var_type) No newline at end of file
88 88 No newline at end of file
89 89 if var_output[0] != 0: No newline at end of file
90 90 return "FATAL ERROR" No newline at end of file
91 91 No newline at end of file
92 92 else: No newline at end of file
93 93 if len(var_output[1]) == 0: No newline at end of file
94 94 return "FATAL ERROR" No newline at end of file
95 95 No newline at end of file
96 96 list_dirs = [] No newline at end of file
97 97 for var_dir in var_output[1].split('\n'): No newline at end of file
98 98 list_dirs.append(var_dir.split()[-1]) No newline at end of file
99 99 No newline at end of file
100 100 return list_dirs No newline at end of file
101 101 No newline at end of file
102 102 No newline at end of file
103 103 #----------------------------------- listado de los dispositivos de grabacion seleccionados -------------------------------------------- No newline at end of file
104 104 No newline at end of file
105 105 def selected_devices(self): No newline at end of file
106 106 self.var_devices=[] No newline at end of file
107 107 if self.chkDevA.isChecked(): No newline at end of file
108 108 self.var_devices.append(str(self.txtDeviceA.text())) No newline at end of file
109 109 if self.chkDevB.isChecked(): No newline at end of file
110 110 self.var_devices.append(str(self.txtDeviceB.text())) No newline at end of file
111 111 if self.chkDevC.isChecked(): No newline at end of file
112 112 self.var_devices.append(str(self.txtDeviceC.text())) No newline at end of file
113 113 if self.chkDevD.isChecked(): No newline at end of file
114 114 self.var_devices.append(str(self.txtDeviceD.text())) No newline at end of file
115 115 No newline at end of file
116 116 if len(self.var_devices) == 0: No newline at end of file
117 117 return False No newline at end of file
118 118 else: No newline at end of file
119 119 return True No newline at end of file
120 120 No newline at end of file
121 121 No newline at end of file
122 122 #----------------------------------------------------- Inicializacion para pruebas--------------------------------------------------------------- No newline at end of file
123 123 No newline at end of file
124 124 def set_parameters_test(self): No newline at end of file
125 125 """ No newline at end of file
126 126 Se usa para inicializar ciertos parametros para pruebas No newline at end of file
127 127 """ No newline at end of file
128 128 self.txtDpath.setText('/home/ricardoar/optional/STORAGE/EW_DRIFTS') No newline at end of file
129 129 self.txtRpath.setText('/home/ricardoar/optional/prueba1_jro_backup_manager') No newline at end of file
130 130 self.txtElabel.setText('EW_DRIFTS_pruebas') No newline at end of file
131 131 self.lstDcapacity.setCurrentIndex(4) No newline at end of file
132 132 self.txtDcapacity.setValue(100.0) No newline at end of file
133 133 self.txtDcapacity.setReadOnly(False) No newline at end of file
134 134 No newline at end of file
135 135 def set_devices_test(self): No newline at end of file
136 136 self.txtDeviceA.setText("/dev/scd0") No newline at end of file
137 137 self.txtDeviceB.setText("/dev/scd1") No newline at end of file
138 138 self.txtDeviceC.setText("/dev/scd2") No newline at end of file
139 139 self.txtDeviceD.setText("/dev/scd3") No newline at end of file
140 140 No newline at end of file
141 141 No newline at end of file
142 142 No newline at end of file
143 143 #----------------------------------------------------- crea parameters.conf --------------------------------------------------------------- No newline at end of file
144 144 No newline at end of file
145 145 def make_parameters_conf(self): No newline at end of file
146 146 var_file = open("parameters.conf","w") No newline at end of file
147 147 var_file.write(self.var_Dpath+"\n") #0 Ruta de los datos No newline at end of file
148 148 var_file.write(self.var_Rpath+"\n") #1 Ruta del proyecto No newline at end of file
149 149 var_file.write(str(self.var_lstDtype)+"\n") #2 opcion Data Type No newline at end of file
150 150 var_file.write(self.var_Dtype+"\n") #3 extension Data Type No newline at end of file
151 151 var_file.write(self.var_Elabel+"\n") #4 etiqueta No newline at end of file
152 152 var_file.write(str(self.var_Copys)+"\n") #5 Numero de copias No newline at end of file
153 153 var_file.write(str(self.var_lstDcapacity)+"\n") #6 opcion Device Capacity No newline at end of file
154 154 var_file.write(str(self.var_Dcapacity)+"\n") #7 tamaΓ±o Device Capacity No newline at end of file
155 155 var_file.write(str(self.var_Discs)+"\n") #8 Numero de discos a grabar No newline at end of file
156 156 # var_file.write(str(self.lstStartDay.currentIndex())+"\n") #9 Indice fecha inicial No newline at end of file
157 157 # var_file.write(str(self.lstStopDay.currentIndex())+"\n") #10 Indice fecha final No newline at end of file
158 158 var_file.close() No newline at end of file
159 159 No newline at end of file
160 160 #----------------------------------------------------- carga parameters.conf --------------------------------------------------------------- No newline at end of file
161 161 No newline at end of file
162 162 def get_parameters_conf(self): No newline at end of file
163 163 var_file = open("parameters.conf","r") No newline at end of file
164 164 lines = var_file.readlines() No newline at end of file
165 165 self.txtDpath.setText(lines[0][:-1]) #0 No newline at end of file
166 166 self.txtRpath.setText(lines[1][:-1]) #1 No newline at end of file
167 167 self.lstDtype.setCurrentIndex(int(lines[2])) #2 No newline at end of file
168 168 self.txtDtype.setText(lines[3][:-1]) #3 No newline at end of file
169 169 self.txtElabel.setText(lines[4][:-1]) #4 No newline at end of file
170 170 self.txtCopys.setValue(int(lines[5][:-1])) #5 No newline at end of file
171 171 self.lstDcapacity.setCurrentIndex(int(lines[6])) #6 No newline at end of file
172 172 self.txtDcapacity.setValue(float(lines[7])) #7 No newline at end of file
173 173 self.var_Discs = int(lines[8]) #8 No newline at end of file
174 174 # var_StartDay = int(lines[6]) #9 No newline at end of file
175 175 # var_StopDay = int(lines[7]) #10 No newline at end of file
176 176 ################################ No newline at end of file
177 177 self.var_Copys = self.txtCopys.value() #5 No newline at end of file
178 178 ################################ No newline at end of file
179 179 No newline at end of file
180 180 var_file.close() No newline at end of file
181 181 No newline at end of file
182 182 No newline at end of file
183 183 #-------------------------- actualiza el valor de las variables con los parametros seleccionados ----------------------------- No newline at end of file
184 184 No newline at end of file
185 185 def set_vars(self): No newline at end of file
186 186 self.var_Dpath = str(self.txtDpath.text()) #0 No newline at end of file
187 187 self.var_Rpath = str(self.txtRpath.text()) #1 No newline at end of file
188 188 self.var_lstDtype = self.lstDtype.currentIndex() #2 No newline at end of file
189 189 self.var_Dtype = str(self.txtDtype.text()) #3 No newline at end of file
190 190 self.var_Elabel = str(self.txtElabel.text()) #4 No newline at end of file
191 191 self.var_Copys = self.txtCopys.value() #5 No newline at end of file
192 192 self.var_lstDcapacity = self.lstDcapacity.currentIndex() #6 No newline at end of file
193 193 self.var_Dcapacity = self.txtDcapacity.value() #7 No newline at end of file
194 194 self.var_Discs = self.var_Discs #8 No newline at end of file
195 195 No newline at end of file
196 196 No newline at end of file
197 197 #-------------------------- crea burning.conf ----------------------------- No newline at end of file
198 198 No newline at end of file
199 199 def make_burning_conf(self): No newline at end of file
200 200 var_file = open("burning.conf","w") No newline at end of file
201 201 var_n_burned_discs = ( ( (self.var_disc_n - 1) * self.var_Copys) + self.var_copy_n - 1 ) No newline at end of file
202 202 var_file.write(str(var_n_burned_discs)+"\n") #0 Numero de discos ya grabados No newline at end of file
203 203 var_file.write(str(self.var_disc_n)+"\n") #1 Disco actual para grabar No newline at end of file
204 204 var_file.write(str(self.var_copy_n)+"\n") #2 Numero de copia actual para grabar No newline at end of file
205 205 var_file.close() No newline at end of file
206 206 No newline at end of file
207 207 #----------------------------------------------------- carga burning.conf --------------------------------------------------------------- No newline at end of file
208 208 No newline at end of file
209 209 def get_burning_conf(self): No newline at end of file
210 210 var_file = open("burning.conf","r") No newline at end of file
211 211 lines = var_file.readlines() No newline at end of file
212 212 self.var_burned_discs = int(lines[0]) #0 No newline at end of file
213 213 self.var_disc_n = int(lines[1]) No newline at end of file
214 214 self.var_copy_n = int(lines[2]) No newline at end of file
215 215 var_file.close() No newline at end of file
216 216 No newline at end of file
217 217 #---------------------------------------------- Habilitacion y deshabilitacion de items ------------------------------------------------------- No newline at end of file
218 218 No newline at end of file
219 219 def enabled_items1(var_bool, self): No newline at end of file
220 220 self.tabParameters.setEnabled(not(var_bool)) No newline at end of file
221 221 self.lstDcapacity.setEnabled(not(var_bool)) No newline at end of file
222 222 self.txtDcapacity.setEnabled(not(var_bool)) No newline at end of file
223 223 self.actionChange_Parameters.setEnabled(var_bool) No newline at end of file
224 224 self.btnGbkp.setEnabled(not(var_bool)) No newline at end of file
225 225 self.btnRestart.setEnabled(var_bool) No newline at end of file
226 226 self.btnStartburn.setEnabled(var_bool) No newline at end of file
227 227 No newline at end of file
228 228 No newline at end of file
229 229 def enabled_items2(var_bool, self): No newline at end of file
230 230 self.btnRestart.setEnabled(not(var_bool)) No newline at end of file
231 231 self.btnStartburn.setEnabled(not(var_bool)) No newline at end of file
232 232 self.btnStopburn.setEnabled(var_bool) No newline at end of file
233 233 self.chkCheck.setEnabled(not(var_bool)) No newline at end of file
234 234 self.chkCheck.setChecked(False) No newline at end of file
235 235 No newline at end of file
236 236 self.actionChange_Parameters.setEnabled(False) No newline at end of file
237 237 No newline at end of file
238 238
No newline at end of file
239 def enabled_items3(var_bool, self):
No newline at end of file
240 self.btnRestart.setEnabled(not(var_bool))
No newline at end of file
241 self.btnStartburn.setEnabled(not(var_bool))
No newline at end of file
242 self.btnStopburn.setEnabled(var_bool)
No newline at end of file
243 self.chkCheck.setEnabled(not(var_bool))
No newline at end of file
244 self.chkCheck.setChecked(False)
No newline at end of file
245
No newline at end of file
246
No newline at end of file
247 self.actionChange_Parameters.setEnabled(False)
No newline at end of file
248
No newline at end of file
249 self.actionChange_Parameters.setEnabled(False)
No newline at end of file
250
No newline at end of file
251 self.actionChange_Parameters.setEnabled(False)
No newline at end of file
252
No newline at end of file
253 No newline at end of file
254 239 #---------------------------------------------- Actualiza estado en los labels ------------------------------------------------------- No newline at end of file
255 240 No newline at end of file
256 241 def update_message(type, message, self, index=-1): No newline at end of file
257 242 if index == -1: No newline at end of file
258 243 var_index = ( ( (self.var_disc_n - 1) * self.var_Copys) + (self.var_copy_n - 1) - self.var_burned_discs ) % len(self.var_devices) No newline at end of file
259 244 else: No newline at end of file
260 245 var_index = index No newline at end of file
261 246 No newline at end of file
262 247 var_message = message No newline at end of file
263 248 # var_message = "BURNING" No newline at end of file
264 249 # var_message = "COMPLETED" No newline at end of file
265 250 # var_message = "ERROR" No newline at end of file
266 251 # var_message = "CHECKING" No newline at end of file
267 252 # var_message = "CHECKED" No newline at end of file
268 253 No newline at end of file
269 254 if type == 1: No newline at end of file
270 255 No newline at end of file
271 256 if var_index == 0: No newline at end of file
272 257 self.txtBstatusA.setText(var_message) No newline at end of file
273 258 self.txtBdiscA.setText(str(self.var_disc_n)) No newline at end of file
274 259 self.txtBcopyA.setText(str(self.var_copy_n)) No newline at end of file
275 260 No newline at end of file
276 261 if var_index == 1: No newline at end of file
277 262 self.txtBstatusB.setText(var_message) No newline at end of file
278 263 self.txtBdiscB.setText(str(self.var_disc_n)) No newline at end of file
279 264 self.txtBcopyB.setText(str(self.var_copy_n)) No newline at end of file
280 265 No newline at end of file
281 266 if var_index == 2: No newline at end of file
282 267 self.txtBstatusC.setText(var_message) No newline at end of file
283 268 self.txtBdiscC.setText(str(self.var_disc_n)) No newline at end of file
284 269 self.txtBcopyC.setText(str(self.var_copy_n)) No newline at end of file
285 270 No newline at end of file
286 271 if var_index == 3: No newline at end of file
287 272 self.txtBstatusD.setText(var_message) No newline at end of file
288 273 self.txtBdiscD.setText(str(self.var_disc_n)) No newline at end of file
289 274 self.txtBcopyD.setText(str(self.var_copy_n)) No newline at end of file
290 275 No newline at end of file
291 276 if type == 2: No newline at end of file
292 277 No newline at end of file
293 278 if var_index == 0: No newline at end of file
294 279 self.txtCHstatusA.setText(var_message) No newline at end of file
295 280 No newline at end of file
296 281 if var_index == 1: No newline at end of file
297 282 self.txtCHstatusB.setText(var_message) No newline at end of file
298 283 No newline at end of file
299 284 if var_index == 2: No newline at end of file
300 285 self.txtCHstatusC.setText(var_message) No newline at end of file
301 286 No newline at end of file
302 287 if var_index == 3: No newline at end of file
303 288 self.txtCHstatusD.setText(var_message) No newline at end of file
304 289 No newline at end of file
305 290 No newline at end of file
@@ -1,758 +1,772
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
56 No newline at end of file
56 self.var_real_manual_check = False 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
518 No newline at end of file
518 var_tmpdata=self.var_Rpath+"/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_burning = False No newline at end of file
524 524 return No newline at end of file
525 525
526 No newline at end of file
526 bool_return = functions.make_dir(var_tmpdata, self)
No newline at end of file
527 No newline at end of file
527 if not(bool_return):
No newline at end of file
528 No newline at end of file
528 self.txtInfo.append("Error creating directory:"+ var_tmpdata)
No newline at end of file
529 No newline at end of file
529 self.bool_state_burning = False
No newline at end of file
530 No newline at end of file
530 return
No newline at end of file
531
No newline at end of file
532 if self.var_n_check_dirs >= len(self.list_check_dirs) : No newline at end of file
533 531 self.bool_state_manual_check = False
532 No newline at end of file
534 return
No newline at end of file
533 No newline at end of file
535
No newline at end of file
534 No newline at end of file
536 self.var_n_check_dirs +=1
No newline at end of file
535 No newline at end of file
537 self.manual_check() No newline at end of file
No newline at end of file
536 self.function_manual_check() No newline at end of file
538 537 No newline at end of file
539 538 No newline at end of file
540 539 #============================================================================== No newline at end of file
541 540 # Botones para el proceso de grabacion No newline at end of file
542 541 #============================================================================== No newline at end of file
543 542 No newline at end of file
544 543 #----------------------------------------------------- Iniciar proceso de grabacion --------------------------------------------------------------- No newline at end of file
545 544 No newline at end of file
546 545 @pyqtSignature("") No newline at end of file
547 546 def on_btnStartburn_clicked(self): No newline at end of file
548 547 """ No newline at end of file
549 548 Se inicia el proceso de grabacion No newline at end of file
550 549 """ No newline at end of file
551 550 #Verifica que exista algun dispositivo de grabacion seleccionado No newline at end of file
552 551 if not(functions2.selected_devices(self)): No newline at end of file
553 552 self.txtInfo.append("There is no recording device selected") No newline at end of file
554 553 return No newline at end of file
555 554 No newline at end of file
556 555 # #Lista los dispositivos de grabacion a usar No newline at end of file
557 556 # for dev in self.var_devices: No newline at end of file
558 557 # self.txtInfo.append("recording device :"+dev) No newline at end of file
559 558 No newline at end of file
560 559 self.bool_state_burning = True No newline at end of file
561 560 functions2.enabled_items2(True, self) No newline at end of file
562 561 No newline at end of file
563 562 if self.bool_first_iso == True: No newline at end of file
564 563 self.txtInfo.append("BUTTON: on_btnStartburn_clicked") No newline at end of file
565 564 self.var_step = 4 No newline at end of file
566 565 self.function_eject() No newline at end of file
567 566 return No newline at end of file
568 567 No newline at end of file
569 568 if self.var_step == 0: No newline at end of file
570 569 self.function_iso() No newline at end of file
571 570 return No newline at end of file
572 571 No newline at end of file
573 572 if self.var_step == 1: No newline at end of file
574 573 self.function_burn() No newline at end of file
575 574 return No newline at end of file
576 575 No newline at end of file
577 576 #----------------------------------------------------- Funcion para el grabado --------------------------------------------------------------- No newline at end of file
578 577 No newline at end of file
579 578 def function_iso(self): No newline at end of file
580 579 #Creacion del archivo.iso para la grabacion No newline at end of file
581 580 if self.var_step == 0: No newline at end of file
582 581 self.txtInfo.append("########## Disc number: "+str(self.var_disc_n)+"##########") No newline at end of file
583 582 self.txtInfo.append("------Creating iso file number: "+str(self.var_disc_n)) No newline at end of file
584 583 No newline at end of file
585 584 var_cmd = functions.cmd_iso(self) No newline at end of file
586 585 No newline at end of file
587 586 if self.var_real_show_cmd == True: No newline at end of file
588 587 self.txtInfo.append("CMD: "+var_cmd) No newline at end of file
589 588 No newline at end of file
590 589 if self.var_real_iso == False: No newline at end of file
591 590 self.txtInfo.append('**function_iso') No newline at end of file
592 591 var_cmd="echo 'function_iso'" No newline at end of file
593 592 No newline at end of file
594 593 self.process_iso.start(var_cmd) No newline at end of file
595 594 No newline at end of file
596 595 def function_burn(self): No newline at end of file
597 596 #Grabacion de los DVDs No newline at end of file
598 597 No newline at end of file
599 598 if self.var_step == 1: No newline at end of file
600 599 self.txtInfo.append("------Recording disc: "+str(self.var_disc_n)+", copy:"+str(self.var_copy_n)) No newline at end of file
601 600 functions2.update_message(1, "BURNING", self) No newline at end of file
602 601 No newline at end of file
603 602 var_cmd = functions.cmd_burn(self) No newline at end of file
604 603 No newline at end of file
605 604 if self.var_real_show_cmd == True: No newline at end of file
606 605 self.txtInfo.append("CMD: "+var_cmd) No newline at end of file
607 606 No newline at end of file
608 607 if self.var_real_burn == False: No newline at end of file
609 608 self.txtInfo.append('**function_burn') No newline at end of file
610 609 var_cmd="echo 'function_burn'" No newline at end of file
611 610 No newline at end of file
612 611 self.process_burn.start(var_cmd) No newline at end of file
613 612 No newline at end of file
614 613 def function_check(self): No newline at end of file
615 614 #Verificacion de los discos No newline at end of file
616 615 if self.var_step == 2: No newline at end of file
617 616 self.txtInfo.append("-----------checking disc:"+str(self.var_disc_n)+", copy:"+str(self.var_copy_n)) No newline at end of file
618 617 No newline at end of file
619 618 functions2.eject_one_device(self) No newline at end of file
620 619 functions2.eject_t_one_device(self) No newline at end of file
621 620 self.txtInfo.append("Waiting ...") No newline at end of file
622 621 time .sleep(20) No newline at end of file
623 622 No newline at end of file
624 623 functions2.update_message(2, "CHECKING", self) No newline at end of file
625 624 No newline at end of file
626 625 dev_sr = functions2.get_dev_sr(self) No newline at end of file
627 626 var_cmd = functions.cmd_check(dev_sr, self) No newline at end of file
628 627 No newline at end of file
629 628 if self.var_real_show_cmd == True: No newline at end of file
630 629 self.txtInfo.append("CMD: "+var_cmd) No newline at end of file
631 630 No newline at end of file
632 631 if self.var_real_check == False: No newline at end of file
633 632 self.txtInfo.append('**function_check') No newline at end of file
634 633 var_cmd="echo 'function_check'" No newline at end of file
635 634 No newline at end of file
636 635 self.process_check.start(var_cmd) No newline at end of file
637 636 No newline at end of file
638 637 #OK No newline at end of file
639 638 def function_eject(self): No newline at end of file
640 639 self.txtInfo.append("Ejecting recording devices") No newline at end of file
641 640 self.txtInfo.append("Please insert blank discs") No newline at end of file
642 641 No newline at end of file
643 642 if self.var_real_eject == True: No newline at end of file
644 643 functions2.eject_devices(self) # Expulsa las bandejas de los dispostivos de grabacion No newline at end of file
645 644 else: No newline at end of file
646 645 self.txtInfo.append("**functions2.eject_devices") No newline at end of file
647 646 No newline at end of file
648 647 self.btnStartburn.setText("Continue") No newline at end of file
649 648 self.btnStartburn.setEnabled(True) No newline at end of file
650 649 No newline at end of file
651 650 if self.bool_first_iso == True: No newline at end of file
652 651 self.bool_first_iso = False No newline at end of file
653 652 self.var_step = 0 No newline at end of file
654 653 No newline at end of file
655 654 elif self.var_copy_n == 1: No newline at end of file
656 655 self.var_step = 0 No newline at end of file
657 656 No newline at end of file
658 657 else: No newline at end of file
659 658 self.var_step = 1 No newline at end of file
660 659 No newline at end of file
661 660 def function_final(self): No newline at end of file
662 661 self.txtInfo.append("Recording process is complete") No newline at end of file
663 662 if os.path.isfile("parameters.conf"): No newline at end of file
664 663 os.remove("parameters.conf") No newline at end of file
665 664 if os.path.isfile("burning.conf"): No newline at end of file
666 665 os.remove("burning.conf") No newline at end of file
667 666 No newline at end of file
668 667 No newline at end of file
669 668 No newline at end of file
670 669 #----------------------------------------------------- Detener proceso de grabacion --------------------------------------------------------------- No newline at end of file
671 670 No newline at end of file
672 671 @pyqtSignature("") No newline at end of file
673 672 def on_btnStopburn_clicked(self): No newline at end of file
674 673 """ No newline at end of file
675 674 Slot documentation goes here. No newline at end of file
676 675 """ No newline at end of file
677 676 self.bool_state_burning = False No newline at end of file
678 677 No newline at end of file
679 678 if self.var_step == 0: No newline at end of file
680 679 self.process_iso.terminate() #Termina el proceso, si puede No newline at end of file
681 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
682 681 elif self.var_step == 1: No newline at end of file
683 682 self.process_burn.terminate() No newline at end of file
684 683 elif self.var_step == 2: No newline at end of file
685 684 self.process_check.terminate() No newline at end of file
686 685 No newline at end of file
687 686 self.txtInfo.append("Stopped recording") No newline at end of file
688 687 functions2.enabled_items2(False, self) No newline at end of file
689 688 self.bool_first_iso = True No newline at end of file
690 689 No newline at end of file
691 690 No newline at end of file
692 691 No newline at end of file
693 692 #============================================================================== No newline at end of file
694 693 # Proceso verificacion manual No newline at end of file
695 694 #============================================================================== No newline at end of file
696 695 No newline at end of file
697 696 No newline at end of file
698 697 #----------------------------------------------------- Proceso de verificaion manual --------------------------------------------------------------- No newline at end of file
699 698 No newline at end of file
700 699 No newline at end of file
701 700 @pyqtSignature("") No newline at end of file
702 701 def on_btnTDpath_clicked(self): No newline at end of file
703 702 """ No newline at end of file
704 703 Slot documentation goes here. No newline at end of file
705 704 """ No newline at end of file
706 705 self.var_TDpath= str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly)) No newline at end of file
707 706 self.txtTDpath.setText(self.var_TDpath) No newline at end of file
708 707 self.statusTDpath = functions.dir_exists(self.var_TDpath, self) No newline at end of file
709 708 if self.statusTDpath: No newline at end of file
710 709 self.btnCHstart.setEnabled(True) No newline at end of file
711 710 No newline at end of file
712 711 No newline at end of file
713 712 @pyqtSignature("") No newline at end of file
714 713 def on_btnCHstart_clicked(self): No newline at end of file
715 714 """ No newline at end of file
716 715 Slot documentation goes here. No newline at end of file
717 716 """ No newline at end of file
718 717 list_dirs = functions2.mounted_devices() No newline at end of file
719 718 if list_dirs == "FATAL ERROR": No newline at end of file
720 719 self.txtInfo.append("ERROR") No newline at end of file
721 720 return No newline at end of file
722 721 No newline at end of file
723 722 for i in list_dirs: No newline at end of file
724 723 self.txtInfo.append(i) No newline at end of file
725 724 No newline at end of file
726 725 self.list_check_dirs = list_dirs #contiene los directorios donde estan montados los discos a verificar No newline at end of file
727 726 self.var_n_check_dirs = 0 No newline at end of file
728 727 self.bool_state_manual_check = True No newline at end of file
729 728 No newline at end of file
730 729 self.btnTDpath.setEnabled(False) #Deshabilito el boton que permite cambiar la ruta de verificacion No newline at end of file
731 730 self.btnCHstart.setText("STOP") #Cambio el texto del boton No newline at end of file
731 self.txtInfo.append(self.btnCHstart.text()) No newline at end of file
732 732 No newline at end of file
733 733 self.function_manual_check() No newline at end of file
734 734 No newline at end of file
735 735 No newline at end of file
736 736 def function_manual_check(self): No newline at end of file
737 737 No newline at end of file
738 738 #Verificacion de los discos No newline at end of file
739 739 if self.bool_state_manual_check == True: No newline at end of file
740 740
741 No newline at end of file
741 self.txtInfo.append("-----------manually checking disc: "+self.var_n_check_dirs
No newline at end of file
742 No newline at end of file
742 +" data"+self.list_check_dirs[self.var_n_check_dirs]) No newline at end of file
743 743 No newline at end of file
744 744 functions2.update_message(2, "CHECKING", self, index=self.var_n_check_dirs) No newline at end of file
745 745 No newline at end of file
746 #Crea la carpeta tmpdata dentro de la ruta elegida
No newline at end of file
747 var_tmpdata=self.var_TDpath+"/tmpdata"
No newline at end of file
748 bool_return = functions.make_dir(var_tmpdata, self)
No newline at end of file
749 if not(bool_return):
No newline at end of file
750 self.txtInfo.append("Error creating directory:"+ var_tmpdata)
No newline at end of file
751 self.bool_state_burning = False
No newline at end of file
752 return
No newline at end of file
753 No newline at end of file
746 754 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
747 755
756 No newline at end of file
748 var_cmd = functions.cmd_manual_check(var_data_dir, self.var_TDpath) No newline at end of file
749 757 No newline at end of file
750 758 if self.var_real_show_cmd == True: No newline at end of file
751 759 self.txtInfo.append("CMD: "+var_cmd) No newline at end of file
752 760 No newline at end of file
753 761 if self.var_real_manual_check == False: No newline at end of file
754 762 self.txtInfo.append('**function_manual_check') No newline at end of file
755 763 var_cmd="echo 'function_manual_check'" No newline at end of file
756 764 No newline at end of file
757 765 self.process_manual_check.start(var_cmd) No newline at end of file
758 766 No newline at end of file
767
No newline at end of file
768 def function_manual_check_final(self):
No newline at end of file
769 self.txtInfo.append("Manual check process is complete")
No newline at end of file
770 self.btnCHstart.setText("START") #Cambio el texto del boton
No newline at end of file
771
No newline at end of file
772 No newline at end of file
General Comments 0
You need to be logged in to leave comments. Login now