##// END OF EJS Templates
#Falta terminar el proceso de revision manual
ralonso -
r84:85
parent child
Show More
@@ -1,356 +1,361
1 # -*- coding: utf-8 -*-
1 # -*- coding: utf-8 -*-
2
2
3 #class BKmanager:
3 #class BKmanager:
4 # def __init__(self):
4 # def __init__(self):
5
5
6 from subprocess import *
6 from subprocess import *
7 import sys
7 import sys
8 import os
8 import os
9 import subprocess
9 import subprocess
10 import commands
10 import commands
11 import shutil
11 import shutil
12 import functions2
12 import functions2
13
13
14 #--------------------------------------------- Entero a cadena agregando ceros delante -------------------------------------------------
14 #--------------------------------------------- Entero a cadena agregando ceros delante -------------------------------------------------
15
15
16 def i2s(var_n, var_length=4):
16 def i2s(var_n, var_length=4):
17 var_n2=str(var_n)
17 var_n2=str(var_n)
18 while len(var_n2) < var_length:
18 while len(var_n2) < var_length:
19 var_n2 = "0"+var_n2
19 var_n2 = "0"+var_n2
20 return var_n2
20 return var_n2
21
21
22
22
23 #----------------------------------------- Se verifica que la ruta exista y sea un directorio -------------------------------------------------
23 #----------------------------------------- Se verifica que la ruta exista y sea un directorio -------------------------------------------------
24
24
25 def dir_exists(var_dir, self):
25 def dir_exists(var_dir, self):
26 if os.path.isdir(var_dir):
26 if os.path.isdir(var_dir):
27 return True
27 return True
28 else:
28 else:
29 self.txtInfo.append("Incorrect path:" + str(var_dir))
29 self.txtInfo.append("Incorrect path:" + str(var_dir))
30 return False
30 return False
31
31
32
32
33 #-------------------------------- Se buscan los archivos del tipo especificado y se cargan las fechas -----------------------------
33 #-------------------------------- Se buscan los archivos del tipo especificado y se cargan las fechas -----------------------------
34
34
35 def load_days(self):
35 def load_days(self):
36
36
37 self.var_list=[]
37 self.var_list=[]
38 self.lstStartDay.clear()
38 self.lstStartDay.clear()
39 self.lstStopDay.clear()
39 self.lstStopDay.clear()
40
40
41 if self.statusDpath == False:
41 if self.statusDpath == False:
42 self.btnGbkp.setEnabled(False)
42 self.btnGbkp.setEnabled(False)
43 return
43 return
44
44
45 if self.var_Dtype == '':
45 if self.var_Dtype == '':
46 return
46 return
47
47
48 var_cmd="find " + str(self.var_Dpath) + " -name *."+ str(self.var_Dtype) +" | awk -F/ '{print substr($NF,2,7)}' | sort| uniq"
48 var_cmd="find " + str(self.var_Dpath) + " -name *."+ str(self.var_Dtype) +" | awk -F/ '{print substr($NF,2,7)}' | sort| uniq"
49 output=commands.getstatusoutput(var_cmd)[1]
49 output=commands.getstatusoutput(var_cmd)[1]
50
50
51 #Si no se encuentra ningun archivo
51 #Si no se encuentra ningun archivo
52 if len(output) == 0:
52 if len(output) == 0:
53 self.txtInfo.append("File not found")
53 self.txtInfo.append("File not found")
54 self.btnGbkp.setEnabled(False)
54 self.btnGbkp.setEnabled(False)
55 return
55 return
56
56
57 #Se cargan las listas para seleccionar StartDay y StopDay (QComboBox)
57 #Se cargan las listas para seleccionar StartDay y StopDay (QComboBox)
58 for i in range(0, (len(output)+1)/8):
58 for i in range(0, (len(output)+1)/8):
59 self.var_list.append(output[8*i:8*(i+1)-1])
59 self.var_list.append(output[8*i:8*(i+1)-1])
60
60
61 for i in self.var_list:
61 for i in self.var_list:
62 self.lstStartDay.addItem(i)
62 self.lstStartDay.addItem(i)
63 self.lstStopDay.addItem(i)
63 self.lstStopDay.addItem(i)
64 self.lstStopDay.setCurrentIndex(self.lstStartDay.count()-1)
64 self.lstStopDay.setCurrentIndex(self.lstStartDay.count()-1)
65
65
66 get_sub_list(self)
66 get_sub_list(self)
67 self.btnGbkp.setEnabled(True)
67 self.btnGbkp.setEnabled(True)
68
68
69
69
70 #-------------------------------------------------- Obtiene el rango de las fechas seleccionadas -----------------------------------------
70 #-------------------------------------------------- Obtiene el rango de las fechas seleccionadas -----------------------------------------
71
71
72 def get_sub_list(self):
72 def get_sub_list(self):
73 self.var_sublist=[]
73 self.var_sublist=[]
74 for i in self.var_list[self.lstStartDay.currentIndex():self.lstStartDay.currentIndex() + self.lstStopDay.currentIndex()+1]:
74 for i in self.var_list[self.lstStartDay.currentIndex():self.lstStartDay.currentIndex() + self.lstStopDay.currentIndex()+1]:
75 self.var_sublist.append(i)
75 self.var_sublist.append(i)
76
76
77
77
78 #----------------------------------------------------- Verifica los parametros faltantes -----------------------------------------------------------
78 #----------------------------------------------------- Verifica los parametros faltantes -----------------------------------------------------------
79
79
80 def validate_parameters(self):
80 def validate_parameters(self):
81 #Verifica que las ruta del proyecto sea valida
81 #Verifica que las ruta del proyecto sea valida
82 if self.statusRpath == False:
82 if self.statusRpath == False:
83 self.txtInfo.append("Incorrect proyect path")
83 self.txtInfo.append("Incorrect proyect path")
84 return False
84 return False
85
85
86 #Verifica la etiqueta
86 #Verifica la etiqueta
87 if len(self.var_Elabel) == 0:
87 if len(self.var_Elabel) == 0:
88 self.txtInfo.append("Enter label")
88 self.txtInfo.append("Enter label")
89 return False
89 return False
90
90
91 return True
91 return True
92
92
93
93
94 #------------------------------------------------- Crea directorios en la ruta indicada -----------------------------------------------------------
94 #------------------------------------------------- Crea directorios en la ruta indicada -----------------------------------------------------------
95
95
96 def make_dirs(list_dirs, self):
96 def make_dirs(list_dirs, self):
97
97
98 for var_dir in list_dirs:
98 for var_dir in list_dirs:
99 shutil.rmtree(self.var_Rpath+'/'+var_dir, True)
99 shutil.rmtree(self.var_Rpath+'/'+var_dir, True)
100 var_output=commands.getstatusoutput("mkdir -p "+self.var_Rpath+'/'+var_dir)
100 var_output=commands.getstatusoutput("mkdir -p "+self.var_Rpath+'/'+var_dir)
101 if var_output[0] != 0:
101 if var_output[0] != 0:
102 self.txtInfo.append("Error creating directory: "+var_dir+", output_error:" + str(var_output[0]))
102 self.txtInfo.append("Error creating directory: "+var_dir+", output_error:" + str(var_output[0]))
103 return False
103 return False
104 self.txtInfo.append('Directories created correctly')
104 self.txtInfo.append('Directories created correctly')
105 return True
105 return True
106
106
107 def remove_dir(var_dir, self):
107 def remove_dir(var_dir, self):
108 var_output = commands.getstatusoutput('chmod -R 777 '+var_dir)
108 var_output = commands.getstatusoutput('chmod -R 777 '+var_dir)
109 if var_output[0] != 0:
109 if var_output[0] != 0:
110 self.txtInfo.append("Error changing permissions: "+var_dir+", output_error:" + str(var_output[0]))
110 self.txtInfo.append("Error changing permissions: "+var_dir+", output_error:" + str(var_output[0]))
111 return False
111 return False
112
112
113 var_output = commands.getstatusoutput('rm -rf '+var_dir)
113 var_output = commands.getstatusoutput('rm -rf '+var_dir)
114 if var_output[0] != 0:
114 if var_output[0] != 0:
115 self.txtInfo.append("Error deleting directory: "+var_dir+", output_error:" + str(var_output[0]))
115 self.txtInfo.append("Error deleting directory: "+var_dir+", output_error:" + str(var_output[0]))
116 return False
116 return False
117 return True
117 return True
118
118
119 def make_dir(var_dir, self):
119 def make_dir(var_dir, self):
120 var_output = commands.getstatusoutput('mkdir '+var_dir)
120 var_output = commands.getstatusoutput('mkdir '+var_dir)
121 if var_output[0] != 0:
121 if var_output[0] != 0:
122 self.txtInfo.append("Error deleting directory: "+var_dir+", output_error:" + str(var_output[0]))
122 self.txtInfo.append("Error deleting directory: "+var_dir+", output_error:" + str(var_output[0]))
123 return False
123 return False
124 return True
124 return True
125
125
126 #-------------------------------------------- Busca los archivos con los parametros de busqueda ---------------------------------------
126 #-------------------------------------------- Busca los archivos con los parametros de busqueda ---------------------------------------
127
127
128 def list_files(self):
128 def list_files(self):
129 var_files_list=[]
129 var_files_list=[]
130 for var_doy in self.var_sublist:
130 for var_doy in self.var_sublist:
131 var_cmd="find " + str(self.var_Dpath) + " -name ?"+var_doy+"???."+ str(self.var_Dtype) + " |sort"
131 var_cmd="find " + str(self.var_Dpath) + " -name ?"+var_doy+"???."+ str(self.var_Dtype) + " |sort"
132 var_output=commands.getstatusoutput(var_cmd)[1]
132 var_output=commands.getstatusoutput(var_cmd)[1]
133 for var_file in var_output.split():
133 for var_file in var_output.split():
134 var_files_list.append(var_file) #Almacena cada archivo en la lista
134 var_files_list.append(var_file) #Almacena cada archivo en la lista
135 return var_files_list
135 return var_files_list
136
136
137
137
138 #--------------- Genera la lista de archivos .dat que contienen los archivos a grabar en cada DVD -----------------------
138 #--------------- Genera la lista de archivos .dat que contienen los archivos a grabar en cada DVD -----------------------
139
139
140 def make_files_dat(var_files_list, self):
140 def make_files_dat(var_files_list, self):
141 var_Rpath_ppath=self.var_Rpath+"/ppath" #Ruta de los archivos a grabar
141 var_Rpath_ppath=self.var_Rpath+"/ppath" #Ruta de los archivos a grabar
142 var_n=1 #Numero del DVD actual
142 var_n=1 #Numero del DVD actual
143 var_tmp=0 #Se usa para acumular el tamaño de los archivos de la lista
143 var_tmp=0 #Se usa para acumular el tamaño de los archivos de la lista
144 var_files_list_2=[] #Se usa para almacenar la lista de archivos agrbar en cada DVD
144 var_files_list_2=[] #Se usa para almacenar la lista de archivos agrbar en cada DVD
145
145
146 for i in var_files_list: #Se asignan en i los archivos de la lista
146 for i in var_files_list: #Se asignan en i los archivos de la lista
147
147
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
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
149 var_tmp += var_size_i #Se acumulan el tamaño de los archivos de la lista
149 var_tmp += var_size_i #Se acumulan el tamaño de los archivos de la lista
150
150
151 #Si el tamaño acumulado es mayor que el de el DVD
151 #Si el tamaño acumulado es mayor que el de el DVD
152 if var_tmp > (self.var_Dcapacity * 1024):
152 if var_tmp > (self.var_Dcapacity * 1024):
153 var_tmp -= var_size_i #se quita el tamaño sumado para mostrar el tamaño real
153 var_tmp -= var_size_i #se quita el tamaño sumado para mostrar el tamaño real
154 #se crea un archivo con numeral en el sufijo y extension .dat
154 #se crea un archivo con numeral en el sufijo y extension .dat
155 var_file = open(var_Rpath_ppath+"/"+self.var_Elabel+"_"+i2s(var_n)+".dat","w")
155 var_file = open(var_Rpath_ppath+"/"+self.var_Elabel+"_"+i2s(var_n)+".dat","w")
156 #Se añade la lista de archivos a grabar en el DVD al archivo .dat
156 #Se añade la lista de archivos a grabar en el DVD al archivo .dat
157 for line in var_files_list_2:
157 for line in var_files_list_2:
158 var_tmp_path=line.split(self.var_Dpath)[1][:-13]
158 var_tmp_path=line.split(self.var_Dpath)[1][:-13]
159 var_file.write(var_tmp_path+'='+line+'\n')
159 var_file.write(var_tmp_path+'='+line+'\n')
160 var_file.close()
160 var_file.close()
161
161
162 var_tmp = var_size_i #Se asigna a la variable el tamaño del archivo actual
162 var_tmp = var_size_i #Se asigna a la variable el tamaño del archivo actual
163 var_files_list_2=[] #Se reinicia la lista
163 var_files_list_2=[] #Se reinicia la lista
164 var_n += 1
164 var_n += 1
165 var_files_list_2.append(i)
165 var_files_list_2.append(i)
166
166
167 #se crea un archivo con numeral en el sufijo y extension .dat
167 #se crea un archivo con numeral en el sufijo y extension .dat
168 var_file = open(var_Rpath_ppath+"/"+self.var_Elabel+"_"+i2s(var_n)+".dat","w")
168 var_file = open(var_Rpath_ppath+"/"+self.var_Elabel+"_"+i2s(var_n)+".dat","w")
169 #Se añade la lista de archivos a grabar en el DVD al archivo .dat
169 #Se añade la lista de archivos a grabar en el DVD al archivo .dat
170 for line in var_files_list_2:
170 for line in var_files_list_2:
171 var_tmp_path=line.split(self.var_Dpath)[1][:-13]
171 var_tmp_path=line.split(self.var_Dpath)[1][:-13]
172 var_file.write(var_tmp_path+'='+line+'\n')
172 var_file.write(var_tmp_path+'='+line+'\n')
173 var_file.close()
173 var_file.close()
174
174
175 self.txtInfo.append("configuration files created")
175 self.txtInfo.append("configuration files created")
176 return var_n
176 return var_n
177
177
178
178
179 #------------------------------ Genera los archivos .print con los cuales se creara los postscript -----------------------------------
179 #------------------------------ Genera los archivos .print con los cuales se creara los postscript -----------------------------------
180
180
181 def make_files_print(self):
181 def make_files_print(self):
182
182
183 var_Rpath_ppath=self.var_Rpath+"/ppath" #Ruta de los archivos a grabar
183 var_Rpath_ppath=self.var_Rpath+"/ppath" #Ruta de los archivos a grabar
184 var_Rpath_gpath=self.var_Rpath+"/gpath" #Ruta de los archivos postscript
184 var_Rpath_gpath=self.var_Rpath+"/gpath" #Ruta de los archivos postscript
185 var_labels=[]
185 var_labels=[]
186 for m in range (0, self.txtPSgraphic.value() - 1):
186 for m in range (0, self.txtPSgraphic.value() - 1):
187 var_lines = "\n" * 9
187 var_lines = "\n" * 9
188 var_labels.append(var_lines)
188 var_labels.append(var_lines)
189
189
190 # Se leen todos los archivos .dat creados para crear las etiquetas en los archivos .print
190 # Se leen todos los archivos .dat creados para crear las etiquetas en los archivos .print
191 for var_n in range(1, self.var_Discs + 1):
191 for var_n in range(1, self.var_Discs + 1):
192
192
193 #se abren los archivos .dat en modo lectura
193 #se abren los archivos .dat en modo lectura
194 var_file = open(var_Rpath_ppath+"/"+self.var_Elabel+"_"+i2s(var_n)+".dat","r")
194 var_file = open(var_Rpath_ppath+"/"+self.var_Elabel+"_"+i2s(var_n)+".dat","r")
195 lines=var_file.readlines() # Se lee las lineas en el archivo y se almacenan en la lista
195 lines=var_file.readlines() # Se lee las lineas en el archivo y se almacenan en la lista
196 var_file.close()
196 var_file.close()
197 list_files=[]
197 list_files=[]
198 var_lines=[]
198 var_lines=[]
199
199
200 for j in range(0, len(lines)):
200 for j in range(0, len(lines)):
201
201
202 if j == 0:
202 if j == 0:
203 var_first_folder = lines[j].split('=')[0]
203 var_first_folder = lines[j].split('=')[0]
204 var_first_file = (lines[j].split('=')[1])[:-1]
204 var_first_file = (lines[j].split('=')[1])[:-1]
205 continue
205 continue
206
206
207 var_tmp_folder = lines[j].split('=')[0]
207 var_tmp_folder = lines[j].split('=')[0]
208 var_tmp_file = (lines[j].split('=')[1])[:-1]
208 var_tmp_file = (lines[j].split('=')[1])[:-1]
209
209
210 # Si el subfolder superior o el DOY del archivo actual y el anterior son diferentes
210 # Si el subfolder superior o el DOY del archivo actual y el anterior son diferentes
211 if (var_tmp_folder != var_first_folder) or (var_tmp_file[0:-5] != var_first_file[0:-5]):
211 if (var_tmp_folder != var_first_folder) or (var_tmp_file[0:-5] != var_first_file[0:-5]):
212 var_last_file = (lines[j-1].split('=')[1])[:-1]
212 var_last_file = (lines[j-1].split('=')[1])[:-1]
213 list_files.append([var_first_folder, var_first_file, var_last_file])
213 list_files.append([var_first_folder, var_first_file, var_last_file])
214
214
215 var_first_folder = lines[j].split('=')[0]
215 var_first_folder = lines[j].split('=')[0]
216 var_first_file = (lines[j].split('=')[1])[:-1]
216 var_first_file = (lines[j].split('=')[1])[:-1]
217
217
218 var_last_file = (lines[-1].split('=')[1])[:-1]
218 var_last_file = (lines[-1].split('=')[1])[:-1]
219 list_files.append([var_first_folder, var_first_file, var_last_file])
219 list_files.append([var_first_folder, var_first_file, var_last_file])
220
220
221 var_lines2 = lines_print(list_files, self.var_Elabel)
221 var_lines2 = lines_print(list_files, self.var_Elabel)
222
222
223 for k in range(0, len(var_lines2) / 5):
223 for k in range(0, len(var_lines2) / 5):
224 var_lines=["\n"]
224 var_lines=["\n"]
225 var_lines.append(" "+self.var_Elabel+" "+i2s(var_n)+"/"+i2s(self.var_Discs)+"\n")
225 var_lines.append(" "+self.var_Elabel+" "+i2s(var_n)+"/"+i2s(self.var_Discs)+"\n")
226 var_lines.append("Year Doy Folder"+" "*9+"Set"+" "*11+"Time range\n")
226 var_lines.append("Year Doy Folder"+" "*9+"Set"+" "*11+"Time range\n")
227 var_lines.extend(var_lines2[(5*k):(5*(k+1))])
227 var_lines.extend(var_lines2[(5*k):(5*(k+1))])
228 var_lines.append("\n")
228 var_lines.append("\n")
229 var_labels.append(var_lines)
229 var_labels.append(var_lines)
230
230
231 for i in range(0, (len(var_labels) // 33) +1 ):
231 for i in range(0, (len(var_labels) // 33) +1 ):
232 var_file=var_Rpath_gpath+"/"+self.var_Elabel+"_"+i2s(i+1)
232 var_file=var_Rpath_gpath+"/"+self.var_Elabel+"_"+i2s(i+1)
233 file_ps = open(var_file+".print","w")
233 file_ps = open(var_file+".print","w")
234 if i == (len(var_labels) // 33):
234 if i == (len(var_labels) // 33):
235 var_sub_labels = var_labels[33*i:]
235 var_sub_labels = var_labels[33*i:]
236 else:
236 else:
237 var_sub_labels = var_labels[33*i:33*(i+1)]
237 var_sub_labels = var_labels[33*i:33*(i+1)]
238
238
239 for label in var_sub_labels:
239 for label in var_sub_labels:
240 for line in label:
240 for line in label:
241 file_ps.write(line)
241 file_ps.write(line)
242 file_ps.close()
242 file_ps.close()
243 var_cmd="enscript "+var_file+".print -p "+var_file+".ps -f Times-Roman7 " \
243 var_cmd="enscript "+var_file+".print -p "+var_file+".ps -f Times-Roman7 " \
244 +" -3R -j -B --margins=21.25:20.4:25.51:20 --media=A4"
244 +" -3R -j -B --margins=21.25:20.4:25.51:20 --media=A4"
245 var_output=commands.getstatusoutput(var_cmd)[0]
245 var_output=commands.getstatusoutput(var_cmd)[0]
246
246
247
247
248 def lines_print(list_files, var_Elabel):
248 def lines_print(list_files, var_Elabel):
249 """
249 """
250 Devuelve las lineas del rango de archivos de cada etiqueta segun el formato
250 Devuelve las lineas del rango de archivos de cada etiqueta segun el formato
251 """
251 """
252 var_lines=[]
252 var_lines=[]
253 for i in list_files:
253 for i in list_files:
254
254
255 # Si el archivo se grabara directamente en la / del DVD y no en un /directorio/
255 # Si el archivo se grabara directamente en la / del DVD y no en un /directorio/
256 # se usa la etiqueta para indicar la parte de la etiqueta donde va el subdirectorio
256 # se usa la etiqueta para indicar la parte de la etiqueta donde va el subdirectorio
257 if i[0] == '/':
257 if i[0] == '/':
258 var_folder = var_Elabel
258 var_folder = var_Elabel
259 else:
259 else:
260 var_folder = i[0].split('/')[-2]
260 var_folder = i[0].split('/')[-2]
261
261
262 var_first_file = i[1]
262 var_first_file = i[1]
263 var_last_file = i[2]
263 var_last_file = i[2]
264
264
265 var_date_first_file=commands.getstatusoutput("date -r "+var_first_file+" +'%T'")[1]
265 var_date_first_file=commands.getstatusoutput("date -r "+var_first_file+" +'%T'")[1]
266 var_date_last_file=commands.getstatusoutput("date -r "+var_last_file+" +'%T'")[1]
266 var_date_last_file=commands.getstatusoutput("date -r "+var_last_file+" +'%T'")[1]
267
267
268 var_lines.append(var_first_file[-12:-8]+" "+var_first_file[-8:-5]+" "+var_folder +" "+var_first_file[-5:-2]+"-"
268 var_lines.append(var_first_file[-12:-8]+" "+var_first_file[-8:-5]+" "+var_folder +" "+var_first_file[-5:-2]+"-"
269 +var_last_file[-5:-2]+" "+var_date_first_file+"-"+var_date_last_file+"\n")
269 +var_last_file[-5:-2]+" "+var_date_first_file+"-"+var_date_last_file+"\n")
270 #Nos aseguramos que sea un mutiplo de 5
270 #Nos aseguramos que sea un mutiplo de 5
271 while (len(var_lines) % 5) != 0:
271 while (len(var_lines) % 5) != 0:
272 var_lines.append("\n")
272 var_lines.append("\n")
273
273
274 return var_lines
274 return var_lines
275
275
276 #---------------------------------------comandos para el proceso de grabacion ------------------------------------------
276 #---------------------------------------comandos para el proceso de grabacion ------------------------------------------
277 def cmd_iso(self):
277 def cmd_iso(self):
278 var_Rpath_ppath=self.var_Rpath+"/ppath"
278 var_Rpath_ppath=self.var_Rpath+"/ppath"
279 var_Rpath_iso=self.var_Rpath+"/iso"
279 var_Rpath_iso=self.var_Rpath+"/iso"
280 #comando para la creacion del archivo.iso
280 #comando para la creacion del archivo.iso
281 file_dat=var_Rpath_ppath+"/"+self.var_Elabel+"_"+i2s(self.var_disc_n)+".dat"
281 file_dat=var_Rpath_ppath+"/"+self.var_Elabel+"_"+i2s(self.var_disc_n)+".dat"
282 file_iso=var_Rpath_iso+"/"+i2s(self.var_disc_n)+".iso"
282 file_iso=var_Rpath_iso+"/"+i2s(self.var_disc_n)+".iso"
283 var_cmd = 'genisoimage -hide-joliet-trans-tbl -joliet-long -r '
283 var_cmd = 'genisoimage -hide-joliet-trans-tbl -joliet-long -r '
284 var_cmd += ' -A '+self.var_Elabel+' -V '+self.var_Elabel
284 var_cmd += ' -A '+self.var_Elabel+' -V '+self.var_Elabel
285 var_cmd += ' -graft-points -path-list '+ file_dat+' -o '+file_iso
285 var_cmd += ' -graft-points -path-list '+ file_dat+' -o '+file_iso
286 return var_cmd
286 return var_cmd
287
287
288 def cmd_burn(self):
288 def cmd_burn(self):
289 var_Rpath_iso=self.var_Rpath+"/iso"
289 var_Rpath_iso=self.var_Rpath+"/iso"
290 file_iso=var_Rpath_iso+"/"+i2s(self.var_disc_n)+".iso"
290 file_iso=var_Rpath_iso+"/"+i2s(self.var_disc_n)+".iso"
291
291
292 var_index = ( ( (self.var_disc_n - 1) * self.var_Copys) + (self.var_copy_n - 1) - self.var_burned_discs ) % len(self.var_devices)
292 var_index = ( ( (self.var_disc_n - 1) * self.var_Copys) + (self.var_copy_n - 1) - self.var_burned_discs ) % len(self.var_devices)
293 var_dev_tmp = self.var_devices[var_index]
293 var_dev_tmp = self.var_devices[var_index]
294
294
295 # var_cmd = "wodim -v dev="+var_dev_tmp+" speed=16 "+ file_iso
295 # var_cmd = "wodim -v dev="+var_dev_tmp+" speed=16 "+ file_iso
296 var_cmd = "growisofs -dvd-compat -Z "+var_dev_tmp+"="+ file_iso
296 var_cmd = "growisofs -dvd-compat -Z "+var_dev_tmp+"="+ file_iso
297 return var_cmd
297 return var_cmd
298
298
299
299
300 def cmd_check(dev_sr, self):
300 def cmd_check(dev_sr, self):
301
301
302 var_Rpath_tmpdata=self.var_Rpath+"/tmpdata"
302 var_Rpath_tmpdata=self.var_Rpath+"/tmpdata"
303
303
304 var_output=commands.getstatusoutput('df -hT | grep '+dev_sr)
304 var_output=commands.getstatusoutput('df -hT | grep '+dev_sr)
305 if var_output[0] != 0:
305 if var_output[0] != 0:
306 return "FATAL ERROR"
306 return "FATAL ERROR"
307 else:
307 else:
308 var_cmd = "cp -rfv "+var_output[1] .split()[-1]+"/ "+var_Rpath_tmpdata+"/"
308 var_cmd = "cp -rfv "+var_output[1] .split()[-1]+"/ "+var_Rpath_tmpdata+"/"
309 return var_cmd
309 return var_cmd
310
310
311 def cmd_manual_check(var_data_dir, var_TDpath):
312
313 var_cmd = "cp -rfv "+var_data_dir+"/ "+var_TDpath+"/"
314 return var_cmd
315
311
316
312 def remove_iso(self):
317 def remove_iso(self):
313 var_Rpath_iso=self.var_Rpath+"/iso"
318 var_Rpath_iso=self.var_Rpath+"/iso"
314 file_iso=var_Rpath_iso+"/"+i2s(self.var_disc_n)+".iso"
319 file_iso=var_Rpath_iso+"/"+i2s(self.var_disc_n)+".iso"
315 # shutil.rmtree(self.var_Rpath+'/'+var_dir, True)
320 # shutil.rmtree(self.var_Rpath+'/'+var_dir, True)
316 if os.path.isfile(file_iso):
321 if os.path.isfile(file_iso):
317 os.remove(file_iso)
322 os.remove(file_iso)
318
323
319 #Si es el ultimo disco se termina el proceso
324 #Si es el ultimo disco se termina el proceso
320 def is_last_disc_and_copy(self):
325 def is_last_disc_and_copy(self):
321 if self.var_disc_n == self.var_Discs and self.var_copy_n == self.var_Copys:
326 if self.var_disc_n == self.var_Discs and self.var_copy_n == self.var_Copys:
322 self.function_final()
327 self.function_final()
323 else:
328 else:
324 next_disc(self)
329 next_disc(self)
325
330
326 #Define cual es el siguiente disco a grabar y que paso seguir
331 #Define cual es el siguiente disco a grabar y que paso seguir
327 def next_disc(self, error = False):
332 def next_disc(self, error = False):
328 if self.var_copy_n == self.var_Copys:
333 if self.var_copy_n == self.var_Copys:
329 #borrado del iso
334 #borrado del iso
330 self.txtInfo.append("Deleting iso file: "+i2s(self.var_disc_n)+".iso")
335 self.txtInfo.append("Deleting iso file: "+i2s(self.var_disc_n)+".iso")
331 remove_iso(self)
336 remove_iso(self)
332
337
333 self.var_disc_n += 1
338 self.var_disc_n += 1
334 self.var_copy_n = 1
339 self.var_copy_n = 1
335 self.var_step = 0
340 self.var_step = 0
336
341
337 else:
342 else:
338 self.var_copy_n += 1
343 self.var_copy_n += 1
339 self.var_step = 1
344 self.var_step = 1
340
345
341 functions2.make_burning_conf(self) # Si el proceso no ha sido detenido manualmente
346 functions2.make_burning_conf(self) # Si el proceso no ha sido detenido manualmente
342 #crea el archivo burning.conf para el seguimiento de los discos grabados
347 #crea el archivo burning.conf para el seguimiento de los discos grabados
343
348
344 var_index = ( ( (self.var_disc_n - 1) * self.var_Copys) + (self.var_copy_n - 1) - self.var_burned_discs ) % len(self.var_devices)
349 var_index = ( ( (self.var_disc_n - 1) * self.var_Copys) + (self.var_copy_n - 1) - self.var_burned_discs ) % len(self.var_devices)
345
350
346 self.txtInfo.append("NEXT DISC: "+str(self.var_disc_n)+" COPY: "+str(self.var_copy_n)
351 self.txtInfo.append("NEXT DISC: "+str(self.var_disc_n)+" COPY: "+str(self.var_copy_n)
347 +" INDEX: "+str(var_index)+" STEP: "+str(self.var_step))
352 +" INDEX: "+str(var_index)+" STEP: "+str(self.var_step))
348 self.txtInfo.append("\n")
353 self.txtInfo.append("\n")
349
354
350 if var_index == 0 :
355 if var_index == 0 :
351 self.function_eject()
356 self.function_eject()
352
357
353 elif self.var_step == 0:
358 elif self.var_step == 0:
354 self.function_iso()
359 self.function_iso()
355 elif self.var_step == 1:
360 elif self.var_step == 1:
356 self.function_burn()
361 self.function_burn()
@@ -1,274 +1,291
1 # -*- coding: utf-8 -*-
1 # -*- coding: utf-8 -*-
2
2
3
3
4 from subprocess import *
4 from subprocess import *
5 import sys
5 import sys
6 import os
6 import os
7 import subprocess
7 import subprocess
8 import commands
8 import commands
9
9
10 #----------------------------------------------------- Deteccion de los dispositivos de grabacion ---------------------------------------------------------------
10 #----------------------------------------------------- Deteccion de los dispositivos de grabacion ---------------------------------------------------------------
11
11
12 def detect_devices(self):
12 def detect_devices(self):
13 """
13 """
14 Deteccion de los dispositvos de grabacion
14 Deteccion de los dispositvos de grabacion
15 """
15 """
16 #var_cmd="wodim --devices | grep /dev/ | awk -F\' '{print $2}'" #Funciona en consola pero no en python ¿?
16 #var_cmd="wodim --devices | grep /dev/ | awk -F\' '{print $2}'" #Funciona en consola pero no en python ¿?
17 var_cmd="wodim --devices | grep /dev/ | awk '{print $2}' | awk -F= '{print $2}'"
17 var_cmd="wodim --devices | grep /dev/ | awk '{print $2}' | awk -F= '{print $2}'"
18
18
19 var_output = commands.getstatusoutput(var_cmd)
19 var_output = commands.getstatusoutput(var_cmd)
20 if var_output[0] != 0:
20 if var_output[0] != 0:
21 self.txtInfo.append("No recording devices")
21 self.txtInfo.append("No recording devices")
22 else:
22 else:
23 var_devices = var_output[1].split('\n')
23 var_devices = var_output[1].split('\n')
24
24
25 var_tmp=[]
25 var_tmp=[]
26 for i in range(0, 4):
26 for i in range(0, 4):
27 if i < len(var_devices):
27 if i < len(var_devices):
28 var_len = len(var_devices[i])
28 var_len = len(var_devices[i])
29 var_tmp.append(var_devices[i][1:var_len - 1])
29 var_tmp.append(var_devices[i][1:var_len - 1])
30 else:
30 else:
31 var_tmp.append('')
31 var_tmp.append('')
32
32
33 #Se escriben los dispostivos correspodientes, si existen
33 #Se escriben los dispostivos correspodientes, si existen
34 self.txtDeviceA.setText(str(var_tmp[0]))
34 self.txtDeviceA.setText(str(var_tmp[0]))
35 self.txtDeviceB.setText(str(var_tmp[1]))
35 self.txtDeviceB.setText(str(var_tmp[1]))
36 self.txtDeviceC.setText(str(var_tmp[2]))
36 self.txtDeviceC.setText(str(var_tmp[2]))
37 self.txtDeviceD.setText(str(var_tmp[3]))
37 self.txtDeviceD.setText(str(var_tmp[3]))
38 #Se desactivan los que no existen
38 #Se desactivan los que no existen
39 if len(var_tmp[0]) == 0 :
39 if len(var_tmp[0]) == 0 :
40 self.chkDevA.setChecked(False)
40 self.chkDevA.setChecked(False)
41 self.chkDevA.setEnabled(False)
41 self.chkDevA.setEnabled(False)
42 if len(var_tmp[1]) == 0 :
42 if len(var_tmp[1]) == 0 :
43 self.chkDevB.setChecked(False)
43 self.chkDevB.setChecked(False)
44 self.chkDevB.setEnabled(False)
44 self.chkDevB.setEnabled(False)
45 if len(var_tmp[2]) == 0 :
45 if len(var_tmp[2]) == 0 :
46 self.chkDevC.setChecked(False)
46 self.chkDevC.setChecked(False)
47 self.chkDevC.setEnabled(False)
47 self.chkDevC.setEnabled(False)
48 if len(var_tmp[3]) == 0 :
48 if len(var_tmp[3]) == 0 :
49 self.chkDevD.setChecked(False)
49 self.chkDevD.setChecked(False)
50 self.chkDevD.setEnabled(False)
50 self.chkDevD.setEnabled(False)
51
51
52 #----------------------------------- expulsa los dispositivos de grabacion --------------------------------------------
52 #----------------------------------- expulsa los dispositivos de grabacion --------------------------------------------
53
53
54 def eject_devices(self):
54 def eject_devices(self):
55 for var_dev in self.var_devices:
55 for var_dev in self.var_devices:
56 var_cmd = 'eject ' + var_dev
56 var_cmd = 'eject ' + var_dev
57 commands.getstatusoutput(var_cmd)
57 commands.getstatusoutput(var_cmd)
58
58
59 #Expulsa el dispositivo de grabacion actual
59 #Expulsa el dispositivo de grabacion actual
60 def eject_one_device(self):
60 def eject_one_device(self):
61 var_index = ( ( (self.var_disc_n - 1) * self.var_Copys) + (self.var_copy_n - 1) - self.var_burned_discs ) % len(self.var_devices)
61 var_index = ( ( (self.var_disc_n - 1) * self.var_Copys) + (self.var_copy_n - 1) - self.var_burned_discs ) % len(self.var_devices)
62 var_dev = self.var_devices[var_index]
62 var_dev = self.var_devices[var_index]
63 var_cmd = 'eject ' + var_dev
63 var_cmd = 'eject ' + var_dev
64 commands.getstatusoutput(var_cmd)
64 commands.getstatusoutput(var_cmd)
65
65
66 def eject_t_one_device(self):
66 def eject_t_one_device(self):
67 var_index = ( ( (self.var_disc_n - 1) * self.var_Copys) + (self.var_copy_n - 1) - self.var_burned_discs ) % len(self.var_devices)
67 var_index = ( ( (self.var_disc_n - 1) * self.var_Copys) + (self.var_copy_n - 1) - self.var_burned_discs ) % len(self.var_devices)
68 var_dev = self.var_devices[var_index]
68 var_dev = self.var_devices[var_index]
69 var_cmd = 'eject -t ' + var_dev
69 var_cmd = 'eject -t ' + var_dev
70 commands.getstatusoutput(var_cmd)
70 commands.getstatusoutput(var_cmd)
71
71
72 def get_dev_sr(self):
72 def get_dev_sr(self):
73 var_index = ( ( (self.var_disc_n - 1) * self.var_Copys) + (self.var_copy_n - 1) - self.var_burned_discs ) % len(self.var_devices)
73 var_index = ( ( (self.var_disc_n - 1) * self.var_Copys) + (self.var_copy_n - 1) - self.var_burned_discs ) % len(self.var_devices)
74 var_dev = self.var_devices[var_index]
74 var_dev = self.var_devices[var_index]
75 var_output=commands.getstatusoutput('ls -lh '+var_dev)
75 var_output=commands.getstatusoutput('ls -lh '+var_dev)
76 if var_output[0] != 0:
76 if var_output[0] != 0:
77 return "FATAL ERROR"
77 return "FATAL ERROR"
78 else:
78 else:
79 var_dev_sr = "/dev/"+var_output[1] .split()[-1]
79 var_dev_sr = "/dev/"+var_output[1] .split()[-1]
80 return var_dev_sr
80 return var_dev_sr
81
81
82
82
83 #----------------------------------- expulsa los dispositivos de grabacion --------------------------------------------
84 def mounted_devices():
85 var_output=commands.getstatusoutput('df -hT | grep tmpfs')
86
87 if var_output[0] != 0:
88 return "FATAL ERROR"
89
90 else:
91 if len(var_output[1]) == 0:
92 return "FATAL ERROR"
93
94 list_dirs = []
95 for var_dir in var_output[1].split('\n'):
96 list_dirs.append(var_dir.split()[-1])
97
98 return list_dirs
99
83
100
84 #----------------------------------- listado de los dispositivos de grabacion seleccionados --------------------------------------------
101 #----------------------------------- listado de los dispositivos de grabacion seleccionados --------------------------------------------
85
102
86 def selected_devices(self):
103 def selected_devices(self):
87 self.var_devices=[]
104 self.var_devices=[]
88 if self.chkDevA.isChecked():
105 if self.chkDevA.isChecked():
89 self.var_devices.append(str(self.txtDeviceA.text()))
106 self.var_devices.append(str(self.txtDeviceA.text()))
90 if self.chkDevB.isChecked():
107 if self.chkDevB.isChecked():
91 self.var_devices.append(str(self.txtDeviceB.text()))
108 self.var_devices.append(str(self.txtDeviceB.text()))
92 if self.chkDevC.isChecked():
109 if self.chkDevC.isChecked():
93 self.var_devices.append(str(self.txtDeviceC.text()))
110 self.var_devices.append(str(self.txtDeviceC.text()))
94 if self.chkDevD.isChecked():
111 if self.chkDevD.isChecked():
95 self.var_devices.append(str(self.txtDeviceD.text()))
112 self.var_devices.append(str(self.txtDeviceD.text()))
96
113
97 if len(self.var_devices) == 0:
114 if len(self.var_devices) == 0:
98 return False
115 return False
99 else:
116 else:
100 return True
117 return True
101
118
102
119
103 #----------------------------------------------------- Inicializacion para pruebas---------------------------------------------------------------
120 #----------------------------------------------------- Inicializacion para pruebas---------------------------------------------------------------
104
121
105 def set_parameters_test(self):
122 def set_parameters_test(self):
106 """
123 """
107 Se usa para inicializar ciertos parametros para pruebas
124 Se usa para inicializar ciertos parametros para pruebas
108 """
125 """
109 self.txtDpath.setText('/home/ricardoar/optional/STORAGE/EW_DRIFTS')
126 self.txtDpath.setText('/home/ricardoar/optional/STORAGE/EW_DRIFTS')
110 self.txtRpath.setText('/home/ricardoar/optional/prueba1_jro_backup_manager')
127 self.txtRpath.setText('/home/ricardoar/optional/prueba1_jro_backup_manager')
111 self.txtElabel.setText('EW_DRIFTS_pruebas')
128 self.txtElabel.setText('EW_DRIFTS_pruebas')
112 self.lstDcapacity.setCurrentIndex(4)
129 self.lstDcapacity.setCurrentIndex(4)
113 self.txtDcapacity.setValue(100.0)
130 self.txtDcapacity.setValue(100.0)
114 self.txtDcapacity.setReadOnly(False)
131 self.txtDcapacity.setReadOnly(False)
115
132
116 def set_devices_test(self):
133 def set_devices_test(self):
117 self.txtDeviceA.setText("/dev/scd0")
134 self.txtDeviceA.setText("/dev/scd0")
118 self.txtDeviceB.setText("/dev/scd1")
135 self.txtDeviceB.setText("/dev/scd1")
119 self.txtDeviceC.setText("/dev/scd2")
136 self.txtDeviceC.setText("/dev/scd2")
120 self.txtDeviceD.setText("/dev/scd3")
137 self.txtDeviceD.setText("/dev/scd3")
121
138
122
139
123
140
124 #----------------------------------------------------- crea parameters.conf ---------------------------------------------------------------
141 #----------------------------------------------------- crea parameters.conf ---------------------------------------------------------------
125
142
126 def make_parameters_conf(self):
143 def make_parameters_conf(self):
127 var_file = open("parameters.conf","w")
144 var_file = open("parameters.conf","w")
128 var_file.write(self.var_Dpath+"\n") #0 Ruta de los datos
145 var_file.write(self.var_Dpath+"\n") #0 Ruta de los datos
129 var_file.write(self.var_Rpath+"\n") #1 Ruta del proyecto
146 var_file.write(self.var_Rpath+"\n") #1 Ruta del proyecto
130 var_file.write(str(self.var_lstDtype)+"\n") #2 opcion Data Type
147 var_file.write(str(self.var_lstDtype)+"\n") #2 opcion Data Type
131 var_file.write(self.var_Dtype+"\n") #3 extension Data Type
148 var_file.write(self.var_Dtype+"\n") #3 extension Data Type
132 var_file.write(self.var_Elabel+"\n") #4 etiqueta
149 var_file.write(self.var_Elabel+"\n") #4 etiqueta
133 var_file.write(str(self.var_Copys)+"\n") #5 Numero de copias
150 var_file.write(str(self.var_Copys)+"\n") #5 Numero de copias
134 var_file.write(str(self.var_lstDcapacity)+"\n") #6 opcion Device Capacity
151 var_file.write(str(self.var_lstDcapacity)+"\n") #6 opcion Device Capacity
135 var_file.write(str(self.var_Dcapacity)+"\n") #7 tamaño Device Capacity
152 var_file.write(str(self.var_Dcapacity)+"\n") #7 tamaño Device Capacity
136 var_file.write(str(self.var_Discs)+"\n") #8 Numero de discos a grabar
153 var_file.write(str(self.var_Discs)+"\n") #8 Numero de discos a grabar
137 # var_file.write(str(self.lstStartDay.currentIndex())+"\n") #9 Indice fecha inicial
154 # var_file.write(str(self.lstStartDay.currentIndex())+"\n") #9 Indice fecha inicial
138 # var_file.write(str(self.lstStopDay.currentIndex())+"\n") #10 Indice fecha final
155 # var_file.write(str(self.lstStopDay.currentIndex())+"\n") #10 Indice fecha final
139 var_file.close()
156 var_file.close()
140
157
141 #----------------------------------------------------- carga parameters.conf ---------------------------------------------------------------
158 #----------------------------------------------------- carga parameters.conf ---------------------------------------------------------------
142
159
143 def get_parameters_conf(self):
160 def get_parameters_conf(self):
144 var_file = open("parameters.conf","r")
161 var_file = open("parameters.conf","r")
145 lines = var_file.readlines()
162 lines = var_file.readlines()
146 self.txtDpath.setText(lines[0][:-1]) #0
163 self.txtDpath.setText(lines[0][:-1]) #0
147 self.txtRpath.setText(lines[1][:-1]) #1
164 self.txtRpath.setText(lines[1][:-1]) #1
148 self.lstDtype.setCurrentIndex(int(lines[2])) #2
165 self.lstDtype.setCurrentIndex(int(lines[2])) #2
149 self.txtDtype.setText(lines[3][:-1]) #3
166 self.txtDtype.setText(lines[3][:-1]) #3
150 self.txtElabel.setText(lines[4][:-1]) #4
167 self.txtElabel.setText(lines[4][:-1]) #4
151 self.txtCopys.setValue(int(lines[5][:-1])) #5
168 self.txtCopys.setValue(int(lines[5][:-1])) #5
152 self.lstDcapacity.setCurrentIndex(int(lines[6])) #6
169 self.lstDcapacity.setCurrentIndex(int(lines[6])) #6
153 self.txtDcapacity.setValue(float(lines[7])) #7
170 self.txtDcapacity.setValue(float(lines[7])) #7
154 self.var_Discs = int(lines[8]) #8
171 self.var_Discs = int(lines[8]) #8
155 # var_StartDay = int(lines[6]) #9
172 # var_StartDay = int(lines[6]) #9
156 # var_StopDay = int(lines[7]) #10
173 # var_StopDay = int(lines[7]) #10
157 ################################
174 ################################
158 self.var_Copys = self.txtCopys.value() #5
175 self.var_Copys = self.txtCopys.value() #5
159 ################################
176 ################################
160
177
161 var_file.close()
178 var_file.close()
162
179
163
180
164 #-------------------------- actualiza el valor de las variables con los parametros seleccionados -----------------------------
181 #-------------------------- actualiza el valor de las variables con los parametros seleccionados -----------------------------
165
182
166 def set_vars(self):
183 def set_vars(self):
167 self.var_Dpath = str(self.txtDpath.text()) #0
184 self.var_Dpath = str(self.txtDpath.text()) #0
168 self.var_Rpath = str(self.txtRpath.text()) #1
185 self.var_Rpath = str(self.txtRpath.text()) #1
169 self.var_lstDtype = self.lstDtype.currentIndex() #2
186 self.var_lstDtype = self.lstDtype.currentIndex() #2
170 self.var_Dtype = str(self.txtDtype.text()) #3
187 self.var_Dtype = str(self.txtDtype.text()) #3
171 self.var_Elabel = str(self.txtElabel.text()) #4
188 self.var_Elabel = str(self.txtElabel.text()) #4
172 self.var_Copys = self.txtCopys.value() #5
189 self.var_Copys = self.txtCopys.value() #5
173 self.var_lstDcapacity = self.lstDcapacity.currentIndex() #6
190 self.var_lstDcapacity = self.lstDcapacity.currentIndex() #6
174 self.var_Dcapacity = self.txtDcapacity.value() #7
191 self.var_Dcapacity = self.txtDcapacity.value() #7
175 self.var_Discs = self.var_Discs #8
192 self.var_Discs = self.var_Discs #8
176
193
177
194
178 #-------------------------- crea burning.conf -----------------------------
195 #-------------------------- crea burning.conf -----------------------------
179
196
180 def make_burning_conf(self):
197 def make_burning_conf(self):
181 var_file = open("burning.conf","w")
198 var_file = open("burning.conf","w")
182 var_n_burned_discs = ( ( (self.var_disc_n - 1) * self.var_Copys) + self.var_copy_n - 1 )
199 var_n_burned_discs = ( ( (self.var_disc_n - 1) * self.var_Copys) + self.var_copy_n - 1 )
183 var_file.write(str(var_n_burned_discs)+"\n") #0 Numero de discos ya grabados
200 var_file.write(str(var_n_burned_discs)+"\n") #0 Numero de discos ya grabados
184 var_file.write(str(self.var_disc_n)+"\n") #1 Disco actual para grabar
201 var_file.write(str(self.var_disc_n)+"\n") #1 Disco actual para grabar
185 var_file.write(str(self.var_copy_n)+"\n") #2 Numero de copia actual para grabar
202 var_file.write(str(self.var_copy_n)+"\n") #2 Numero de copia actual para grabar
186 var_file.close()
203 var_file.close()
187
204
188 #----------------------------------------------------- carga burning.conf ---------------------------------------------------------------
205 #----------------------------------------------------- carga burning.conf ---------------------------------------------------------------
189
206
190 def get_burning_conf(self):
207 def get_burning_conf(self):
191 var_file = open("burning.conf","r")
208 var_file = open("burning.conf","r")
192 lines = var_file.readlines()
209 lines = var_file.readlines()
193 self.var_burned_discs = int(lines[0]) #0
210 self.var_burned_discs = int(lines[0]) #0
194 self.var_disc_n = int(lines[1])
211 self.var_disc_n = int(lines[1])
195 self.var_copy_n = int(lines[2])
212 self.var_copy_n = int(lines[2])
196 var_file.close()
213 var_file.close()
197
214
198 #---------------------------------------------- Habilitacion y deshabilitacion de items -------------------------------------------------------
215 #---------------------------------------------- Habilitacion y deshabilitacion de items -------------------------------------------------------
199
216
200 def enabled_items1(var_bool, self):
217 def enabled_items1(var_bool, self):
201 self.tabParameters.setEnabled(not(var_bool))
218 self.tabParameters.setEnabled(not(var_bool))
202 self.lstDcapacity.setEnabled(not(var_bool))
219 self.lstDcapacity.setEnabled(not(var_bool))
203 self.txtDcapacity.setEnabled(not(var_bool))
220 self.txtDcapacity.setEnabled(not(var_bool))
204 self.actionChange_Parameters.setEnabled(var_bool)
221 self.actionChange_Parameters.setEnabled(var_bool)
205 self.btnGbkp.setEnabled(not(var_bool))
222 self.btnGbkp.setEnabled(not(var_bool))
206 self.btnRestart.setEnabled(var_bool)
223 self.btnRestart.setEnabled(var_bool)
207 self.btnStartburn.setEnabled(var_bool)
224 self.btnStartburn.setEnabled(var_bool)
208
225
209
226
210 def enabled_items2(var_bool, self):
227 def enabled_items2(var_bool, self):
211 self.btnRestart.setEnabled(not(var_bool))
228 self.btnRestart.setEnabled(not(var_bool))
212 self.btnStartburn.setEnabled(not(var_bool))
229 self.btnStartburn.setEnabled(not(var_bool))
213 self.btnStopburn.setEnabled(var_bool)
230 self.btnStopburn.setEnabled(var_bool)
214 self.chkCheck.setEnabled(not(var_bool))
231 self.chkCheck.setEnabled(not(var_bool))
215 self.chkCheck.setChecked(False)
232 self.chkCheck.setChecked(False)
216
233
217 self.actionChange_Parameters.setEnabled(False)
234 self.actionChange_Parameters.setEnabled(False)
218
235
219
236
220
237
221
238
222
239
223 #---------------------------------------------- Actualiza estado en los labels -------------------------------------------------------
240 #---------------------------------------------- Actualiza estado en los labels -------------------------------------------------------
224
241
225 def update_message(type, message, self, index=0, ):
242 def update_message(type, message, self, index=0):
226 if index == 0:
243 if index == 0:
227 var_index = ( ( (self.var_disc_n - 1) * self.var_Copys) + (self.var_copy_n - 1) - self.var_burned_discs ) % len(self.var_devices)
244 var_index = ( ( (self.var_disc_n - 1) * self.var_Copys) + (self.var_copy_n - 1) - self.var_burned_discs ) % len(self.var_devices)
228 else:
245 else:
229 var_index = index
246 var_index = index
230
247
231 var_message = message
248 var_message = message
232 # var_message = "BURNING"
249 # var_message = "BURNING"
233 # var_message = "COMPLETED"
250 # var_message = "COMPLETED"
234 # var_message = "ERROR"
251 # var_message = "ERROR"
235 # var_message = "CHECKING"
252 # var_message = "CHECKING"
236 # var_message = "CHECKED"
253 # var_message = "CHECKED"
237
254
238 if type == 1:
255 if type == 1:
239
256
240 if var_index == 0:
257 if var_index == 0:
241 self.txtBstatusA.setText(var_message)
258 self.txtBstatusA.setText(var_message)
242 self.txtBdiscA.setText(str(self.var_disc_n))
259 self.txtBdiscA.setText(str(self.var_disc_n))
243 self.txtBcopyA.setText(str(self.var_copy_n))
260 self.txtBcopyA.setText(str(self.var_copy_n))
244
261
245 if var_index == 1:
262 if var_index == 1:
246 self.txtBstatusB.setText(var_message)
263 self.txtBstatusB.setText(var_message)
247 self.txtBdiscB.setText(str(self.var_disc_n))
264 self.txtBdiscB.setText(str(self.var_disc_n))
248 self.txtBcopyB.setText(str(self.var_copy_n))
265 self.txtBcopyB.setText(str(self.var_copy_n))
249
266
250 if var_index == 2:
267 if var_index == 2:
251 self.txtBstatusC.setText(var_message)
268 self.txtBstatusC.setText(var_message)
252 self.txtBdiscC.setText(str(self.var_disc_n))
269 self.txtBdiscC.setText(str(self.var_disc_n))
253 self.txtBcopyC.setText(str(self.var_copy_n))
270 self.txtBcopyC.setText(str(self.var_copy_n))
254
271
255 if var_index == 3:
272 if var_index == 3:
256 self.txtBstatusD.setText(var_message)
273 self.txtBstatusD.setText(var_message)
257 self.txtBdiscD.setText(str(self.var_disc_n))
274 self.txtBdiscD.setText(str(self.var_disc_n))
258 self.txtBcopyD.setText(str(self.var_copy_n))
275 self.txtBcopyD.setText(str(self.var_copy_n))
259
276
260 if type == 2:
277 if type == 2:
261
278
262 if var_index == 0:
279 if var_index == 0:
263 self.txtCHstatusA.setText(var_message)
280 self.txtCHstatusA.setText(var_message)
264
281
265 if var_index == 1:
282 if var_index == 1:
266 self.txtCHstatusB.setText(var_message)
283 self.txtCHstatusB.setText(var_message)
267
284
268 if var_index == 2:
285 if var_index == 2:
269 self.txtCHstatusC.setText(var_message)
286 self.txtCHstatusC.setText(var_message)
270
287
271 if var_index == 3:
288 if var_index == 3:
272 self.txtCHstatusD.setText(var_message)
289 self.txtCHstatusD.setText(var_message)
273
290
274
291
@@ -1,666 +1,758
1 # -*- coding: utf-8 -*-
1 # -*- coding: utf-8 -*-
2
2
3 """
3 """
4 Module implementing MainWindow.
4 Module implementing MainWindow.
5 """
5 """
6
6
7 from PyQt4.QtGui import QMainWindow
7 from PyQt4.QtGui import QMainWindow
8 from PyQt4.QtCore import pyqtSignature
8 from PyQt4.QtCore import pyqtSignature
9 from PyQt4 import QtCore
9 from PyQt4 import QtCore
10 from Ui_MainWindow import Ui_MainWindow
10 from Ui_MainWindow import Ui_MainWindow
11 from Ui_Parameters import Ui_Parameters
11 from Ui_Parameters import Ui_Parameters
12 from Ui_About import Ui_About
12 from Ui_About import Ui_About
13 from PyQt4 import QtGui
13 from PyQt4 import QtGui
14 from subprocess import *
14 from subprocess import *
15 import sys
15 import sys
16 import os
16 import os
17 #import subprocess
17 #import subprocess
18 import time
18 import time
19 import commands
19 import commands
20 from functions import functions
20 from functions import functions
21 from functions import functions2
21 from functions import functions2
22
22
23 class MainWindow(QMainWindow, Ui_MainWindow):
23 class MainWindow(QMainWindow, Ui_MainWindow):
24 """
24 """
25 Class documentation goes here.
25 Class documentation goes here.
26 """
26 """
27
27
28 def __init__(self, parent = None):
28 def __init__(self, parent = None):
29 QMainWindow.__init__(self, parent)
29 QMainWindow.__init__(self, parent)
30 self.setupUi(self)
30 self.setupUi(self)
31 self.setupUi2()
31 self.setupUi2()
32
32
33 def setupUi2(self):
33 def setupUi2(self):
34
34
35 self.txtInfo.append("cambio 1")
35 self.txtInfo.append("cambio 1")
36
36
37 self.allTrue = False
37 self.allTrue = False
38
38
39 if self.allTrue == True:
39 if self.allTrue == True:
40 self.var_real_principal = True
40 self.var_real_principal = True
41 self.var_real_detect_devices = True
41 self.var_real_detect_devices = True
42 self.var_real_iso = True
42 self.var_real_iso = True
43 self.var_real_burn = True
43 self.var_real_burn = True
44 self.var_real_check = True
44 self.var_real_check = True
45 self.var_real_eject = True
45 self.var_real_eject = True
46 self.var_real_manual_check = True
46 self.var_real_show_cmd = True
47 self.var_real_show_cmd = True
47
48
48 else:
49 else:
49 self.var_real_principal = False
50 self.var_real_principal = False
50 self.var_real_detect_devices = False
51 self.var_real_detect_devices = False
51 self.var_real_iso = False
52 self.var_real_iso = False
52 self.var_real_burn = False
53 self.var_real_burn = False
53 self.var_real_check = True
54 self.var_real_check = False
54 self.var_real_eject = False
55 self.var_real_eject = False
56 self.var_real_manual_check = False
55 self.var_real_show_cmd = True
57 self.var_real_show_cmd = True
56
58
57 if self.var_real_detect_devices == True:
59 if self.var_real_detect_devices == True:
58 # Reconocimiento de los dispositivos de grabacion
60 # Reconocimiento de los dispositivos de grabacion
59 functions2.detect_devices(self)
61 functions2.detect_devices(self)
60 else:
62 else:
61 functions2.set_devices_test(self)
63 functions2.set_devices_test(self)
62
64
63 #Inicialiazacion de variables
65 #Inicialiazacion de variables
64 self.var_Discs = 0 #Numero de discos del proyecto
66 self.var_Discs = 0 #Numero de discos del proyecto
65 self.var_Copys = 0 #Numero de copias
67 self.var_Copys = 0 #Numero de copias
66 self.var_disc_n = 0 # disco actual
68 self.var_disc_n = 0 # disco actual
67 self.var_copy_n = 0 # copia actual
69 self.var_copy_n = 0 # copia actual
68 self.var_burned_discs = 0 #numero de discos ya grabados
70 self.var_burned_discs = 0 #numero de discos ya grabados
69
71
70 self.bool_first_iso = False
72 self.bool_first_iso = False
71 self.var_step = 0 # numero de paso en el proceso
73 self.var_step = 0 # numero de paso en el proceso
72 self.bool_state_burning = False #si es True se puede grabar
74 self.bool_state_burning = False #si es True se puede grabar
73 self.blank_discs = False # Si es true significa que se acaban de ingresar discos en blanco
75 self.blank_discs = False # Si es true significa que se acaban de ingresar discos en blanco
74
76
75 self.var_list=[] # Lista de DOYs
77 self.var_list=[] # Lista de DOYs
76 self.var_sublist=[] # Sub-lista de DOYs seleccionados
78 self.var_sublist=[] # Sub-lista de DOYs seleccionados
77 self.var_devices=[] #Lista de dispositivos seleccionados
79 self.var_devices=[] #Lista de dispositivos seleccionados
78
80
79 #Revisa si existe el archivo de confirguracion y lo carga
81 #Revisa si existe el archivo de confirguracion y lo carga
80 if os.path.isfile("parameters.conf"):
82 if os.path.isfile("parameters.conf"):
81 functions2.get_parameters_conf(self)
83 functions2.get_parameters_conf(self)
82 self.bool_first_iso = True
84 self.bool_first_iso = True
83 self.txtInfo.append("Parameters were loaded from configuration file")
85 self.txtInfo.append("Parameters were loaded from configuration file")
84 self.txtInfo.append("Total number of discs for recording: "+str(self.var_Discs * self.var_Copys))
86 self.txtInfo.append("Total number of discs for recording: "+str(self.var_Discs * self.var_Copys))
85
87
86 elif self.var_real_principal == False:
88 elif self.var_real_principal == False:
87 functions2.set_parameters_test(self) #Establece ciertos parametros, para pruebas
89 functions2.set_parameters_test(self) #Establece ciertos parametros, para pruebas
88
90
89 functions2.set_vars(self) #Carga las variables de la clase con los parametros seleccionados
91 functions2.set_vars(self) #Carga las variables de la clase con los parametros seleccionados
90
92
91 self.statusDpath = functions.dir_exists(self.var_Dpath, self)
93 self.statusDpath = functions.dir_exists(self.var_Dpath, self)
92 self.statusRpath = functions.dir_exists(self.var_Rpath, self)
94 self.statusRpath = functions.dir_exists(self.var_Rpath, self)
93 functions.load_days(self)
95 functions.load_days(self)
94
96
95 if os.path.isfile("parameters.conf"):
97 if os.path.isfile("parameters.conf"):
96 functions2.enabled_items1(True, self) #Se bloquean los parametros de configuracion
98 functions2.enabled_items1(True, self) #Se bloquean los parametros de configuracion
97
99
98 if os.path.isfile("burning.conf"):
100 if os.path.isfile("burning.conf"):
99 functions2.get_burning_conf(self)
101 functions2.get_burning_conf(self)
100 self.txtInfo.append("Current disc: "+str(self.var_disc_n))
102 self.txtInfo.append("Current disc: "+str(self.var_disc_n))
101 self.txtInfo.append("Current copy: "+str(self.var_copy_n))
103 self.txtInfo.append("Current copy: "+str(self.var_copy_n))
102 self.txtInfo.append("Burned discs: "+str(self.var_burned_discs))
104 self.txtInfo.append("Burned discs: "+str(self.var_burned_discs))
103 self.btnStartburn.setText("Continue")
105 self.btnStartburn.setText("Continue")
104 self.actionChange_Parameters.setEnabled(False)
106 self.actionChange_Parameters.setEnabled(False)
105
107
106 self.connect(self.actionChange_Parameters, QtCore.SIGNAL("triggered()"), self.changeParameters)
108 self.connect(self.actionChange_Parameters, QtCore.SIGNAL("triggered()"), self.changeParameters)
107 self.connect(self.actionAbout, QtCore.SIGNAL("triggered()"), self.about)
109 self.connect(self.actionAbout, QtCore.SIGNAL("triggered()"), self.about)
108
110
109 self.process_iso = QtCore.QProcess()
111 self.process_iso = QtCore.QProcess()
110 self.connect(self.process_iso, QtCore.SIGNAL('readyReadStandardOutput()'), self.readOuput_iso)
112 self.connect(self.process_iso, QtCore.SIGNAL('readyReadStandardOutput()'), self.readOuput_iso)
111 self.connect(self.process_iso, QtCore.SIGNAL('readyReadStandardError()'), self.readError_iso)
113 self.connect(self.process_iso, QtCore.SIGNAL('readyReadStandardError()'), self.readError_iso)
112 self.connect(self.process_iso, QtCore.SIGNAL('finished(int,QProcess::ExitStatus)'), self.finished_iso)
114 self.connect(self.process_iso, QtCore.SIGNAL('finished(int,QProcess::ExitStatus)'), self.finished_iso)
113
115
114 self.process_burn = QtCore.QProcess()
116 self.process_burn = QtCore.QProcess()
115 self.connect(self.process_burn, QtCore.SIGNAL('readyReadStandardOutput()'), self.readOuput_burn)
117 self.connect(self.process_burn, QtCore.SIGNAL('readyReadStandardOutput()'), self.readOuput_burn)
116 self.connect(self.process_burn, QtCore.SIGNAL('readyReadStandardError()'), self.readError_burn)
118 self.connect(self.process_burn, QtCore.SIGNAL('readyReadStandardError()'), self.readError_burn)
117 self.connect(self.process_burn, QtCore.SIGNAL('finished(int,QProcess::ExitStatus)'), self.finished_burn)
119 self.connect(self.process_burn, QtCore.SIGNAL('finished(int,QProcess::ExitStatus)'), self.finished_burn)
118
120
119 self.process_check = QtCore.QProcess()
121 self.process_check = QtCore.QProcess()
120 self.connect(self.process_check, QtCore.SIGNAL('readyReadStandardOutput()'), self.readOuput_check)
122 self.connect(self.process_check, QtCore.SIGNAL('readyReadStandardOutput()'), self.readOuput_check)
121 self.connect(self.process_check, QtCore.SIGNAL('readyReadStandardError()'), self.readError_check)
123 self.connect(self.process_check, QtCore.SIGNAL('readyReadStandardError()'), self.readError_check)
122 self.connect(self.process_check, QtCore.SIGNAL('finished(int,QProcess::ExitStatus)'), self.finished_check)
124 self.connect(self.process_check, QtCore.SIGNAL('finished(int,QProcess::ExitStatus)'), self.finished_check)
123
125
126 self.process_manual_check = QtCore.QProcess()
127 self.connect(self.process_manual_check, QtCore.SIGNAL('readyReadStandardOutput()'), self.readOuput_manual_check)
128 self.connect(self.process_manual_check, QtCore.SIGNAL('readyReadStandardError()'), self.readError_manual_check)
129 self.connect(self.process_manual_check, QtCore.SIGNAL('finished(int,QProcess::ExitStatus)'), self.finished_manual_check)
124
130
125 def changeParameters(self):
131 def changeParameters(self):
126 dlg=QtGui.QDialog()
132 dlg=QtGui.QDialog()
127 dlgui=Ui_Parameters()
133 dlgui=Ui_Parameters()
128 dlgui.setupUi(dlg)
134 dlgui.setupUi(dlg)
129 if (dlg.exec_() == QtGui.QDialog.Accepted):
135 if (dlg.exec_() == QtGui.QDialog.Accepted):
130 if dlgui.txtDisc.value() > self.var_Discs or dlgui.txtCopy.value() > dlgui.txtNcopys.value():
136 if dlgui.txtDisc.value() > self.var_Discs or dlgui.txtCopy.value() > dlgui.txtNcopys.value():
131 self.txtInfo.append("Wrong parameters")
137 self.txtInfo.append("Wrong parameters")
132 else:
138 else:
133 self.var_Copys = dlgui.txtNcopys.value()
139 self.var_Copys = dlgui.txtNcopys.value()
134 self.var_disc_n = dlgui.txtDisc.value()
140 self.var_disc_n = dlgui.txtDisc.value()
135 self.var_copy_n = dlgui.txtCopy.value()
141 self.var_copy_n = dlgui.txtCopy.value()
136 self.txtInfo.append("Changed parameters")
142 self.txtInfo.append("Changed parameters")
137 self.var_burned_discs = ( ( (self.var_disc_n - 1) * self.var_Copys) + self.var_copy_n -1 )
143 self.var_burned_discs = ( ( (self.var_disc_n - 1) * self.var_Copys) + self.var_copy_n -1 )
138 self.bool_first_iso = True
144 self.bool_first_iso = True
139 self.txtInfo.append("Current disc: "+str(self.var_disc_n))
145 self.txtInfo.append("Current disc: "+str(self.var_disc_n))
140 self.txtInfo.append("Current copy: "+str(self.var_copy_n))
146 self.txtInfo.append("Current copy: "+str(self.var_copy_n))
141 self.txtInfo.append("Nro Copys: "+str(self.var_Copys))
147 self.txtInfo.append("Nro Copys: "+str(self.var_Copys))
142 functions2.make_parameters_conf(self)
148 functions2.make_parameters_conf(self)
143 self.txtCopys.setValue(self.var_Copys) #Actualizo mananualmente el valor Copys
149 self.txtCopys.setValue(self.var_Copys) #Actualizo mananualmente el valor Copys
144
150
145
151
146
152
147 def about(self):
153 def about(self):
148 dlg_about=QtGui.QDialog()
154 dlg_about=QtGui.QDialog()
149 dlgui_about=Ui_About()
155 dlgui_about=Ui_About()
150 dlgui_about.setupUi(dlg_about)
156 dlgui_about.setupUi(dlg_about)
151 dlg_about.exec_()
157 dlg_about.exec_()
152
158
153
159
154 #==============================================================================
160 #==============================================================================
155 # Manejo de los eventos
161 # Manejo de los eventos
156 #==============================================================================
162 #==============================================================================
157
163
158 #----------------------------------------------------- Obtencion de la ruta de los datos ---------------------------------------------------------------
164 #----------------------------------------------------- Obtencion de la ruta de los datos ---------------------------------------------------------------
159
165
160 @pyqtSignature("")
166 @pyqtSignature("")
161 def on_btnDpath_clicked(self):
167 def on_btnDpath_clicked(self):
162 """
168 """
163 Permite seleccionar graficamente el direcorio de los datos a grabar
169 Permite seleccionar graficamente el direcorio de los datos a grabar
164 """
170 """
165 self.var_Dpath= str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
171 self.var_Dpath= str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
166 self.txtDpath.setText(self.var_Dpath)
172 self.txtDpath.setText(self.var_Dpath)
167 self.statusDpath = functions.dir_exists(self.var_Dpath, self)
173 self.statusDpath = functions.dir_exists(self.var_Dpath, self)
168 functions.load_days(self)
174 functions.load_days(self)
169
175
170
176
171 @pyqtSignature("")
177 @pyqtSignature("")
172 def on_txtDpath_editingFinished(self):
178 def on_txtDpath_editingFinished(self):
173 """
179 """
174 Carga la ruta editada y verifica que sea correcta y carga la lista de dias
180 Carga la ruta editada y verifica que sea correcta y carga la lista de dias
175 """
181 """
176 self.var_Dpath=str(self.txtDpath.text()) #Se carga la variable con la ruta recien editada
182 self.var_Dpath=str(self.txtDpath.text()) #Se carga la variable con la ruta recien editada
177 self.statusDpath = functions.dir_exists(self.var_Dpath, self)
183 self.statusDpath = functions.dir_exists(self.var_Dpath, self)
178 functions.load_days(self)
184 functions.load_days(self)
179
185
180
186
181 #----------------------------------------------------- Obtencion de las ruta del proyecto ---------------------------------------------------------------
187 #----------------------------------------------------- Obtencion de las ruta del proyecto ---------------------------------------------------------------
182
188
183 @pyqtSignature("")
189 @pyqtSignature("")
184 def on_btnRpath_clicked(self):
190 def on_btnRpath_clicked(self):
185 """
191 """
186 Permite seleccionar graficamente el direcorio del proyecto
192 Permite seleccionar graficamente el direcorio del proyecto
187 """
193 """
188 self.var_Rpath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
194 self.var_Rpath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
189 self.txtRpath.setText(self.var_Rpath)
195 self.txtRpath.setText(self.var_Rpath)
190 self.statusRpath = functions.dir_exists(self.var_Rpath, self)
196 self.statusRpath = functions.dir_exists(self.var_Rpath, self)
191
197
192
198
193 @pyqtSignature("")
199 @pyqtSignature("")
194 def on_txtRpath_editingFinished(self):
200 def on_txtRpath_editingFinished(self):
195 """
201 """
196 Valida la ruta del proyecto
202 Valida la ruta del proyecto
197 """
203 """
198 self.var_Rpath = str(self.txtRpath.text()) #Se carga la variable con la ruta recien editada
204 self.var_Rpath = str(self.txtRpath.text()) #Se carga la variable con la ruta recien editada
199 self.statusRpath = functions.dir_exists(self.var_Rpath, self)
205 self.statusRpath = functions.dir_exists(self.var_Rpath, self)
200
206
201
207
202 #----------------------------------------------------- Tipo de datos ---------------------------------------------------------------
208 #----------------------------------------------------- Tipo de datos ---------------------------------------------------------------
203
209
204 @pyqtSignature("int")
210 @pyqtSignature("int")
205 def on_lstDtype_activated(self, index):
211 def on_lstDtype_activated(self, index):
206 """
212 """
207 Permite elegir entre los tipos de archivos
213 Permite elegir entre los tipos de archivos
208 """
214 """
209 self.txtDtype.setReadOnly(True)
215 self.txtDtype.setReadOnly(True)
210 if index == 0:
216 if index == 0:
211 self.var_Dtype ='r'
217 self.var_Dtype ='r'
212 elif index == 1:
218 elif index == 1:
213 self.var_Dtype ='pdata'
219 self.var_Dtype ='pdata'
214 elif index == 2:
220 elif index == 2:
215 self.var_Dtype ='sswma'
221 self.var_Dtype ='sswma'
216 else :
222 else :
217 self.var_Dtype =''
223 self.var_Dtype =''
218 self.txtDtype.setReadOnly(False)
224 self.txtDtype.setReadOnly(False)
219
225
220 self.txtDtype.setText(self.var_Dtype)
226 self.txtDtype.setText(self.var_Dtype)
221 functions.load_days(self) #llamada a funcion
227 functions.load_days(self) #llamada a funcion
222
228
223 @pyqtSignature("")
229 @pyqtSignature("")
224 def on_txtDtype_editingFinished(self):
230 def on_txtDtype_editingFinished(self):
225 self.var_Dtype=str(self.txtDtype.text())
231 self.var_Dtype=str(self.txtDtype.text())
226 functions.load_days(self) #llamada a funcion
232 functions.load_days(self) #llamada a funcion
227
233
228
234
229 #----------------------------------------------------- Etiqueta ---------------------------------------------------------------
235 #----------------------------------------------------- Etiqueta ---------------------------------------------------------------
230
236
231 @pyqtSignature("")
237 @pyqtSignature("")
232 def on_txtElabel_editingFinished(self):
238 def on_txtElabel_editingFinished(self):
233 self.var_Elabel = str(self.txtElabel.text())
239 self.var_Elabel = str(self.txtElabel.text())
234
240
235 #----------------------------------------------------- Numero de copias ---------------------------------------------------------------
241 #----------------------------------------------------- Numero de copias ---------------------------------------------------------------
236 @pyqtSignature("")
242 @pyqtSignature("")
237 def on_txtCopys_editingFinished(self):
243 def on_txtCopys_editingFinished(self):
238 self.var_Copys = self.txtCopys.value()
244 self.var_Copys = self.txtCopys.value()
239
245
240 #----------------------------------------------------- Seleccion del rango de fechas ---------------------------------------------------------------
246 #----------------------------------------------------- Seleccion del rango de fechas ---------------------------------------------------------------
241
247
242 @pyqtSignature("int") #CLOSED
248 @pyqtSignature("int") #CLOSED
243 def on_lstStartDay_activated(self, index):
249 def on_lstStartDay_activated(self, index):
244 """
250 """
245 Cambia la lista de opciones en lstStopDay
251 Cambia la lista de opciones en lstStopDay
246 """
252 """
247 var_StopDay_index=self.lstStopDay.count() - self.lstStopDay.currentIndex()
253 var_StopDay_index=self.lstStopDay.count() - self.lstStopDay.currentIndex()
248 self.lstStopDay.clear()
254 self.lstStopDay.clear()
249
255
250 for i in self.var_list[index:]:
256 for i in self.var_list[index:]:
251 self.lstStopDay.addItem(i)
257 self.lstStopDay.addItem(i)
252
258
253 self.lstStopDay.setCurrentIndex(self.lstStopDay.count() - var_StopDay_index)
259 self.lstStopDay.setCurrentIndex(self.lstStopDay.count() - var_StopDay_index)
254
260
255 functions.get_sub_list(self)
261 functions.get_sub_list(self)
256
262
257
263
258 @pyqtSignature("int") #CLOSED
264 @pyqtSignature("int") #CLOSED
259 def on_lstStopDay_activated(self, index):
265 def on_lstStopDay_activated(self, index):
260 """
266 """
261 Cambia la lista de opciones en lstStartDay
267 Cambia la lista de opciones en lstStartDay
262 """
268 """
263 var_StartDay_index=self.lstStartDay.currentIndex()
269 var_StartDay_index=self.lstStartDay.currentIndex()
264 var_end_index = self.lstStopDay.count() - index
270 var_end_index = self.lstStopDay.count() - index
265 self.lstStartDay.clear()
271 self.lstStartDay.clear()
266
272
267 for i in self.var_list[:len(self.var_list) - var_end_index + 1]:
273 for i in self.var_list[:len(self.var_list) - var_end_index + 1]:
268 self.lstStartDay.addItem(i)
274 self.lstStartDay.addItem(i)
269
275
270 self.lstStartDay.setCurrentIndex(var_StartDay_index)
276 self.lstStartDay.setCurrentIndex(var_StartDay_index)
271
277
272 functions.get_sub_list(self)
278 functions.get_sub_list(self)
273
279
274
280
275 #----------------------------------------------------- Capacidad del dispositivo de grabacion ---------------------------------------------------------------
281 #----------------------------------------------------- Capacidad del dispositivo de grabacion ---------------------------------------------------------------
276
282
277 @pyqtSignature("")
283 @pyqtSignature("")
278 def on_txtDcapacity_editingFinished(self):
284 def on_txtDcapacity_editingFinished(self):
279 self.var_Dcapacity = self.txtDcapacity.value()
285 self.var_Dcapacity = self.txtDcapacity.value()
280
286
281
287
282 @pyqtSignature("int") #CLOSED
288 @pyqtSignature("int") #CLOSED
283 def on_lstDcapacity_activated(self, index):
289 def on_lstDcapacity_activated(self, index):
284 """
290 """
285 Permite elegir el tamaño del disco
291 Permite elegir el tamaño del disco
286 """
292 """
287 if index == 0:
293 if index == 0:
288 var_size=25.0
294 var_size=25.0
289 elif index == 1:
295 elif index == 1:
290 var_size=8.5
296 var_size=8.5
291 elif index == 2:
297 elif index == 2:
292 var_size=4.7
298 var_size=4.7
293 elif index == 3:
299 elif index == 3:
294 var_size=0.7
300 var_size=0.7
295
301
296 if index != 4:
302 if index != 4:
297 self.txtDcapacity.setValue(var_size*10**9/1024**2)
303 self.txtDcapacity.setValue(var_size*10**9/1024**2)
298 self.txtDcapacity.setReadOnly(True)
304 self.txtDcapacity.setReadOnly(True)
299 else:
305 else:
300 self.txtDcapacity.setValue(100.0)
306 self.txtDcapacity.setValue(100.0)
301 self.txtDcapacity.setReadOnly(False)
307 self.txtDcapacity.setReadOnly(False)
302
308
303 self.var_lstDcapacity = self.lstDcapacity.currentIndex()
309 self.var_lstDcapacity = self.lstDcapacity.currentIndex()
304 self.var_Dcapacity = self.txtDcapacity.value()
310 self.var_Dcapacity = self.txtDcapacity.value()
305
311
306 #----------------------------------------------------- Testeo de las unidades de grabacion ---------------------------------------------------------------
312 #----------------------------------------------------- Testeo de las unidades de grabacion ---------------------------------------------------------------
307
313
308 @pyqtSignature("")
314 @pyqtSignature("")
309 def on_btnTdevA_clicked(self):
315 def on_btnTdevA_clicked(self):
310 var_dev = str(self.txtDeviceA.text())
316 var_dev = str(self.txtDeviceA.text())
311 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev
317 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev
312 commands.getstatusoutput(var_cmd)
318 commands.getstatusoutput(var_cmd)
313
319
314 @pyqtSignature("")
320 @pyqtSignature("")
315 def on_btnTdevB_clicked(self):
321 def on_btnTdevB_clicked(self):
316 var_dev = str(self.txtDeviceB.text())
322 var_dev = str(self.txtDeviceB.text())
317 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev
323 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev
318 commands.getstatusoutput(var_cmd)
324 commands.getstatusoutput(var_cmd)
319
325
320 @pyqtSignature("")
326 @pyqtSignature("")
321 def on_btnTdevC_clicked(self):
327 def on_btnTdevC_clicked(self):
322 var_dev = str(self.txtDeviceC.text())
328 var_dev = str(self.txtDeviceC.text())
323 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev
329 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev
324 commands.getstatusoutput(var_cmd)
330 commands.getstatusoutput(var_cmd)
325
331
326 @pyqtSignature("")
332 @pyqtSignature("")
327 def on_btnTdevD_clicked(self):
333 def on_btnTdevD_clicked(self):
328 var_dev = str(self.txtDeviceD.text())
334 var_dev = str(self.txtDeviceD.text())
329 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev
335 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev
330 commands.getstatusoutput(var_cmd)
336 commands.getstatusoutput(var_cmd)
331
337
332
338
333 #==============================================================================
339 #==============================================================================
334 # Botones para la generacion de los archivos de configuracion
340 # Botones para la generacion de los archivos de configuracion
335 #==============================================================================
341 #==============================================================================
336
342
337 #----------------------------------------------------- Generacion de la configuracion usando los parametros ---------------------------------------------------------------
343 #----------------------------------------------------- Generacion de la configuracion usando los parametros ---------------------------------------------------------------
338
344
339 @pyqtSignature("")
345 @pyqtSignature("")
340 def on_btnGbkp_clicked(self):
346 def on_btnGbkp_clicked(self):
341 """
347 """
342 Generacion de archivos de configuracion usando los parametros
348 Generacion de archivos de configuracion usando los parametros
343 """
349 """
344
350
345 if functions.validate_parameters(self) == False:
351 if functions.validate_parameters(self) == False:
346 return
352 return
347
353
348 #Crea las carpetas en la ruta del proyecto y verifica que se crearon correctamente
354 #Crea las carpetas en la ruta del proyecto y verifica que se crearon correctamente
349 list_dirs=['gpath','iso','ppath', 'tmpdata']
355 list_dirs=['gpath','iso','ppath', 'tmpdata']
350 bool_make_dirs = functions.make_dirs(list_dirs, self)
356 bool_make_dirs = functions.make_dirs(list_dirs, self)
351 if bool_make_dirs == False:
357 if bool_make_dirs == False:
352 return
358 return
353
359
354 var_files_list = functions.list_files(self) #Se obtiene la lista de archivos a grabar
360 var_files_list = functions.list_files(self) #Se obtiene la lista de archivos a grabar
355
361
356 self.var_Discs = functions.make_files_dat(var_files_list, self) #Se crean los archivos .dat
362 self.var_Discs = functions.make_files_dat(var_files_list, self) #Se crean los archivos .dat
357
363
358 functions.make_files_print(self) # Se crean los archivos .print
364 functions.make_files_print(self) # Se crean los archivos .print
359
365
360 functions2.make_parameters_conf(self) # se crea el archivo parameters.conf
366 functions2.make_parameters_conf(self) # se crea el archivo parameters.conf
361
367
362 self.txtInfo.append("Total number of discs for recording: "+str(self.var_Discs * self.var_Copys))
368 self.txtInfo.append("Total number of discs for recording: "+str(self.var_Discs * self.var_Copys))
363
369
364 #Se bloquean los parametros de configuracion
370 #Se bloquean los parametros de configuracion
365 functions2.enabled_items1(True, self)
371 functions2.enabled_items1(True, self)
366 self.var_disc_n = 1
372 self.var_disc_n = 1
367 self.var_copy_n = 1
373 self.var_copy_n = 1
368 self.bool_first_iso = True
374 self.bool_first_iso = True
369 self.var_burned_discs = 0 #numero de discos grabados
375 self.var_burned_discs = 0 #numero de discos grabados
370
376
371
377
372 #----------------------------------------------------- Permite reiniciar la configuracion ---------------------------------------------------------------
378 #----------------------------------------------------- Permite reiniciar la configuracion ---------------------------------------------------------------
373
379
374 @pyqtSignature("")
380 @pyqtSignature("")
375 def on_btnRestart_clicked(self):
381 def on_btnRestart_clicked(self):
376 """
382 """
377 Permite que se puedan cambiar los parametros
383 Permite que se puedan cambiar los parametros
378 """
384 """
379 if os.path.isfile("parameters.conf"):
385 if os.path.isfile("parameters.conf"):
380 os.remove("parameters.conf")
386 os.remove("parameters.conf")
381 if os.path.isfile("burning.conf"):
387 if os.path.isfile("burning.conf"):
382 os.remove("burning.conf")
388 os.remove("burning.conf")
383
389
384 functions2.enabled_items1(False, self)
390 functions2.enabled_items1(False, self)
385 self.btnStartburn.setText("Start Burn")
391 self.btnStartburn.setText("Start Burn")
386 self.txtInfo.clear()
392 self.txtInfo.clear()
387
393
388
394
389
395
390 #==============================================================================
396 #==============================================================================
391 # Acciones de los procesos
397 # Acciones de los procesos
392 #==============================================================================
398 #==============================================================================
393
399
394 #------------------------------------------------ Funciones del proceso de creacion del iso ------------------------------------------------------
400 #------------------------------------------------ Funciones del proceso de creacion del iso ------------------------------------------------------
395
401
396 def readOuput_iso(self):
402 def readOuput_iso(self):
397 self.txtProgress.setText("stdout iso: " + QtCore.QString(self.process_iso.readAllStandardOutput()))
403 self.txtProgress.setText("stdout iso: " + QtCore.QString(self.process_iso.readAllStandardOutput()))
398
404
399 def readError_iso(self):
405 def readError_iso(self):
400 self.txtProgress.setText("stderr iso: " + QtCore.QString(self.process_iso.readAllStandardError()))
406 self.txtProgress.setText("stderr iso: " + QtCore.QString(self.process_iso.readAllStandardError()))
401
407
402 def finished_iso(self):
408 def finished_iso(self):
403 self.txtProgress.clear()
409 self.txtProgress.clear()
404
410
405 if not(self.bool_state_burning):
411 if not(self.bool_state_burning):
406 return
412 return
407
413
408 if self.process_iso.exitCode() == 0:
414 if self.process_iso.exitCode() == 0:
409 self.txtInfo.append("------Iso file: "+functions.i2s(self.var_disc_n)+" created successfully\n")
415 self.txtInfo.append("------Iso file: "+functions.i2s(self.var_disc_n)+" created successfully\n")
410 self.var_step = 1
416 self.var_step = 1
411 self.function_burn()
417 self.function_burn()
412
418
413 else:
419 else:
414 self.txtInfo.append("#####Error creating iso file "+functions.i2s(self.var_disc_n)
420 self.txtInfo.append("#####Error creating iso file "+functions.i2s(self.var_disc_n)
415 +" , code "+QtCore.QString(self.process_iso.exitCode()))
421 +" , code "+QtCore.QString(self.process_iso.exitCode()))
416 self.txtInfo.append("Please check the data")
422 self.txtInfo.append("Please check the data")
417 self.txtInfo.append("FATAL ERROR")
423 self.txtInfo.append("FATAL ERROR")
418
424
419 #----------------------------------------------------- Funciones del proceso de grabado ---------------------------------------------------------------
425 #----------------------------------------------------- Funciones del proceso de grabado ---------------------------------------------------------------
420
426
421 def readOuput_burn(self):
427 def readOuput_burn(self):
422 self.txtProgress.setText("stdout burn: " + QtCore.QString(self.process_burn.readAllStandardOutput()))
428 self.txtProgress.setText("stdout burn: " + QtCore.QString(self.process_burn.readAllStandardOutput()))
423
429
424 def readError_burn(self):
430 def readError_burn(self):
425 self.txtProgress.setText("stderr burn: " + QtCore.QString(self.process_burn.readAllStandardError()))
431 self.txtProgress.setText("stderr burn: " + QtCore.QString(self.process_burn.readAllStandardError()))
426
432
427 def finished_burn(self):
433 def finished_burn(self):
428 self.txtProgress.clear()
434 self.txtProgress.clear()
429
435
430 #Si se paro el proceso manualmente se termina
436 #Si se paro el proceso manualmente se termina
431 if not(self.bool_state_burning):
437 if not(self.bool_state_burning):
432 return
438 return
433
439
434 if self.process_burn.exitCode() == 0:
440 if self.process_burn.exitCode() == 0:
435 self.txtInfo.append("-----Complete recording, disc: "+str(self.var_disc_n)+" copy: "+str(self.var_copy_n))
441 self.txtInfo.append("-----Complete recording, disc: "+str(self.var_disc_n)+" copy: "+str(self.var_copy_n))
436 functions2.update_message(1, "COMPLETED", self)
442 functions2.update_message(1, "COMPLETED", self)
437 self.var_step = 2
443 self.var_step = 2
438 self.function_check()
444 self.function_check()
439
445
440 else:
446 else:
441 self.txtInfo.append("#######Error recording, disc: "+functions.i2s(self.var_disc_n)+" copy: "
447 self.txtInfo.append("#######Error recording, disc: "+functions.i2s(self.var_disc_n)+" copy: "
442 +functions.i2s(self.var_copy_n)+", code "+QtCore.QString(self.process_burn.exitCode()))
448 +functions.i2s(self.var_copy_n)+", code "+QtCore.QString(self.process_burn.exitCode()))
443 functions2.update_message(1, "ERROR", self)
449 functions2.update_message(1, "ERROR", self)
444
450
445 functions.is_last_disc_and_copy(self)
451 functions.is_last_disc_and_copy(self)
446
452
447
453
448 #----------------------------------------------------- Funciones del proceso de verificacion ---------------------------------------------------------------
454 #----------------------------------------------------- Funciones del proceso de verificacion ---------------------------------------------------------------
449
455
450 def readOuput_check(self):
456 def readOuput_check(self):
451 self.txtProgress.setText("stdout check: " + QtCore.QString(self.process_check.readAllStandardOutput()))
457 self.txtProgress.setText("stdout check: " + QtCore.QString(self.process_check.readAllStandardOutput()))
452
458
453 def readError_check(self):
459 def readError_check(self):
454 self.txtProgress.setText("stderr check: " + QtCore.QString(self.process_check.readAllStandardError()))
460 self.txtProgress.setText("stderr check: " + QtCore.QString(self.process_check.readAllStandardError()))
455
461
456 def finished_check(self):
462 def finished_check(self):
457 self.txtProgress.clear()
463 self.txtProgress.clear()
458
464
459 if not(self.bool_state_burning):
465 if not(self.bool_state_burning):
460 return
466 return
461
467
462 if self.process_check.exitCode() == 0:
468 if self.process_check.exitCode() == 0:
463 self.txtInfo.append("--------Complete checking, disc: "+str(self.var_disc_n)+" copy: "+str(self.var_copy_n))
469 self.txtInfo.append("--------Complete checking, disc: "+str(self.var_disc_n)+" copy: "+str(self.var_copy_n))
464 functions2.update_message(2, "CHECKED", self)
470 functions2.update_message(2, "CHECKED", self)
465
471
466 else:
472 else:
467 self.txtInfo.append("#######Error checking, disc: "+functions.i2s(self.var_disc_n)+" copy: "
473 self.txtInfo.append("#######Error checking, disc: "+functions.i2s(self.var_disc_n)+" copy: "
468 +functions.i2s(self.var_copy_n)+", code "+QtCore.QString(self.process_check.exitCode()))
474 +functions.i2s(self.var_copy_n)+", code "+QtCore.QString(self.process_check.exitCode()))
469 functions2.update_message(2, "ERROR", self)
475 functions2.update_message(2, "ERROR", self)
470
476
471 #borrar el contenido de tmpdata
477 #borrar el contenido de tmpdata
472 var_tmpdata=self.var_Rpath+"/tmpdata"
478 var_tmpdata=self.var_Rpath+"/tmpdata"
473
479
474 bool_return = functions.remove_dir(var_tmpdata, self)
480 bool_return = functions.remove_dir(var_tmpdata, self)
475 if not(bool_return):
481 if not(bool_return):
476 self.txtInfo.append("Error deleting directory: "+var_tmpdata)
482 self.txtInfo.append("Error deleting directory: "+var_tmpdata)
477 self.bool_state_burning = False
483 self.bool_state_burning = False
478 return
484 return
479
485
480 bool_return = functions.make_dir(var_tmpdata, self)
486 bool_return = functions.make_dir(var_tmpdata, self)
481 if not(bool_return):
487 if not(bool_return):
482 self.txtInfo.append("Error creating directory:"+ var_tmpdata)
488 self.txtInfo.append("Error creating directory:"+ var_tmpdata)
483 self.bool_state_burning = False
489 self.bool_state_burning = False
484 return
490 return
485
491
486 functions.is_last_disc_and_copy(self)
492 functions.is_last_disc_and_copy(self)
487
493
494 #----------------------------------------------------- Funciones del proceso de verificacion manual ---------------------------------------------------------------
495
496 def readOuput_manual_check(self):
497 self.txtProgress.setText("stdout check: " + QtCore.QString(self.process_manual_check.readAllStandardOutput()))
498
499 def readError_manual_check(self):
500 self.txtProgress.setText("stderr check: " + QtCore.QString(self.process_manual_check.readAllStandardError()))
501
502 def finished_manual_check(self):
503 self.txtProgress.clear()
504
505 if not(self.bool_state_manual_check):
506 return
507
508 if self.process_manual_check.exitCode() == 0:
509 self.txtInfo.append("--------Complete checking, disc: "+str(self.var_n_check_dirs + 1))
510 functions2.update_message(2, "CHECKED", self, index=self.var_n_check_dirs)
511
512 else:
513 self.txtInfo.append("#######Error checking, disc: "+str(self.var_n_check_dirs + 1)
514 +", code "+QtCore.QString(self.process_manual_check.exitCode()))
515 functions2.update_message(2, "ERROR", self, index=self.var_n_check_dirs)
516
517 #borrar el contenido de tmpdata
518 var_tmpdata=self.var_Rpath+"/tmpdata"
519
520 bool_return = functions.remove_dir(var_tmpdata, self)
521 if not(bool_return):
522 self.txtInfo.append("Error deleting directory: "+var_tmpdata)
523 self.bool_state_burning = False
524 return
525
526 bool_return = functions.make_dir(var_tmpdata, self)
527 if not(bool_return):
528 self.txtInfo.append("Error creating directory:"+ var_tmpdata)
529 self.bool_state_burning = False
530 return
531
532 if self.var_n_check_dirs >= len(self.list_check_dirs) :
533 self.bool_state_manual_check = False
534 return
535
536 self.var_n_check_dirs +=1
537 self.manual_check()
488
538
489
539
490 #==============================================================================
540 #==============================================================================
491 # Botones para el proceso de grabacion
541 # Botones para el proceso de grabacion
492 #==============================================================================
542 #==============================================================================
493
543
494 #----------------------------------------------------- Iniciar proceso de grabacion ---------------------------------------------------------------
544 #----------------------------------------------------- Iniciar proceso de grabacion ---------------------------------------------------------------
495
545
496 @pyqtSignature("")
546 @pyqtSignature("")
497 def on_btnStartburn_clicked(self):
547 def on_btnStartburn_clicked(self):
498 """
548 """
499 Se inicia el proceso de grabacion
549 Se inicia el proceso de grabacion
500 """
550 """
501 #Verifica que exista algun dispositivo de grabacion seleccionado
551 #Verifica que exista algun dispositivo de grabacion seleccionado
502 if not(functions2.selected_devices(self)):
552 if not(functions2.selected_devices(self)):
503 self.txtInfo.append("There is no recording device selected")
553 self.txtInfo.append("There is no recording device selected")
504 return
554 return
505
555
506 # #Lista los dispositivos de grabacion a usar
556 # #Lista los dispositivos de grabacion a usar
507 # for dev in self.var_devices:
557 # for dev in self.var_devices:
508 # self.txtInfo.append("recording device :"+dev)
558 # self.txtInfo.append("recording device :"+dev)
509
559
510 self.bool_state_burning = True
560 self.bool_state_burning = True
511 functions2.enabled_items2(True, self)
561 functions2.enabled_items2(True, self)
512
562
513 if self.bool_first_iso == True:
563 if self.bool_first_iso == True:
514 self.txtInfo.append("BUTTON: on_btnStartburn_clicked")
564 self.txtInfo.append("BUTTON: on_btnStartburn_clicked")
515 self.var_step = 4
565 self.var_step = 4
516 self.function_eject()
566 self.function_eject()
517 return
567 return
518
568
519 if self.var_step == 0:
569 if self.var_step == 0:
520 self.function_iso()
570 self.function_iso()
521 return
571 return
522
572
523 if self.var_step == 1:
573 if self.var_step == 1:
524 self.function_burn()
574 self.function_burn()
525 return
575 return
526
576
527 #----------------------------------------------------- Funcion para el grabado ---------------------------------------------------------------
577 #----------------------------------------------------- Funcion para el grabado ---------------------------------------------------------------
528
578
529 def function_iso(self):
579 def function_iso(self):
530 #Creacion del archivo.iso para la grabacion
580 #Creacion del archivo.iso para la grabacion
531 if self.var_step == 0:
581 if self.var_step == 0:
532 self.txtInfo.append("########## Disc number: "+str(self.var_disc_n)+"##########")
582 self.txtInfo.append("########## Disc number: "+str(self.var_disc_n)+"##########")
533 self.txtInfo.append("------Creating iso file number: "+str(self.var_disc_n))
583 self.txtInfo.append("------Creating iso file number: "+str(self.var_disc_n))
534
584
535 var_cmd = functions.cmd_iso(self)
585 var_cmd = functions.cmd_iso(self)
536
586
537 if self.var_real_show_cmd == True:
587 if self.var_real_show_cmd == True:
538 self.txtInfo.append("CMD: "+var_cmd)
588 self.txtInfo.append("CMD: "+var_cmd)
539
589
540 if self.var_real_iso == False:
590 if self.var_real_iso == False:
541 self.txtInfo.append('**function_iso')
591 self.txtInfo.append('**function_iso')
542 var_cmd="echo 'function_iso'"
592 var_cmd="echo 'function_iso'"
543
593
544 self.process_iso.start(var_cmd)
594 self.process_iso.start(var_cmd)
545
595
546 def function_burn(self):
596 def function_burn(self):
547 #Grabacion de los DVDs
597 #Grabacion de los DVDs
548
598
549 if self.var_step == 1:
599 if self.var_step == 1:
550 self.txtInfo.append("------Recording disc: "+str(self.var_disc_n)+", copy:"+str(self.var_copy_n))
600 self.txtInfo.append("------Recording disc: "+str(self.var_disc_n)+", copy:"+str(self.var_copy_n))
551 functions2.update_message(1, "BURNING", self)
601 functions2.update_message(1, "BURNING", self)
552
602
553 var_cmd = functions.cmd_burn(self)
603 var_cmd = functions.cmd_burn(self)
554
604
555 if self.var_real_show_cmd == True:
605 if self.var_real_show_cmd == True:
556 self.txtInfo.append("CMD: "+var_cmd)
606 self.txtInfo.append("CMD: "+var_cmd)
557
607
558 if self.var_real_burn == False:
608 if self.var_real_burn == False:
559 self.txtInfo.append('**function_burn')
609 self.txtInfo.append('**function_burn')
560 var_cmd="echo 'function_burn'"
610 var_cmd="echo 'function_burn'"
561
611
562 self.process_burn.start(var_cmd)
612 self.process_burn.start(var_cmd)
563
613
564 def function_check(self):
614 def function_check(self):
565 #Verificacion de los discos
615 #Verificacion de los discos
566 if self.var_step == 2:
616 if self.var_step == 2:
567 self.txtInfo.append("-----------checking disc:"+str(self.var_disc_n)+", copy:"+str(self.var_copy_n))
617 self.txtInfo.append("-----------checking disc:"+str(self.var_disc_n)+", copy:"+str(self.var_copy_n))
568
618
569 functions2.eject_one_device(self)
619 functions2.eject_one_device(self)
570 functions2.eject_t_one_device(self)
620 functions2.eject_t_one_device(self)
571 self.txtInfo.append("Waiting ...")
621 self.txtInfo.append("Waiting ...")
572 time .sleep(20)
622 time .sleep(20)
573
623
574 functions2.update_message(2, "CHECKING", self)
624 functions2.update_message(2, "CHECKING", self)
575
625
576 dev_sr = functions2.get_dev_sr(self)
626 dev_sr = functions2.get_dev_sr(self)
577 var_cmd = functions.cmd_check(dev_sr, self)
627 var_cmd = functions.cmd_check(dev_sr, self)
578
628
579 if self.var_real_show_cmd == True:
629 if self.var_real_show_cmd == True:
580 self.txtInfo.append("CMD: "+var_cmd)
630 self.txtInfo.append("CMD: "+var_cmd)
581
631
582 if self.var_real_check == False:
632 if self.var_real_check == False:
583 self.txtInfo.append('**function_check')
633 self.txtInfo.append('**function_check')
584 var_cmd="echo 'function_check'"
634 var_cmd="echo 'function_check'"
585
635
586 self.process_check.start(var_cmd)
636 self.process_check.start(var_cmd)
587
637
588 #OK
638 #OK
589 def function_eject(self):
639 def function_eject(self):
590 self.txtInfo.append("Ejecting recording devices")
640 self.txtInfo.append("Ejecting recording devices")
591 self.txtInfo.append("Please insert blank discs")
641 self.txtInfo.append("Please insert blank discs")
592
642
593 if self.var_real_eject == True:
643 if self.var_real_eject == True:
594 functions2.eject_devices(self) # Expulsa las bandejas de los dispostivos de grabacion
644 functions2.eject_devices(self) # Expulsa las bandejas de los dispostivos de grabacion
595 else:
645 else:
596 self.txtInfo.append("**functions2.eject_devices")
646 self.txtInfo.append("**functions2.eject_devices")
597
647
598 self.btnStartburn.setText("Continue")
648 self.btnStartburn.setText("Continue")
599 self.btnStartburn.setEnabled(True)
649 self.btnStartburn.setEnabled(True)
600
650
601 if self.bool_first_iso == True:
651 if self.bool_first_iso == True:
602 self.bool_first_iso = False
652 self.bool_first_iso = False
603 self.var_step = 0
653 self.var_step = 0
604
654
605 elif self.var_copy_n == 1:
655 elif self.var_copy_n == 1:
606 self.var_step = 0
656 self.var_step = 0
607
657
608 else:
658 else:
609 self.var_step = 1
659 self.var_step = 1
610
660
611 def function_final(self):
661 def function_final(self):
612 self.txtInfo.append("Recording process is complete")
662 self.txtInfo.append("Recording process is complete")
613 if os.path.isfile("parameters.conf"):
663 if os.path.isfile("parameters.conf"):
614 os.remove("parameters.conf")
664 os.remove("parameters.conf")
615 if os.path.isfile("burning.conf"):
665 if os.path.isfile("burning.conf"):
616 os.remove("burning.conf")
666 os.remove("burning.conf")
617
667
618
668
619
669
620 #----------------------------------------------------- Detener proceso de grabacion ---------------------------------------------------------------
670 #----------------------------------------------------- Detener proceso de grabacion ---------------------------------------------------------------
621
671
622 @pyqtSignature("")
672 @pyqtSignature("")
623 def on_btnStopburn_clicked(self):
673 def on_btnStopburn_clicked(self):
624 """
674 """
625 Slot documentation goes here.
675 Slot documentation goes here.
626 """
676 """
627 self.bool_state_burning = False
677 self.bool_state_burning = False
628
678
629 if self.var_step == 0:
679 if self.var_step == 0:
630 self.process_iso.terminate() #Termina el proceso, si puede
680 self.process_iso.terminate() #Termina el proceso, si puede
631 # self.process_iso.kill() #Mata el proceso, no es la forma adecuada, solo usar si terminate() no funciona
681 # self.process_iso.kill() #Mata el proceso, no es la forma adecuada, solo usar si terminate() no funciona
632 elif self.var_step == 1:
682 elif self.var_step == 1:
633 self.process_burn.terminate()
683 self.process_burn.terminate()
634 elif self.var_step == 2:
684 elif self.var_step == 2:
635 self.process_check.terminate()
685 self.process_check.terminate()
636
686
637 self.txtInfo.append("Stopped recording")
687 self.txtInfo.append("Stopped recording")
638 functions2.enabled_items2(False, self)
688 functions2.enabled_items2(False, self)
639 self.bool_first_iso = True
689 self.bool_first_iso = True
640
690
641
691
642
692
643 #==============================================================================
693 #==============================================================================
644 # Proceso verificacion manual
694 # Proceso verificacion manual
645 #==============================================================================
695 #==============================================================================
646
696
647
697
648 #----------------------------------------------------- Proceso de verificaion manual ---------------------------------------------------------------
698 #----------------------------------------------------- Proceso de verificaion manual ---------------------------------------------------------------
649
699
650
700
651 @pyqtSignature("")
701 @pyqtSignature("")
652 def on_btnTDpath_clicked(self):
702 def on_btnTDpath_clicked(self):
653 """
703 """
654 Slot documentation goes here.
704 Slot documentation goes here.
655 """
705 """
656 self.var_TDpath= str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
706 self.var_TDpath= str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
657 self.txtTDpath.setText(self.var_TDpath)
707 self.txtTDpath.setText(self.var_TDpath)
658 self.statusTDpath = functions.dir_exists(self.var_TDpath, self)
708 self.statusTDpath = functions.dir_exists(self.var_TDpath, self)
709 if self.statusTDpath:
710 self.btnCHstart.setEnabled(True)
659
711
660
712
661 @pyqtSignature("")
713 @pyqtSignature("")
662 def on_btnCHstart_clicked(self):
714 def on_btnCHstart_clicked(self):
663 """
715 """
664 Slot documentation goes here.
716 Slot documentation goes here.
665 """
717 """
666 pass
718 list_dirs = functions2.mounted_devices()
719 if list_dirs == "FATAL ERROR":
720 self.txtInfo.append("ERROR")
721 return
722
723 for i in list_dirs:
724 self.txtInfo.append(i)
725
726 self.list_check_dirs = list_dirs #contiene los directorios donde estan montados los discos a verificar
727 self.var_n_check_dirs = 0
728 self.bool_state_manual_check = True
729
730 self.btnTDpath.setEnabled(False) #Deshabilito el boton que permite cambiar la ruta de verificacion
731 self.btnCHstart.setText("STOP") #Cambio el texto del boton
732
733 self.function_manual_check()
734
735
736 def function_manual_check(self):
737
738 #Verificacion de los discos
739 if self.bool_state_manual_check == True:
740
741 self.txtInfo.append("-----------manually checking disc: "+self.var_n_check_dirs
742 +" data"+self.list_check_dirs[self.var_n_check_dirs])
743
744 functions2.update_message(2, "CHECKING", self, index=self.var_n_check_dirs)
745
746 var_data_dir = self.list_check_dirs[self.var_n_check_dirs] #Carpeta donde esta montado el disco actual
747
748 var_cmd = functions.cmd_manual_check(var_data_dir, self.var_TDpath)
749
750 if self.var_real_show_cmd == True:
751 self.txtInfo.append("CMD: "+var_cmd)
752
753 if self.var_real_manual_check == False:
754 self.txtInfo.append('**function_manual_check')
755 var_cmd="echo 'function_manual_check'"
756
757 self.process_manual_check.start(var_cmd)
758
@@ -1,58 +1,58
1 # -*- coding: utf-8 -*-
1 # -*- coding: utf-8 -*-
2
2
3 # Form implementation generated from reading ui file '/home/ricardoar/JRO_SVN/eric4/jro_backup_manager/ui/About.ui'
3 # Form implementation generated from reading ui file '/home/ricardoar/JRO_SVN/eric4/jro_backup_manager/ui/About.ui'
4 #
4 #
5 # Created: Tue May 25 00:54:30 2010
5 # Created: Wed May 26 16:31:58 2010
6 # by: PyQt4 UI code generator 4.7.2
6 # by: PyQt4 UI code generator 4.6
7 #
7 #
8 # WARNING! All changes made in this file will be lost!
8 # WARNING! All changes made in this file will be lost!
9
9
10 from PyQt4 import QtCore, QtGui
10 from PyQt4 import QtCore, QtGui
11
11
12 class Ui_About(object):
12 class Ui_About(object):
13 def setupUi(self, About):
13 def setupUi(self, About):
14 About.setObjectName("About")
14 About.setObjectName("About")
15 About.resize(250, 230)
15 About.resize(250, 230)
16 About.setMinimumSize(QtCore.QSize(250, 230))
16 About.setMinimumSize(QtCore.QSize(250, 230))
17 About.setMaximumSize(QtCore.QSize(250, 230))
17 About.setMaximumSize(QtCore.QSize(250, 230))
18 self.verticalLayout = QtGui.QVBoxLayout(About)
18 self.verticalLayout = QtGui.QVBoxLayout(About)
19 self.verticalLayout.setObjectName("verticalLayout")
19 self.verticalLayout.setObjectName("verticalLayout")
20 self.textEdit = QtGui.QTextEdit(About)
20 self.textEdit = QtGui.QTextEdit(About)
21 self.textEdit.setMaximumSize(QtCore.QSize(16777215, 16777215))
21 self.textEdit.setMaximumSize(QtCore.QSize(16777215, 16777215))
22 self.textEdit.setReadOnly(True)
22 self.textEdit.setReadOnly(True)
23 self.textEdit.setObjectName("textEdit")
23 self.textEdit.setObjectName("textEdit")
24 self.verticalLayout.addWidget(self.textEdit)
24 self.verticalLayout.addWidget(self.textEdit)
25 self.btnOK = QtGui.QPushButton(About)
25 self.btnOK = QtGui.QPushButton(About)
26 self.btnOK.setObjectName("btnOK")
26 self.btnOK.setObjectName("btnOK")
27 self.verticalLayout.addWidget(self.btnOK)
27 self.verticalLayout.addWidget(self.btnOK)
28
28
29 self.retranslateUi(About)
29 self.retranslateUi(About)
30 QtCore.QObject.connect(self.btnOK, QtCore.SIGNAL("clicked()"), About.close)
30 QtCore.QObject.connect(self.btnOK, QtCore.SIGNAL("clicked()"), About.close)
31 QtCore.QMetaObject.connectSlotsByName(About)
31 QtCore.QMetaObject.connectSlotsByName(About)
32
32
33 def retranslateUi(self, About):
33 def retranslateUi(self, About):
34 About.setWindowTitle(QtGui.QApplication.translate("About", "About", None, QtGui.QApplication.UnicodeUTF8))
34 About.setWindowTitle(QtGui.QApplication.translate("About", "About", None, QtGui.QApplication.UnicodeUTF8))
35 self.textEdit.setHtml(QtGui.QApplication.translate("About", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
35 self.textEdit.setHtml(QtGui.QApplication.translate("About", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
36 "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
36 "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
37 "p, li { white-space: pre-wrap; }\n"
37 "p, li { white-space: pre-wrap; }\n"
38 "</style></head><body style=\" font-family:\'Sans\'; font-size:10pt; font-weight:400; font-style:normal;\">\n"
38 "</style></head><body style=\" font-family:\'Sans\'; font-size:10pt; font-weight:400; font-style:normal;\">\n"
39 "<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-weight:600;\">JRO BACKUP MANAGER</span></p>\n"
39 "<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-weight:600;\">JRO BACKUP MANAGER</span></p>\n"
40 "<p align=\"center\" style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;\"></p>\n"
40 "<p align=\"center\" style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;\"></p>\n"
41 "<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-style:italic;\">Author:</span></p>\n"
41 "<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-style:italic;\">Author:</span></p>\n"
42 "<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-style:italic;\">Ricardo Farino Alonso Rondón</span></p>\n"
42 "<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-style:italic;\">Ricardo Farino Alonso Rondón</span></p>\n"
43 "<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-style:italic;\">ricardo.alonso@jro.igp.gob.pe</span></p>\n"
43 "<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-style:italic;\">ricardo.alonso@jro.igp.gob.pe</span></p>\n"
44 "<p align=\"center\" style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-style:italic;\"></p>\n"
44 "<p align=\"center\" style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-style:italic;\"></p>\n"
45 "<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-style:italic;\">Jicamarca Radio Observatory</span></p>\n"
45 "<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-style:italic;\">Jicamarca Radio Observatory</span></p>\n"
46 "<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-style:italic;\">Jicamarca - May 2010</span></p></body></html>", None, QtGui.QApplication.UnicodeUTF8))
46 "<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-style:italic;\">Jicamarca - May 2010</span></p></body></html>", None, QtGui.QApplication.UnicodeUTF8))
47 self.btnOK.setText(QtGui.QApplication.translate("About", "OK", None, QtGui.QApplication.UnicodeUTF8))
47 self.btnOK.setText(QtGui.QApplication.translate("About", "OK", None, QtGui.QApplication.UnicodeUTF8))
48
48
49
49
50 if __name__ == "__main__":
50 if __name__ == "__main__":
51 import sys
51 import sys
52 app = QtGui.QApplication(sys.argv)
52 app = QtGui.QApplication(sys.argv)
53 About = QtGui.QDialog()
53 About = QtGui.QDialog()
54 ui = Ui_About()
54 ui = Ui_About()
55 ui.setupUi(About)
55 ui.setupUi(About)
56 About.show()
56 About.show()
57 sys.exit(app.exec_())
57 sys.exit(app.exec_())
58
58
@@ -1,708 +1,709
1 # -*- coding: utf-8 -*-
1 # -*- coding: utf-8 -*-
2
2
3 # Form implementation generated from reading ui file '/home/ricardoar/JRO_SVN/eric4/jro_backup_manager/ui/MainWindow.ui'
3 # Form implementation generated from reading ui file '/home/ricardoar/JRO_SVN/eric4/jro_backup_manager/ui/MainWindow.ui'
4 #
4 #
5 # Created: Tue May 25 00:54:29 2010
5 # Created: Wed May 26 16:31:57 2010
6 # by: PyQt4 UI code generator 4.7.2
6 # by: PyQt4 UI code generator 4.6
7 #
7 #
8 # WARNING! All changes made in this file will be lost!
8 # WARNING! All changes made in this file will be lost!
9
9
10 from PyQt4 import QtCore, QtGui
10 from PyQt4 import QtCore, QtGui
11
11
12 class Ui_MainWindow(object):
12 class Ui_MainWindow(object):
13 def setupUi(self, MainWindow):
13 def setupUi(self, MainWindow):
14 MainWindow.setObjectName("MainWindow")
14 MainWindow.setObjectName("MainWindow")
15 MainWindow.resize(621, 717)
15 MainWindow.resize(824, 717)
16 self.centralwidget = QtGui.QWidget(MainWindow)
16 self.centralwidget = QtGui.QWidget(MainWindow)
17 self.centralwidget.setObjectName("centralwidget")
17 self.centralwidget.setObjectName("centralwidget")
18 self.verticalLayout = QtGui.QVBoxLayout(self.centralwidget)
18 self.verticalLayout = QtGui.QVBoxLayout(self.centralwidget)
19 self.verticalLayout.setObjectName("verticalLayout")
19 self.verticalLayout.setObjectName("verticalLayout")
20 self.tabWidget = QtGui.QTabWidget(self.centralwidget)
20 self.tabWidget = QtGui.QTabWidget(self.centralwidget)
21 self.tabWidget.setEnabled(True)
21 self.tabWidget.setEnabled(True)
22 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
22 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
23 sizePolicy.setHorizontalStretch(0)
23 sizePolicy.setHorizontalStretch(0)
24 sizePolicy.setVerticalStretch(0)
24 sizePolicy.setVerticalStretch(0)
25 sizePolicy.setHeightForWidth(self.tabWidget.sizePolicy().hasHeightForWidth())
25 sizePolicy.setHeightForWidth(self.tabWidget.sizePolicy().hasHeightForWidth())
26 self.tabWidget.setSizePolicy(sizePolicy)
26 self.tabWidget.setSizePolicy(sizePolicy)
27 self.tabWidget.setObjectName("tabWidget")
27 self.tabWidget.setObjectName("tabWidget")
28 self.tabParameters = QtGui.QWidget()
28 self.tabParameters = QtGui.QWidget()
29 self.tabParameters.setEnabled(True)
29 self.tabParameters.setEnabled(True)
30 self.tabParameters.setObjectName("tabParameters")
30 self.tabParameters.setObjectName("tabParameters")
31 self.verticalLayout_2 = QtGui.QVBoxLayout(self.tabParameters)
31 self.verticalLayout_2 = QtGui.QVBoxLayout(self.tabParameters)
32 self.verticalLayout_2.setObjectName("verticalLayout_2")
32 self.verticalLayout_2.setObjectName("verticalLayout_2")
33 self.horizontalLayout = QtGui.QHBoxLayout()
33 self.horizontalLayout = QtGui.QHBoxLayout()
34 self.horizontalLayout.setSizeConstraint(QtGui.QLayout.SetDefaultConstraint)
34 self.horizontalLayout.setSizeConstraint(QtGui.QLayout.SetDefaultConstraint)
35 self.horizontalLayout.setObjectName("horizontalLayout")
35 self.horizontalLayout.setObjectName("horizontalLayout")
36 self.txtDpath = QtGui.QLineEdit(self.tabParameters)
36 self.txtDpath = QtGui.QLineEdit(self.tabParameters)
37 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
37 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
38 sizePolicy.setHorizontalStretch(0)
38 sizePolicy.setHorizontalStretch(0)
39 sizePolicy.setVerticalStretch(0)
39 sizePolicy.setVerticalStretch(0)
40 sizePolicy.setHeightForWidth(self.txtDpath.sizePolicy().hasHeightForWidth())
40 sizePolicy.setHeightForWidth(self.txtDpath.sizePolicy().hasHeightForWidth())
41 self.txtDpath.setSizePolicy(sizePolicy)
41 self.txtDpath.setSizePolicy(sizePolicy)
42 self.txtDpath.setObjectName("txtDpath")
42 self.txtDpath.setObjectName("txtDpath")
43 self.horizontalLayout.addWidget(self.txtDpath)
43 self.horizontalLayout.addWidget(self.txtDpath)
44 self.btnDpath = QtGui.QPushButton(self.tabParameters)
44 self.btnDpath = QtGui.QPushButton(self.tabParameters)
45 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
45 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
46 sizePolicy.setHorizontalStretch(0)
46 sizePolicy.setHorizontalStretch(0)
47 sizePolicy.setVerticalStretch(0)
47 sizePolicy.setVerticalStretch(0)
48 sizePolicy.setHeightForWidth(self.btnDpath.sizePolicy().hasHeightForWidth())
48 sizePolicy.setHeightForWidth(self.btnDpath.sizePolicy().hasHeightForWidth())
49 self.btnDpath.setSizePolicy(sizePolicy)
49 self.btnDpath.setSizePolicy(sizePolicy)
50 self.btnDpath.setCheckable(False)
50 self.btnDpath.setCheckable(False)
51 self.btnDpath.setObjectName("btnDpath")
51 self.btnDpath.setObjectName("btnDpath")
52 self.horizontalLayout.addWidget(self.btnDpath)
52 self.horizontalLayout.addWidget(self.btnDpath)
53 self.verticalLayout_2.addLayout(self.horizontalLayout)
53 self.verticalLayout_2.addLayout(self.horizontalLayout)
54 self.horizontalLayout_3 = QtGui.QHBoxLayout()
54 self.horizontalLayout_3 = QtGui.QHBoxLayout()
55 self.horizontalLayout_3.setObjectName("horizontalLayout_3")
55 self.horizontalLayout_3.setObjectName("horizontalLayout_3")
56 self.txtRpath = QtGui.QLineEdit(self.tabParameters)
56 self.txtRpath = QtGui.QLineEdit(self.tabParameters)
57 self.txtRpath.setObjectName("txtRpath")
57 self.txtRpath.setObjectName("txtRpath")
58 self.horizontalLayout_3.addWidget(self.txtRpath)
58 self.horizontalLayout_3.addWidget(self.txtRpath)
59 self.btnRpath = QtGui.QPushButton(self.tabParameters)
59 self.btnRpath = QtGui.QPushButton(self.tabParameters)
60 self.btnRpath.setObjectName("btnRpath")
60 self.btnRpath.setObjectName("btnRpath")
61 self.horizontalLayout_3.addWidget(self.btnRpath)
61 self.horizontalLayout_3.addWidget(self.btnRpath)
62 self.verticalLayout_2.addLayout(self.horizontalLayout_3)
62 self.verticalLayout_2.addLayout(self.horizontalLayout_3)
63 self.lblDtype = QtGui.QLabel(self.tabParameters)
63 self.lblDtype = QtGui.QLabel(self.tabParameters)
64 self.lblDtype.setObjectName("lblDtype")
64 self.lblDtype.setObjectName("lblDtype")
65 self.verticalLayout_2.addWidget(self.lblDtype)
65 self.verticalLayout_2.addWidget(self.lblDtype)
66 self.horizontalLayout_4 = QtGui.QHBoxLayout()
66 self.horizontalLayout_4 = QtGui.QHBoxLayout()
67 self.horizontalLayout_4.setObjectName("horizontalLayout_4")
67 self.horizontalLayout_4.setObjectName("horizontalLayout_4")
68 self.lstDtype = QtGui.QComboBox(self.tabParameters)
68 self.lstDtype = QtGui.QComboBox(self.tabParameters)
69 self.lstDtype.setObjectName("lstDtype")
69 self.lstDtype.setObjectName("lstDtype")
70 self.lstDtype.addItem("")
70 self.lstDtype.addItem("")
71 self.lstDtype.addItem("")
71 self.lstDtype.addItem("")
72 self.lstDtype.addItem("")
72 self.lstDtype.addItem("")
73 self.lstDtype.addItem("")
73 self.lstDtype.addItem("")
74 self.horizontalLayout_4.addWidget(self.lstDtype)
74 self.horizontalLayout_4.addWidget(self.lstDtype)
75 self.txtDtype = QtGui.QLineEdit(self.tabParameters)
75 self.txtDtype = QtGui.QLineEdit(self.tabParameters)
76 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed)
76 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed)
77 sizePolicy.setHorizontalStretch(0)
77 sizePolicy.setHorizontalStretch(0)
78 sizePolicy.setVerticalStretch(0)
78 sizePolicy.setVerticalStretch(0)
79 sizePolicy.setHeightForWidth(self.txtDtype.sizePolicy().hasHeightForWidth())
79 sizePolicy.setHeightForWidth(self.txtDtype.sizePolicy().hasHeightForWidth())
80 self.txtDtype.setSizePolicy(sizePolicy)
80 self.txtDtype.setSizePolicy(sizePolicy)
81 self.txtDtype.setReadOnly(True)
81 self.txtDtype.setReadOnly(True)
82 self.txtDtype.setObjectName("txtDtype")
82 self.txtDtype.setObjectName("txtDtype")
83 self.horizontalLayout_4.addWidget(self.txtDtype)
83 self.horizontalLayout_4.addWidget(self.txtDtype)
84 spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
84 spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
85 self.horizontalLayout_4.addItem(spacerItem)
85 self.horizontalLayout_4.addItem(spacerItem)
86 self.verticalLayout_2.addLayout(self.horizontalLayout_4)
86 self.verticalLayout_2.addLayout(self.horizontalLayout_4)
87 self.horizontalLayout_6 = QtGui.QHBoxLayout()
87 self.horizontalLayout_6 = QtGui.QHBoxLayout()
88 self.horizontalLayout_6.setObjectName("horizontalLayout_6")
88 self.horizontalLayout_6.setObjectName("horizontalLayout_6")
89 self.lblElabel = QtGui.QLabel(self.tabParameters)
89 self.lblElabel = QtGui.QLabel(self.tabParameters)
90 self.lblElabel.setObjectName("lblElabel")
90 self.lblElabel.setObjectName("lblElabel")
91 self.horizontalLayout_6.addWidget(self.lblElabel)
91 self.horizontalLayout_6.addWidget(self.lblElabel)
92 self.lblCopys = QtGui.QLabel(self.tabParameters)
92 self.lblCopys = QtGui.QLabel(self.tabParameters)
93 self.lblCopys.setObjectName("lblCopys")
93 self.lblCopys.setObjectName("lblCopys")
94 self.horizontalLayout_6.addWidget(self.lblCopys)
94 self.horizontalLayout_6.addWidget(self.lblCopys)
95 self.verticalLayout_2.addLayout(self.horizontalLayout_6)
95 self.verticalLayout_2.addLayout(self.horizontalLayout_6)
96 self.horizontalLayout_5 = QtGui.QHBoxLayout()
96 self.horizontalLayout_5 = QtGui.QHBoxLayout()
97 self.horizontalLayout_5.setObjectName("horizontalLayout_5")
97 self.horizontalLayout_5.setObjectName("horizontalLayout_5")
98 self.txtElabel = QtGui.QLineEdit(self.tabParameters)
98 self.txtElabel = QtGui.QLineEdit(self.tabParameters)
99 self.txtElabel.setObjectName("txtElabel")
99 self.txtElabel.setObjectName("txtElabel")
100 self.horizontalLayout_5.addWidget(self.txtElabel)
100 self.horizontalLayout_5.addWidget(self.txtElabel)
101 self.txtCopys = QtGui.QSpinBox(self.tabParameters)
101 self.txtCopys = QtGui.QSpinBox(self.tabParameters)
102 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
102 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
103 sizePolicy.setHorizontalStretch(0)
103 sizePolicy.setHorizontalStretch(0)
104 sizePolicy.setVerticalStretch(0)
104 sizePolicy.setVerticalStretch(0)
105 sizePolicy.setHeightForWidth(self.txtCopys.sizePolicy().hasHeightForWidth())
105 sizePolicy.setHeightForWidth(self.txtCopys.sizePolicy().hasHeightForWidth())
106 self.txtCopys.setSizePolicy(sizePolicy)
106 self.txtCopys.setSizePolicy(sizePolicy)
107 self.txtCopys.setMinimum(1)
107 self.txtCopys.setMinimum(1)
108 self.txtCopys.setObjectName("txtCopys")
108 self.txtCopys.setObjectName("txtCopys")
109 self.horizontalLayout_5.addWidget(self.txtCopys)
109 self.horizontalLayout_5.addWidget(self.txtCopys)
110 self.verticalLayout_2.addLayout(self.horizontalLayout_5)
110 self.verticalLayout_2.addLayout(self.horizontalLayout_5)
111 self.horizontalLayout_7 = QtGui.QHBoxLayout()
111 self.horizontalLayout_7 = QtGui.QHBoxLayout()
112 self.horizontalLayout_7.setObjectName("horizontalLayout_7")
112 self.horizontalLayout_7.setObjectName("horizontalLayout_7")
113 self.lblStartDay = QtGui.QLabel(self.tabParameters)
113 self.lblStartDay = QtGui.QLabel(self.tabParameters)
114 self.lblStartDay.setObjectName("lblStartDay")
114 self.lblStartDay.setObjectName("lblStartDay")
115 self.horizontalLayout_7.addWidget(self.lblStartDay)
115 self.horizontalLayout_7.addWidget(self.lblStartDay)
116 self.lblStopDay = QtGui.QLabel(self.tabParameters)
116 self.lblStopDay = QtGui.QLabel(self.tabParameters)
117 self.lblStopDay.setObjectName("lblStopDay")
117 self.lblStopDay.setObjectName("lblStopDay")
118 self.horizontalLayout_7.addWidget(self.lblStopDay)
118 self.horizontalLayout_7.addWidget(self.lblStopDay)
119 self.verticalLayout_2.addLayout(self.horizontalLayout_7)
119 self.verticalLayout_2.addLayout(self.horizontalLayout_7)
120 self.horizontalLayout_8 = QtGui.QHBoxLayout()
120 self.horizontalLayout_8 = QtGui.QHBoxLayout()
121 self.horizontalLayout_8.setObjectName("horizontalLayout_8")
121 self.horizontalLayout_8.setObjectName("horizontalLayout_8")
122 self.lstStartDay = QtGui.QComboBox(self.tabParameters)
122 self.lstStartDay = QtGui.QComboBox(self.tabParameters)
123 self.lstStartDay.setObjectName("lstStartDay")
123 self.lstStartDay.setObjectName("lstStartDay")
124 self.horizontalLayout_8.addWidget(self.lstStartDay)
124 self.horizontalLayout_8.addWidget(self.lstStartDay)
125 self.lstStopDay = QtGui.QComboBox(self.tabParameters)
125 self.lstStopDay = QtGui.QComboBox(self.tabParameters)
126 self.lstStopDay.setObjectName("lstStopDay")
126 self.lstStopDay.setObjectName("lstStopDay")
127 self.horizontalLayout_8.addWidget(self.lstStopDay)
127 self.horizontalLayout_8.addWidget(self.lstStopDay)
128 self.verticalLayout_2.addLayout(self.horizontalLayout_8)
128 self.verticalLayout_2.addLayout(self.horizontalLayout_8)
129 self.tabWidget.addTab(self.tabParameters, "")
129 self.tabWidget.addTab(self.tabParameters, "")
130 self.tabDconfig = QtGui.QWidget()
130 self.tabDconfig = QtGui.QWidget()
131 self.tabDconfig.setEnabled(True)
131 self.tabDconfig.setEnabled(True)
132 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
132 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
133 sizePolicy.setHorizontalStretch(0)
133 sizePolicy.setHorizontalStretch(0)
134 sizePolicy.setVerticalStretch(0)
134 sizePolicy.setVerticalStretch(0)
135 sizePolicy.setHeightForWidth(self.tabDconfig.sizePolicy().hasHeightForWidth())
135 sizePolicy.setHeightForWidth(self.tabDconfig.sizePolicy().hasHeightForWidth())
136 self.tabDconfig.setSizePolicy(sizePolicy)
136 self.tabDconfig.setSizePolicy(sizePolicy)
137 self.tabDconfig.setObjectName("tabDconfig")
137 self.tabDconfig.setObjectName("tabDconfig")
138 self.verticalLayout_3 = QtGui.QVBoxLayout(self.tabDconfig)
138 self.verticalLayout_3 = QtGui.QVBoxLayout(self.tabDconfig)
139 self.verticalLayout_3.setObjectName("verticalLayout_3")
139 self.verticalLayout_3.setObjectName("verticalLayout_3")
140 self.horizontalLayout_12 = QtGui.QHBoxLayout()
140 self.horizontalLayout_12 = QtGui.QHBoxLayout()
141 self.horizontalLayout_12.setObjectName("horizontalLayout_12")
141 self.horizontalLayout_12.setObjectName("horizontalLayout_12")
142 self.verticalLayout_15 = QtGui.QVBoxLayout()
142 self.verticalLayout_15 = QtGui.QVBoxLayout()
143 self.verticalLayout_15.setObjectName("verticalLayout_15")
143 self.verticalLayout_15.setObjectName("verticalLayout_15")
144 self.chkDevA = QtGui.QCheckBox(self.tabDconfig)
144 self.chkDevA = QtGui.QCheckBox(self.tabDconfig)
145 self.chkDevA.setChecked(True)
145 self.chkDevA.setChecked(True)
146 self.chkDevA.setObjectName("chkDevA")
146 self.chkDevA.setObjectName("chkDevA")
147 self.verticalLayout_15.addWidget(self.chkDevA)
147 self.verticalLayout_15.addWidget(self.chkDevA)
148 self.grpDevA = QtGui.QWidget(self.tabDconfig)
148 self.grpDevA = QtGui.QWidget(self.tabDconfig)
149 self.grpDevA.setObjectName("grpDevA")
149 self.grpDevA.setObjectName("grpDevA")
150 self.verticalLayout_11 = QtGui.QVBoxLayout(self.grpDevA)
150 self.verticalLayout_11 = QtGui.QVBoxLayout(self.grpDevA)
151 self.verticalLayout_11.setObjectName("verticalLayout_11")
151 self.verticalLayout_11.setObjectName("verticalLayout_11")
152 self.txtDeviceA = QtGui.QLineEdit(self.grpDevA)
152 self.txtDeviceA = QtGui.QLineEdit(self.grpDevA)
153 self.txtDeviceA.setReadOnly(True)
153 self.txtDeviceA.setReadOnly(True)
154 self.txtDeviceA.setObjectName("txtDeviceA")
154 self.txtDeviceA.setObjectName("txtDeviceA")
155 self.verticalLayout_11.addWidget(self.txtDeviceA)
155 self.verticalLayout_11.addWidget(self.txtDeviceA)
156 self.txtBspeedA = QtGui.QSpinBox(self.grpDevA)
156 self.txtBspeedA = QtGui.QSpinBox(self.grpDevA)
157 self.txtBspeedA.setReadOnly(True)
157 self.txtBspeedA.setReadOnly(True)
158 self.txtBspeedA.setMinimum(1)
158 self.txtBspeedA.setMinimum(1)
159 self.txtBspeedA.setProperty("value", 16)
159 self.txtBspeedA.setProperty("value", 16)
160 self.txtBspeedA.setObjectName("txtBspeedA")
160 self.txtBspeedA.setObjectName("txtBspeedA")
161 self.verticalLayout_11.addWidget(self.txtBspeedA)
161 self.verticalLayout_11.addWidget(self.txtBspeedA)
162 self.txtBmodeA = QtGui.QLineEdit(self.grpDevA)
162 self.txtBmodeA = QtGui.QLineEdit(self.grpDevA)
163 self.txtBmodeA.setReadOnly(True)
163 self.txtBmodeA.setReadOnly(True)
164 self.txtBmodeA.setObjectName("txtBmodeA")
164 self.txtBmodeA.setObjectName("txtBmodeA")
165 self.verticalLayout_11.addWidget(self.txtBmodeA)
165 self.verticalLayout_11.addWidget(self.txtBmodeA)
166 self.btnTdevA = QtGui.QPushButton(self.grpDevA)
166 self.btnTdevA = QtGui.QPushButton(self.grpDevA)
167 self.btnTdevA.setObjectName("btnTdevA")
167 self.btnTdevA.setObjectName("btnTdevA")
168 self.verticalLayout_11.addWidget(self.btnTdevA)
168 self.verticalLayout_11.addWidget(self.btnTdevA)
169 self.verticalLayout_15.addWidget(self.grpDevA)
169 self.verticalLayout_15.addWidget(self.grpDevA)
170 self.horizontalLayout_12.addLayout(self.verticalLayout_15)
170 self.horizontalLayout_12.addLayout(self.verticalLayout_15)
171 self.verticalLayout_16 = QtGui.QVBoxLayout()
171 self.verticalLayout_16 = QtGui.QVBoxLayout()
172 self.verticalLayout_16.setObjectName("verticalLayout_16")
172 self.verticalLayout_16.setObjectName("verticalLayout_16")
173 self.chkDevB = QtGui.QCheckBox(self.tabDconfig)
173 self.chkDevB = QtGui.QCheckBox(self.tabDconfig)
174 self.chkDevB.setChecked(True)
174 self.chkDevB.setChecked(True)
175 self.chkDevB.setObjectName("chkDevB")
175 self.chkDevB.setObjectName("chkDevB")
176 self.verticalLayout_16.addWidget(self.chkDevB)
176 self.verticalLayout_16.addWidget(self.chkDevB)
177 self.grpDevB = QtGui.QWidget(self.tabDconfig)
177 self.grpDevB = QtGui.QWidget(self.tabDconfig)
178 self.grpDevB.setObjectName("grpDevB")
178 self.grpDevB.setObjectName("grpDevB")
179 self.verticalLayout_12 = QtGui.QVBoxLayout(self.grpDevB)
179 self.verticalLayout_12 = QtGui.QVBoxLayout(self.grpDevB)
180 self.verticalLayout_12.setObjectName("verticalLayout_12")
180 self.verticalLayout_12.setObjectName("verticalLayout_12")
181 self.txtDeviceB = QtGui.QLineEdit(self.grpDevB)
181 self.txtDeviceB = QtGui.QLineEdit(self.grpDevB)
182 self.txtDeviceB.setReadOnly(True)
182 self.txtDeviceB.setReadOnly(True)
183 self.txtDeviceB.setObjectName("txtDeviceB")
183 self.txtDeviceB.setObjectName("txtDeviceB")
184 self.verticalLayout_12.addWidget(self.txtDeviceB)
184 self.verticalLayout_12.addWidget(self.txtDeviceB)
185 self.txtBspeedB = QtGui.QSpinBox(self.grpDevB)
185 self.txtBspeedB = QtGui.QSpinBox(self.grpDevB)
186 self.txtBspeedB.setReadOnly(True)
186 self.txtBspeedB.setReadOnly(True)
187 self.txtBspeedB.setMinimum(1)
187 self.txtBspeedB.setMinimum(1)
188 self.txtBspeedB.setProperty("value", 16)
188 self.txtBspeedB.setProperty("value", 16)
189 self.txtBspeedB.setObjectName("txtBspeedB")
189 self.txtBspeedB.setObjectName("txtBspeedB")
190 self.verticalLayout_12.addWidget(self.txtBspeedB)
190 self.verticalLayout_12.addWidget(self.txtBspeedB)
191 self.txtBmodeB = QtGui.QLineEdit(self.grpDevB)
191 self.txtBmodeB = QtGui.QLineEdit(self.grpDevB)
192 self.txtBmodeB.setReadOnly(True)
192 self.txtBmodeB.setReadOnly(True)
193 self.txtBmodeB.setObjectName("txtBmodeB")
193 self.txtBmodeB.setObjectName("txtBmodeB")
194 self.verticalLayout_12.addWidget(self.txtBmodeB)
194 self.verticalLayout_12.addWidget(self.txtBmodeB)
195 self.btnTdevB = QtGui.QPushButton(self.grpDevB)
195 self.btnTdevB = QtGui.QPushButton(self.grpDevB)
196 self.btnTdevB.setObjectName("btnTdevB")
196 self.btnTdevB.setObjectName("btnTdevB")
197 self.verticalLayout_12.addWidget(self.btnTdevB)
197 self.verticalLayout_12.addWidget(self.btnTdevB)
198 self.verticalLayout_16.addWidget(self.grpDevB)
198 self.verticalLayout_16.addWidget(self.grpDevB)
199 self.horizontalLayout_12.addLayout(self.verticalLayout_16)
199 self.horizontalLayout_12.addLayout(self.verticalLayout_16)
200 self.verticalLayout_17 = QtGui.QVBoxLayout()
200 self.verticalLayout_17 = QtGui.QVBoxLayout()
201 self.verticalLayout_17.setObjectName("verticalLayout_17")
201 self.verticalLayout_17.setObjectName("verticalLayout_17")
202 self.chkDevC = QtGui.QCheckBox(self.tabDconfig)
202 self.chkDevC = QtGui.QCheckBox(self.tabDconfig)
203 self.chkDevC.setChecked(True)
203 self.chkDevC.setChecked(True)
204 self.chkDevC.setObjectName("chkDevC")
204 self.chkDevC.setObjectName("chkDevC")
205 self.verticalLayout_17.addWidget(self.chkDevC)
205 self.verticalLayout_17.addWidget(self.chkDevC)
206 self.grpDevC = QtGui.QWidget(self.tabDconfig)
206 self.grpDevC = QtGui.QWidget(self.tabDconfig)
207 self.grpDevC.setObjectName("grpDevC")
207 self.grpDevC.setObjectName("grpDevC")
208 self.verticalLayout_13 = QtGui.QVBoxLayout(self.grpDevC)
208 self.verticalLayout_13 = QtGui.QVBoxLayout(self.grpDevC)
209 self.verticalLayout_13.setObjectName("verticalLayout_13")
209 self.verticalLayout_13.setObjectName("verticalLayout_13")
210 self.txtDeviceC = QtGui.QLineEdit(self.grpDevC)
210 self.txtDeviceC = QtGui.QLineEdit(self.grpDevC)
211 self.txtDeviceC.setReadOnly(True)
211 self.txtDeviceC.setReadOnly(True)
212 self.txtDeviceC.setObjectName("txtDeviceC")
212 self.txtDeviceC.setObjectName("txtDeviceC")
213 self.verticalLayout_13.addWidget(self.txtDeviceC)
213 self.verticalLayout_13.addWidget(self.txtDeviceC)
214 self.txtBspeedC = QtGui.QSpinBox(self.grpDevC)
214 self.txtBspeedC = QtGui.QSpinBox(self.grpDevC)
215 self.txtBspeedC.setReadOnly(True)
215 self.txtBspeedC.setReadOnly(True)
216 self.txtBspeedC.setMinimum(1)
216 self.txtBspeedC.setMinimum(1)
217 self.txtBspeedC.setProperty("value", 16)
217 self.txtBspeedC.setProperty("value", 16)
218 self.txtBspeedC.setObjectName("txtBspeedC")
218 self.txtBspeedC.setObjectName("txtBspeedC")
219 self.verticalLayout_13.addWidget(self.txtBspeedC)
219 self.verticalLayout_13.addWidget(self.txtBspeedC)
220 self.txtBmodeC = QtGui.QLineEdit(self.grpDevC)
220 self.txtBmodeC = QtGui.QLineEdit(self.grpDevC)
221 self.txtBmodeC.setReadOnly(True)
221 self.txtBmodeC.setReadOnly(True)
222 self.txtBmodeC.setObjectName("txtBmodeC")
222 self.txtBmodeC.setObjectName("txtBmodeC")
223 self.verticalLayout_13.addWidget(self.txtBmodeC)
223 self.verticalLayout_13.addWidget(self.txtBmodeC)
224 self.btnTdevC = QtGui.QPushButton(self.grpDevC)
224 self.btnTdevC = QtGui.QPushButton(self.grpDevC)
225 self.btnTdevC.setObjectName("btnTdevC")
225 self.btnTdevC.setObjectName("btnTdevC")
226 self.verticalLayout_13.addWidget(self.btnTdevC)
226 self.verticalLayout_13.addWidget(self.btnTdevC)
227 self.verticalLayout_17.addWidget(self.grpDevC)
227 self.verticalLayout_17.addWidget(self.grpDevC)
228 self.horizontalLayout_12.addLayout(self.verticalLayout_17)
228 self.horizontalLayout_12.addLayout(self.verticalLayout_17)
229 self.verticalLayout_18 = QtGui.QVBoxLayout()
229 self.verticalLayout_18 = QtGui.QVBoxLayout()
230 self.verticalLayout_18.setObjectName("verticalLayout_18")
230 self.verticalLayout_18.setObjectName("verticalLayout_18")
231 self.chkDevD = QtGui.QCheckBox(self.tabDconfig)
231 self.chkDevD = QtGui.QCheckBox(self.tabDconfig)
232 self.chkDevD.setChecked(True)
232 self.chkDevD.setChecked(True)
233 self.chkDevD.setObjectName("chkDevD")
233 self.chkDevD.setObjectName("chkDevD")
234 self.verticalLayout_18.addWidget(self.chkDevD)
234 self.verticalLayout_18.addWidget(self.chkDevD)
235 self.grpDevD = QtGui.QWidget(self.tabDconfig)
235 self.grpDevD = QtGui.QWidget(self.tabDconfig)
236 self.grpDevD.setObjectName("grpDevD")
236 self.grpDevD.setObjectName("grpDevD")
237 self.verticalLayout_14 = QtGui.QVBoxLayout(self.grpDevD)
237 self.verticalLayout_14 = QtGui.QVBoxLayout(self.grpDevD)
238 self.verticalLayout_14.setObjectName("verticalLayout_14")
238 self.verticalLayout_14.setObjectName("verticalLayout_14")
239 self.txtDeviceD = QtGui.QLineEdit(self.grpDevD)
239 self.txtDeviceD = QtGui.QLineEdit(self.grpDevD)
240 self.txtDeviceD.setReadOnly(True)
240 self.txtDeviceD.setReadOnly(True)
241 self.txtDeviceD.setObjectName("txtDeviceD")
241 self.txtDeviceD.setObjectName("txtDeviceD")
242 self.verticalLayout_14.addWidget(self.txtDeviceD)
242 self.verticalLayout_14.addWidget(self.txtDeviceD)
243 self.txtBspeedD = QtGui.QSpinBox(self.grpDevD)
243 self.txtBspeedD = QtGui.QSpinBox(self.grpDevD)
244 self.txtBspeedD.setReadOnly(True)
244 self.txtBspeedD.setReadOnly(True)
245 self.txtBspeedD.setMinimum(1)
245 self.txtBspeedD.setMinimum(1)
246 self.txtBspeedD.setProperty("value", 16)
246 self.txtBspeedD.setProperty("value", 16)
247 self.txtBspeedD.setObjectName("txtBspeedD")
247 self.txtBspeedD.setObjectName("txtBspeedD")
248 self.verticalLayout_14.addWidget(self.txtBspeedD)
248 self.verticalLayout_14.addWidget(self.txtBspeedD)
249 self.txtBmodeD = QtGui.QLineEdit(self.grpDevD)
249 self.txtBmodeD = QtGui.QLineEdit(self.grpDevD)
250 self.txtBmodeD.setReadOnly(True)
250 self.txtBmodeD.setReadOnly(True)
251 self.txtBmodeD.setObjectName("txtBmodeD")
251 self.txtBmodeD.setObjectName("txtBmodeD")
252 self.verticalLayout_14.addWidget(self.txtBmodeD)
252 self.verticalLayout_14.addWidget(self.txtBmodeD)
253 self.btnTdevD = QtGui.QPushButton(self.grpDevD)
253 self.btnTdevD = QtGui.QPushButton(self.grpDevD)
254 self.btnTdevD.setObjectName("btnTdevD")
254 self.btnTdevD.setObjectName("btnTdevD")
255 self.verticalLayout_14.addWidget(self.btnTdevD)
255 self.verticalLayout_14.addWidget(self.btnTdevD)
256 self.verticalLayout_18.addWidget(self.grpDevD)
256 self.verticalLayout_18.addWidget(self.grpDevD)
257 self.horizontalLayout_12.addLayout(self.verticalLayout_18)
257 self.horizontalLayout_12.addLayout(self.verticalLayout_18)
258 self.verticalLayout_19 = QtGui.QVBoxLayout()
258 self.verticalLayout_19 = QtGui.QVBoxLayout()
259 self.verticalLayout_19.setObjectName("verticalLayout_19")
259 self.verticalLayout_19.setObjectName("verticalLayout_19")
260 spacerItem1 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
260 spacerItem1 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
261 self.verticalLayout_19.addItem(spacerItem1)
261 self.verticalLayout_19.addItem(spacerItem1)
262 self.grpDevD_2 = QtGui.QWidget(self.tabDconfig)
262 self.grpDevD_2 = QtGui.QWidget(self.tabDconfig)
263 self.grpDevD_2.setObjectName("grpDevD_2")
263 self.grpDevD_2.setObjectName("grpDevD_2")
264 self.verticalLayout_20 = QtGui.QVBoxLayout(self.grpDevD_2)
264 self.verticalLayout_20 = QtGui.QVBoxLayout(self.grpDevD_2)
265 self.verticalLayout_20.setObjectName("verticalLayout_20")
265 self.verticalLayout_20.setObjectName("verticalLayout_20")
266 self.lblDevice = QtGui.QLabel(self.grpDevD_2)
266 self.lblDevice = QtGui.QLabel(self.grpDevD_2)
267 self.lblDevice.setObjectName("lblDevice")
267 self.lblDevice.setObjectName("lblDevice")
268 self.verticalLayout_20.addWidget(self.lblDevice)
268 self.verticalLayout_20.addWidget(self.lblDevice)
269 self.lblBspeed = QtGui.QLabel(self.grpDevD_2)
269 self.lblBspeed = QtGui.QLabel(self.grpDevD_2)
270 self.lblBspeed.setObjectName("lblBspeed")
270 self.lblBspeed.setObjectName("lblBspeed")
271 self.verticalLayout_20.addWidget(self.lblBspeed)
271 self.verticalLayout_20.addWidget(self.lblBspeed)
272 self.lblBmode = QtGui.QLabel(self.grpDevD_2)
272 self.lblBmode = QtGui.QLabel(self.grpDevD_2)
273 self.lblBmode.setObjectName("lblBmode")
273 self.lblBmode.setObjectName("lblBmode")
274 self.verticalLayout_20.addWidget(self.lblBmode)
274 self.verticalLayout_20.addWidget(self.lblBmode)
275 spacerItem2 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed)
275 spacerItem2 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed)
276 self.verticalLayout_20.addItem(spacerItem2)
276 self.verticalLayout_20.addItem(spacerItem2)
277 self.verticalLayout_19.addWidget(self.grpDevD_2)
277 self.verticalLayout_19.addWidget(self.grpDevD_2)
278 self.horizontalLayout_12.addLayout(self.verticalLayout_19)
278 self.horizontalLayout_12.addLayout(self.verticalLayout_19)
279 self.verticalLayout_3.addLayout(self.horizontalLayout_12)
279 self.verticalLayout_3.addLayout(self.horizontalLayout_12)
280 spacerItem3 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
280 spacerItem3 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
281 self.verticalLayout_3.addItem(spacerItem3)
281 self.verticalLayout_3.addItem(spacerItem3)
282 self.horizontalLayout_11 = QtGui.QHBoxLayout()
282 self.horizontalLayout_11 = QtGui.QHBoxLayout()
283 self.horizontalLayout_11.setSpacing(6)
283 self.horizontalLayout_11.setSpacing(6)
284 self.horizontalLayout_11.setSizeConstraint(QtGui.QLayout.SetDefaultConstraint)
284 self.horizontalLayout_11.setSizeConstraint(QtGui.QLayout.SetDefaultConstraint)
285 self.horizontalLayout_11.setObjectName("horizontalLayout_11")
285 self.horizontalLayout_11.setObjectName("horizontalLayout_11")
286 self.lblDcapacity = QtGui.QLabel(self.tabDconfig)
286 self.lblDcapacity = QtGui.QLabel(self.tabDconfig)
287 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
287 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
288 sizePolicy.setHorizontalStretch(0)
288 sizePolicy.setHorizontalStretch(0)
289 sizePolicy.setVerticalStretch(0)
289 sizePolicy.setVerticalStretch(0)
290 sizePolicy.setHeightForWidth(self.lblDcapacity.sizePolicy().hasHeightForWidth())
290 sizePolicy.setHeightForWidth(self.lblDcapacity.sizePolicy().hasHeightForWidth())
291 self.lblDcapacity.setSizePolicy(sizePolicy)
291 self.lblDcapacity.setSizePolicy(sizePolicy)
292 self.lblDcapacity.setObjectName("lblDcapacity")
292 self.lblDcapacity.setObjectName("lblDcapacity")
293 self.horizontalLayout_11.addWidget(self.lblDcapacity)
293 self.horizontalLayout_11.addWidget(self.lblDcapacity)
294 spacerItem4 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
294 spacerItem4 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
295 self.horizontalLayout_11.addItem(spacerItem4)
295 self.horizontalLayout_11.addItem(spacerItem4)
296 self.verticalLayout_3.addLayout(self.horizontalLayout_11)
296 self.verticalLayout_3.addLayout(self.horizontalLayout_11)
297 self.horizontalLayout_10 = QtGui.QHBoxLayout()
297 self.horizontalLayout_10 = QtGui.QHBoxLayout()
298 self.horizontalLayout_10.setSizeConstraint(QtGui.QLayout.SetFixedSize)
298 self.horizontalLayout_10.setSizeConstraint(QtGui.QLayout.SetFixedSize)
299 self.horizontalLayout_10.setObjectName("horizontalLayout_10")
299 self.horizontalLayout_10.setObjectName("horizontalLayout_10")
300 self.lstDcapacity = QtGui.QComboBox(self.tabDconfig)
300 self.lstDcapacity = QtGui.QComboBox(self.tabDconfig)
301 self.lstDcapacity.setObjectName("lstDcapacity")
301 self.lstDcapacity.setObjectName("lstDcapacity")
302 self.lstDcapacity.addItem("")
302 self.lstDcapacity.addItem("")
303 self.lstDcapacity.addItem("")
303 self.lstDcapacity.addItem("")
304 self.lstDcapacity.addItem("")
304 self.lstDcapacity.addItem("")
305 self.lstDcapacity.addItem("")
305 self.lstDcapacity.addItem("")
306 self.lstDcapacity.addItem("")
306 self.lstDcapacity.addItem("")
307 self.horizontalLayout_10.addWidget(self.lstDcapacity)
307 self.horizontalLayout_10.addWidget(self.lstDcapacity)
308 self.txtDcapacity = QtGui.QDoubleSpinBox(self.tabDconfig)
308 self.txtDcapacity = QtGui.QDoubleSpinBox(self.tabDconfig)
309 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
309 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
310 sizePolicy.setHorizontalStretch(0)
310 sizePolicy.setHorizontalStretch(0)
311 sizePolicy.setVerticalStretch(0)
311 sizePolicy.setVerticalStretch(0)
312 sizePolicy.setHeightForWidth(self.txtDcapacity.sizePolicy().hasHeightForWidth())
312 sizePolicy.setHeightForWidth(self.txtDcapacity.sizePolicy().hasHeightForWidth())
313 self.txtDcapacity.setSizePolicy(sizePolicy)
313 self.txtDcapacity.setSizePolicy(sizePolicy)
314 self.txtDcapacity.setReadOnly(True)
314 self.txtDcapacity.setReadOnly(True)
315 self.txtDcapacity.setMinimum(100.0)
315 self.txtDcapacity.setMinimum(100.0)
316 self.txtDcapacity.setMaximum(99999.99)
316 self.txtDcapacity.setMaximum(99999.99)
317 self.txtDcapacity.setProperty("value", 4482.27)
317 self.txtDcapacity.setProperty("value", 4482.27)
318 self.txtDcapacity.setObjectName("txtDcapacity")
318 self.txtDcapacity.setObjectName("txtDcapacity")
319 self.horizontalLayout_10.addWidget(self.txtDcapacity)
319 self.horizontalLayout_10.addWidget(self.txtDcapacity)
320 spacerItem5 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
320 spacerItem5 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
321 self.horizontalLayout_10.addItem(spacerItem5)
321 self.horizontalLayout_10.addItem(spacerItem5)
322 self.lblPSgraphic = QtGui.QLabel(self.tabDconfig)
322 self.lblPSgraphic = QtGui.QLabel(self.tabDconfig)
323 self.lblPSgraphic.setObjectName("lblPSgraphic")
323 self.lblPSgraphic.setObjectName("lblPSgraphic")
324 self.horizontalLayout_10.addWidget(self.lblPSgraphic)
324 self.horizontalLayout_10.addWidget(self.lblPSgraphic)
325 self.txtPSgraphic = QtGui.QSpinBox(self.tabDconfig)
325 self.txtPSgraphic = QtGui.QSpinBox(self.tabDconfig)
326 self.txtPSgraphic.setMinimum(1)
326 self.txtPSgraphic.setMinimum(1)
327 self.txtPSgraphic.setMaximum(33)
327 self.txtPSgraphic.setMaximum(33)
328 self.txtPSgraphic.setObjectName("txtPSgraphic")
328 self.txtPSgraphic.setObjectName("txtPSgraphic")
329 self.horizontalLayout_10.addWidget(self.txtPSgraphic)
329 self.horizontalLayout_10.addWidget(self.txtPSgraphic)
330 self.verticalLayout_3.addLayout(self.horizontalLayout_10)
330 self.verticalLayout_3.addLayout(self.horizontalLayout_10)
331 self.tabWidget.addTab(self.tabDconfig, "")
331 self.tabWidget.addTab(self.tabDconfig, "")
332 self.tabStatus = QtGui.QWidget()
332 self.tabStatus = QtGui.QWidget()
333 self.tabStatus.setObjectName("tabStatus")
333 self.tabStatus.setObjectName("tabStatus")
334 self.verticalLayout_4 = QtGui.QVBoxLayout(self.tabStatus)
334 self.verticalLayout_4 = QtGui.QVBoxLayout(self.tabStatus)
335 self.verticalLayout_4.setObjectName("verticalLayout_4")
335 self.verticalLayout_4.setObjectName("verticalLayout_4")
336 self.horizontalLayout_18 = QtGui.QHBoxLayout()
336 self.horizontalLayout_18 = QtGui.QHBoxLayout()
337 self.horizontalLayout_18.setObjectName("horizontalLayout_18")
337 self.horizontalLayout_18.setObjectName("horizontalLayout_18")
338 self.verticalLayout_21 = QtGui.QVBoxLayout()
338 self.verticalLayout_21 = QtGui.QVBoxLayout()
339 self.verticalLayout_21.setObjectName("verticalLayout_21")
339 self.verticalLayout_21.setObjectName("verticalLayout_21")
340 self.label_4 = QtGui.QLabel(self.tabStatus)
340 self.label_4 = QtGui.QLabel(self.tabStatus)
341 self.label_4.setObjectName("label_4")
341 self.label_4.setObjectName("label_4")
342 self.verticalLayout_21.addWidget(self.label_4)
342 self.verticalLayout_21.addWidget(self.label_4)
343 spacerItem6 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
343 spacerItem6 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
344 self.verticalLayout_21.addItem(spacerItem6)
344 self.verticalLayout_21.addItem(spacerItem6)
345 self.lblSTATUS = QtGui.QLabel(self.tabStatus)
345 self.lblSTATUS = QtGui.QLabel(self.tabStatus)
346 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
346 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
347 sizePolicy.setHorizontalStretch(0)
347 sizePolicy.setHorizontalStretch(0)
348 sizePolicy.setVerticalStretch(0)
348 sizePolicy.setVerticalStretch(0)
349 sizePolicy.setHeightForWidth(self.lblSTATUS.sizePolicy().hasHeightForWidth())
349 sizePolicy.setHeightForWidth(self.lblSTATUS.sizePolicy().hasHeightForWidth())
350 self.lblSTATUS.setSizePolicy(sizePolicy)
350 self.lblSTATUS.setSizePolicy(sizePolicy)
351 self.lblSTATUS.setObjectName("lblSTATUS")
351 self.lblSTATUS.setObjectName("lblSTATUS")
352 self.verticalLayout_21.addWidget(self.lblSTATUS)
352 self.verticalLayout_21.addWidget(self.lblSTATUS)
353 self.lblINFO = QtGui.QLabel(self.tabStatus)
353 self.lblINFO = QtGui.QLabel(self.tabStatus)
354 self.lblINFO.setObjectName("lblINFO")
354 self.lblINFO.setObjectName("lblINFO")
355 self.verticalLayout_21.addWidget(self.lblINFO)
355 self.verticalLayout_21.addWidget(self.lblINFO)
356 self.lblSET = QtGui.QLabel(self.tabStatus)
356 self.lblSET = QtGui.QLabel(self.tabStatus)
357 self.lblSET.setObjectName("lblSET")
357 self.lblSET.setObjectName("lblSET")
358 self.verticalLayout_21.addWidget(self.lblSET)
358 self.verticalLayout_21.addWidget(self.lblSET)
359 self.horizontalLayout_18.addLayout(self.verticalLayout_21)
359 self.horizontalLayout_18.addLayout(self.verticalLayout_21)
360 self.verticalLayout_22 = QtGui.QVBoxLayout()
360 self.verticalLayout_22 = QtGui.QVBoxLayout()
361 self.verticalLayout_22.setObjectName("verticalLayout_22")
361 self.verticalLayout_22.setObjectName("verticalLayout_22")
362 spacerItem7 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
362 spacerItem7 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
363 self.verticalLayout_22.addItem(spacerItem7)
363 self.verticalLayout_22.addItem(spacerItem7)
364 self.lblDevA = QtGui.QLabel(self.tabStatus)
364 self.lblDevA = QtGui.QLabel(self.tabStatus)
365 self.lblDevA.setAlignment(QtCore.Qt.AlignCenter)
365 self.lblDevA.setAlignment(QtCore.Qt.AlignCenter)
366 self.lblDevA.setObjectName("lblDevA")
366 self.lblDevA.setObjectName("lblDevA")
367 self.verticalLayout_22.addWidget(self.lblDevA)
367 self.verticalLayout_22.addWidget(self.lblDevA)
368 self.txtBstatusA = QtGui.QLineEdit(self.tabStatus)
368 self.txtBstatusA = QtGui.QLineEdit(self.tabStatus)
369 self.txtBstatusA.setReadOnly(True)
369 self.txtBstatusA.setReadOnly(True)
370 self.txtBstatusA.setObjectName("txtBstatusA")
370 self.txtBstatusA.setObjectName("txtBstatusA")
371 self.verticalLayout_22.addWidget(self.txtBstatusA)
371 self.verticalLayout_22.addWidget(self.txtBstatusA)
372 self.txtBdiscA = QtGui.QLineEdit(self.tabStatus)
372 self.txtBdiscA = QtGui.QLineEdit(self.tabStatus)
373 self.txtBdiscA.setReadOnly(True)
373 self.txtBdiscA.setReadOnly(True)
374 self.txtBdiscA.setObjectName("txtBdiscA")
374 self.txtBdiscA.setObjectName("txtBdiscA")
375 self.verticalLayout_22.addWidget(self.txtBdiscA)
375 self.verticalLayout_22.addWidget(self.txtBdiscA)
376 self.txtBcopyA = QtGui.QLineEdit(self.tabStatus)
376 self.txtBcopyA = QtGui.QLineEdit(self.tabStatus)
377 self.txtBcopyA.setReadOnly(True)
377 self.txtBcopyA.setReadOnly(True)
378 self.txtBcopyA.setObjectName("txtBcopyA")
378 self.txtBcopyA.setObjectName("txtBcopyA")
379 self.verticalLayout_22.addWidget(self.txtBcopyA)
379 self.verticalLayout_22.addWidget(self.txtBcopyA)
380 self.horizontalLayout_18.addLayout(self.verticalLayout_22)
380 self.horizontalLayout_18.addLayout(self.verticalLayout_22)
381 self.verticalLayout_23 = QtGui.QVBoxLayout()
381 self.verticalLayout_23 = QtGui.QVBoxLayout()
382 self.verticalLayout_23.setObjectName("verticalLayout_23")
382 self.verticalLayout_23.setObjectName("verticalLayout_23")
383 spacerItem8 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
383 spacerItem8 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
384 self.verticalLayout_23.addItem(spacerItem8)
384 self.verticalLayout_23.addItem(spacerItem8)
385 self.lblDevB = QtGui.QLabel(self.tabStatus)
385 self.lblDevB = QtGui.QLabel(self.tabStatus)
386 self.lblDevB.setAlignment(QtCore.Qt.AlignCenter)
386 self.lblDevB.setAlignment(QtCore.Qt.AlignCenter)
387 self.lblDevB.setObjectName("lblDevB")
387 self.lblDevB.setObjectName("lblDevB")
388 self.verticalLayout_23.addWidget(self.lblDevB)
388 self.verticalLayout_23.addWidget(self.lblDevB)
389 self.txtBstatusB = QtGui.QLineEdit(self.tabStatus)
389 self.txtBstatusB = QtGui.QLineEdit(self.tabStatus)
390 self.txtBstatusB.setReadOnly(True)
390 self.txtBstatusB.setReadOnly(True)
391 self.txtBstatusB.setObjectName("txtBstatusB")
391 self.txtBstatusB.setObjectName("txtBstatusB")
392 self.verticalLayout_23.addWidget(self.txtBstatusB)
392 self.verticalLayout_23.addWidget(self.txtBstatusB)
393 self.txtBdiscB = QtGui.QLineEdit(self.tabStatus)
393 self.txtBdiscB = QtGui.QLineEdit(self.tabStatus)
394 self.txtBdiscB.setReadOnly(True)
394 self.txtBdiscB.setReadOnly(True)
395 self.txtBdiscB.setObjectName("txtBdiscB")
395 self.txtBdiscB.setObjectName("txtBdiscB")
396 self.verticalLayout_23.addWidget(self.txtBdiscB)
396 self.verticalLayout_23.addWidget(self.txtBdiscB)
397 self.txtBcopyB = QtGui.QLineEdit(self.tabStatus)
397 self.txtBcopyB = QtGui.QLineEdit(self.tabStatus)
398 self.txtBcopyB.setReadOnly(True)
398 self.txtBcopyB.setReadOnly(True)
399 self.txtBcopyB.setObjectName("txtBcopyB")
399 self.txtBcopyB.setObjectName("txtBcopyB")
400 self.verticalLayout_23.addWidget(self.txtBcopyB)
400 self.verticalLayout_23.addWidget(self.txtBcopyB)
401 self.horizontalLayout_18.addLayout(self.verticalLayout_23)
401 self.horizontalLayout_18.addLayout(self.verticalLayout_23)
402 self.verticalLayout_24 = QtGui.QVBoxLayout()
402 self.verticalLayout_24 = QtGui.QVBoxLayout()
403 self.verticalLayout_24.setObjectName("verticalLayout_24")
403 self.verticalLayout_24.setObjectName("verticalLayout_24")
404 spacerItem9 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
404 spacerItem9 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
405 self.verticalLayout_24.addItem(spacerItem9)
405 self.verticalLayout_24.addItem(spacerItem9)
406 self.lblDevC = QtGui.QLabel(self.tabStatus)
406 self.lblDevC = QtGui.QLabel(self.tabStatus)
407 self.lblDevC.setAlignment(QtCore.Qt.AlignCenter)
407 self.lblDevC.setAlignment(QtCore.Qt.AlignCenter)
408 self.lblDevC.setObjectName("lblDevC")
408 self.lblDevC.setObjectName("lblDevC")
409 self.verticalLayout_24.addWidget(self.lblDevC)
409 self.verticalLayout_24.addWidget(self.lblDevC)
410 self.txtBstatusC = QtGui.QLineEdit(self.tabStatus)
410 self.txtBstatusC = QtGui.QLineEdit(self.tabStatus)
411 self.txtBstatusC.setReadOnly(True)
411 self.txtBstatusC.setReadOnly(True)
412 self.txtBstatusC.setObjectName("txtBstatusC")
412 self.txtBstatusC.setObjectName("txtBstatusC")
413 self.verticalLayout_24.addWidget(self.txtBstatusC)
413 self.verticalLayout_24.addWidget(self.txtBstatusC)
414 self.txtBdiscC = QtGui.QLineEdit(self.tabStatus)
414 self.txtBdiscC = QtGui.QLineEdit(self.tabStatus)
415 self.txtBdiscC.setReadOnly(True)
415 self.txtBdiscC.setReadOnly(True)
416 self.txtBdiscC.setObjectName("txtBdiscC")
416 self.txtBdiscC.setObjectName("txtBdiscC")
417 self.verticalLayout_24.addWidget(self.txtBdiscC)
417 self.verticalLayout_24.addWidget(self.txtBdiscC)
418 self.txtBcopyC = QtGui.QLineEdit(self.tabStatus)
418 self.txtBcopyC = QtGui.QLineEdit(self.tabStatus)
419 self.txtBcopyC.setReadOnly(True)
419 self.txtBcopyC.setReadOnly(True)
420 self.txtBcopyC.setObjectName("txtBcopyC")
420 self.txtBcopyC.setObjectName("txtBcopyC")
421 self.verticalLayout_24.addWidget(self.txtBcopyC)
421 self.verticalLayout_24.addWidget(self.txtBcopyC)
422 self.horizontalLayout_18.addLayout(self.verticalLayout_24)
422 self.horizontalLayout_18.addLayout(self.verticalLayout_24)
423 self.verticalLayout_25 = QtGui.QVBoxLayout()
423 self.verticalLayout_25 = QtGui.QVBoxLayout()
424 self.verticalLayout_25.setObjectName("verticalLayout_25")
424 self.verticalLayout_25.setObjectName("verticalLayout_25")
425 spacerItem10 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
425 spacerItem10 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
426 self.verticalLayout_25.addItem(spacerItem10)
426 self.verticalLayout_25.addItem(spacerItem10)
427 self.lblDevD = QtGui.QLabel(self.tabStatus)
427 self.lblDevD = QtGui.QLabel(self.tabStatus)
428 self.lblDevD.setAlignment(QtCore.Qt.AlignCenter)
428 self.lblDevD.setAlignment(QtCore.Qt.AlignCenter)
429 self.lblDevD.setObjectName("lblDevD")
429 self.lblDevD.setObjectName("lblDevD")
430 self.verticalLayout_25.addWidget(self.lblDevD)
430 self.verticalLayout_25.addWidget(self.lblDevD)
431 self.txtBstatusD = QtGui.QLineEdit(self.tabStatus)
431 self.txtBstatusD = QtGui.QLineEdit(self.tabStatus)
432 self.txtBstatusD.setReadOnly(True)
432 self.txtBstatusD.setReadOnly(True)
433 self.txtBstatusD.setObjectName("txtBstatusD")
433 self.txtBstatusD.setObjectName("txtBstatusD")
434 self.verticalLayout_25.addWidget(self.txtBstatusD)
434 self.verticalLayout_25.addWidget(self.txtBstatusD)
435 self.txtBdiscD = QtGui.QLineEdit(self.tabStatus)
435 self.txtBdiscD = QtGui.QLineEdit(self.tabStatus)
436 self.txtBdiscD.setReadOnly(True)
436 self.txtBdiscD.setReadOnly(True)
437 self.txtBdiscD.setObjectName("txtBdiscD")
437 self.txtBdiscD.setObjectName("txtBdiscD")
438 self.verticalLayout_25.addWidget(self.txtBdiscD)
438 self.verticalLayout_25.addWidget(self.txtBdiscD)
439 self.txtBcopyD = QtGui.QLineEdit(self.tabStatus)
439 self.txtBcopyD = QtGui.QLineEdit(self.tabStatus)
440 self.txtBcopyD.setReadOnly(True)
440 self.txtBcopyD.setReadOnly(True)
441 self.txtBcopyD.setObjectName("txtBcopyD")
441 self.txtBcopyD.setObjectName("txtBcopyD")
442 self.verticalLayout_25.addWidget(self.txtBcopyD)
442 self.verticalLayout_25.addWidget(self.txtBcopyD)
443 self.horizontalLayout_18.addLayout(self.verticalLayout_25)
443 self.horizontalLayout_18.addLayout(self.verticalLayout_25)
444 self.verticalLayout_4.addLayout(self.horizontalLayout_18)
444 self.verticalLayout_4.addLayout(self.horizontalLayout_18)
445 spacerItem11 = QtGui.QSpacerItem(20, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed)
445 spacerItem11 = QtGui.QSpacerItem(20, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed)
446 self.verticalLayout_4.addItem(spacerItem11)
446 self.verticalLayout_4.addItem(spacerItem11)
447 self.horizontalLayout_16 = QtGui.QHBoxLayout()
447 self.horizontalLayout_16 = QtGui.QHBoxLayout()
448 self.horizontalLayout_16.setObjectName("horizontalLayout_16")
448 self.horizontalLayout_16.setObjectName("horizontalLayout_16")
449 self.label = QtGui.QLabel(self.tabStatus)
449 self.label = QtGui.QLabel(self.tabStatus)
450 self.label.setObjectName("label")
450 self.label.setObjectName("label")
451 self.horizontalLayout_16.addWidget(self.label)
451 self.horizontalLayout_16.addWidget(self.label)
452 spacerItem12 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
452 spacerItem12 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
453 self.horizontalLayout_16.addItem(spacerItem12)
453 self.horizontalLayout_16.addItem(spacerItem12)
454 self.verticalLayout_4.addLayout(self.horizontalLayout_16)
454 self.verticalLayout_4.addLayout(self.horizontalLayout_16)
455 self.horizontalLayout_17 = QtGui.QHBoxLayout()
455 self.horizontalLayout_17 = QtGui.QHBoxLayout()
456 self.horizontalLayout_17.setObjectName("horizontalLayout_17")
456 self.horizontalLayout_17.setObjectName("horizontalLayout_17")
457 spacerItem13 = QtGui.QSpacerItem(50, 20, QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Minimum)
457 spacerItem13 = QtGui.QSpacerItem(50, 20, QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Minimum)
458 self.horizontalLayout_17.addItem(spacerItem13)
458 self.horizontalLayout_17.addItem(spacerItem13)
459 self.txtTDpath = QtGui.QLineEdit(self.tabStatus)
459 self.txtTDpath = QtGui.QLineEdit(self.tabStatus)
460 self.txtTDpath.setEnabled(False)
460 self.txtTDpath.setEnabled(False)
461 self.txtTDpath.setReadOnly(True)
461 self.txtTDpath.setObjectName("txtTDpath")
462 self.txtTDpath.setObjectName("txtTDpath")
462 self.horizontalLayout_17.addWidget(self.txtTDpath)
463 self.horizontalLayout_17.addWidget(self.txtTDpath)
463 self.btnTDpath = QtGui.QPushButton(self.tabStatus)
464 self.btnTDpath = QtGui.QPushButton(self.tabStatus)
464 self.btnTDpath.setEnabled(False)
465 self.btnTDpath.setEnabled(False)
465 self.btnTDpath.setObjectName("btnTDpath")
466 self.btnTDpath.setObjectName("btnTDpath")
466 self.horizontalLayout_17.addWidget(self.btnTDpath)
467 self.horizontalLayout_17.addWidget(self.btnTDpath)
467 self.verticalLayout_4.addLayout(self.horizontalLayout_17)
468 self.verticalLayout_4.addLayout(self.horizontalLayout_17)
468 self.horizontalLayout_19 = QtGui.QHBoxLayout()
469 self.horizontalLayout_19 = QtGui.QHBoxLayout()
469 self.horizontalLayout_19.setObjectName("horizontalLayout_19")
470 self.horizontalLayout_19.setObjectName("horizontalLayout_19")
470 self.verticalLayout_26 = QtGui.QVBoxLayout()
471 self.verticalLayout_26 = QtGui.QVBoxLayout()
471 self.verticalLayout_26.setObjectName("verticalLayout_26")
472 self.verticalLayout_26.setObjectName("verticalLayout_26")
472 spacerItem14 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
473 spacerItem14 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
473 self.verticalLayout_26.addItem(spacerItem14)
474 self.verticalLayout_26.addItem(spacerItem14)
474 self.lblSTATUS_2 = QtGui.QLabel(self.tabStatus)
475 self.lblSTATUS_2 = QtGui.QLabel(self.tabStatus)
475 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
476 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
476 sizePolicy.setHorizontalStretch(0)
477 sizePolicy.setHorizontalStretch(0)
477 sizePolicy.setVerticalStretch(0)
478 sizePolicy.setVerticalStretch(0)
478 sizePolicy.setHeightForWidth(self.lblSTATUS_2.sizePolicy().hasHeightForWidth())
479 sizePolicy.setHeightForWidth(self.lblSTATUS_2.sizePolicy().hasHeightForWidth())
479 self.lblSTATUS_2.setSizePolicy(sizePolicy)
480 self.lblSTATUS_2.setSizePolicy(sizePolicy)
480 self.lblSTATUS_2.setObjectName("lblSTATUS_2")
481 self.lblSTATUS_2.setObjectName("lblSTATUS_2")
481 self.verticalLayout_26.addWidget(self.lblSTATUS_2)
482 self.verticalLayout_26.addWidget(self.lblSTATUS_2)
482 self.horizontalLayout_19.addLayout(self.verticalLayout_26)
483 self.horizontalLayout_19.addLayout(self.verticalLayout_26)
483 self.verticalLayout_27 = QtGui.QVBoxLayout()
484 self.verticalLayout_27 = QtGui.QVBoxLayout()
484 self.verticalLayout_27.setObjectName("verticalLayout_27")
485 self.verticalLayout_27.setObjectName("verticalLayout_27")
485 self.lblDevA_2 = QtGui.QLabel(self.tabStatus)
486 self.lblDevA_2 = QtGui.QLabel(self.tabStatus)
486 self.lblDevA_2.setAlignment(QtCore.Qt.AlignCenter)
487 self.lblDevA_2.setAlignment(QtCore.Qt.AlignCenter)
487 self.lblDevA_2.setObjectName("lblDevA_2")
488 self.lblDevA_2.setObjectName("lblDevA_2")
488 self.verticalLayout_27.addWidget(self.lblDevA_2)
489 self.verticalLayout_27.addWidget(self.lblDevA_2)
489 self.txtCHstatusA = QtGui.QLineEdit(self.tabStatus)
490 self.txtCHstatusA = QtGui.QLineEdit(self.tabStatus)
490 self.txtCHstatusA.setReadOnly(True)
491 self.txtCHstatusA.setReadOnly(True)
491 self.txtCHstatusA.setObjectName("txtCHstatusA")
492 self.txtCHstatusA.setObjectName("txtCHstatusA")
492 self.verticalLayout_27.addWidget(self.txtCHstatusA)
493 self.verticalLayout_27.addWidget(self.txtCHstatusA)
493 self.horizontalLayout_19.addLayout(self.verticalLayout_27)
494 self.horizontalLayout_19.addLayout(self.verticalLayout_27)
494 self.verticalLayout_28 = QtGui.QVBoxLayout()
495 self.verticalLayout_28 = QtGui.QVBoxLayout()
495 self.verticalLayout_28.setObjectName("verticalLayout_28")
496 self.verticalLayout_28.setObjectName("verticalLayout_28")
496 self.lblDevB_2 = QtGui.QLabel(self.tabStatus)
497 self.lblDevB_2 = QtGui.QLabel(self.tabStatus)
497 self.lblDevB_2.setAlignment(QtCore.Qt.AlignCenter)
498 self.lblDevB_2.setAlignment(QtCore.Qt.AlignCenter)
498 self.lblDevB_2.setObjectName("lblDevB_2")
499 self.lblDevB_2.setObjectName("lblDevB_2")
499 self.verticalLayout_28.addWidget(self.lblDevB_2)
500 self.verticalLayout_28.addWidget(self.lblDevB_2)
500 self.txtCHstatusB = QtGui.QLineEdit(self.tabStatus)
501 self.txtCHstatusB = QtGui.QLineEdit(self.tabStatus)
501 self.txtCHstatusB.setReadOnly(True)
502 self.txtCHstatusB.setReadOnly(True)
502 self.txtCHstatusB.setObjectName("txtCHstatusB")
503 self.txtCHstatusB.setObjectName("txtCHstatusB")
503 self.verticalLayout_28.addWidget(self.txtCHstatusB)
504 self.verticalLayout_28.addWidget(self.txtCHstatusB)
504 self.horizontalLayout_19.addLayout(self.verticalLayout_28)
505 self.horizontalLayout_19.addLayout(self.verticalLayout_28)
505 self.verticalLayout_29 = QtGui.QVBoxLayout()
506 self.verticalLayout_29 = QtGui.QVBoxLayout()
506 self.verticalLayout_29.setObjectName("verticalLayout_29")
507 self.verticalLayout_29.setObjectName("verticalLayout_29")
507 self.lblDevC_2 = QtGui.QLabel(self.tabStatus)
508 self.lblDevC_2 = QtGui.QLabel(self.tabStatus)
508 self.lblDevC_2.setAlignment(QtCore.Qt.AlignCenter)
509 self.lblDevC_2.setAlignment(QtCore.Qt.AlignCenter)
509 self.lblDevC_2.setObjectName("lblDevC_2")
510 self.lblDevC_2.setObjectName("lblDevC_2")
510 self.verticalLayout_29.addWidget(self.lblDevC_2)
511 self.verticalLayout_29.addWidget(self.lblDevC_2)
511 self.txtCHstatusC = QtGui.QLineEdit(self.tabStatus)
512 self.txtCHstatusC = QtGui.QLineEdit(self.tabStatus)
512 self.txtCHstatusC.setReadOnly(True)
513 self.txtCHstatusC.setReadOnly(True)
513 self.txtCHstatusC.setObjectName("txtCHstatusC")
514 self.txtCHstatusC.setObjectName("txtCHstatusC")
514 self.verticalLayout_29.addWidget(self.txtCHstatusC)
515 self.verticalLayout_29.addWidget(self.txtCHstatusC)
515 self.horizontalLayout_19.addLayout(self.verticalLayout_29)
516 self.horizontalLayout_19.addLayout(self.verticalLayout_29)
516 self.verticalLayout_30 = QtGui.QVBoxLayout()
517 self.verticalLayout_30 = QtGui.QVBoxLayout()
517 self.verticalLayout_30.setObjectName("verticalLayout_30")
518 self.verticalLayout_30.setObjectName("verticalLayout_30")
518 self.lblDevD_2 = QtGui.QLabel(self.tabStatus)
519 self.lblDevD_2 = QtGui.QLabel(self.tabStatus)
519 self.lblDevD_2.setAlignment(QtCore.Qt.AlignCenter)
520 self.lblDevD_2.setAlignment(QtCore.Qt.AlignCenter)
520 self.lblDevD_2.setObjectName("lblDevD_2")
521 self.lblDevD_2.setObjectName("lblDevD_2")
521 self.verticalLayout_30.addWidget(self.lblDevD_2)
522 self.verticalLayout_30.addWidget(self.lblDevD_2)
522 self.txtCHstatusD = QtGui.QLineEdit(self.tabStatus)
523 self.txtCHstatusD = QtGui.QLineEdit(self.tabStatus)
523 self.txtCHstatusD.setReadOnly(True)
524 self.txtCHstatusD.setReadOnly(True)
524 self.txtCHstatusD.setObjectName("txtCHstatusD")
525 self.txtCHstatusD.setObjectName("txtCHstatusD")
525 self.verticalLayout_30.addWidget(self.txtCHstatusD)
526 self.verticalLayout_30.addWidget(self.txtCHstatusD)
526 self.horizontalLayout_19.addLayout(self.verticalLayout_30)
527 self.horizontalLayout_19.addLayout(self.verticalLayout_30)
527 self.verticalLayout_4.addLayout(self.horizontalLayout_19)
528 self.verticalLayout_4.addLayout(self.horizontalLayout_19)
528 self.horizontalLayout_20 = QtGui.QHBoxLayout()
529 self.horizontalLayout_20 = QtGui.QHBoxLayout()
529 self.horizontalLayout_20.setObjectName("horizontalLayout_20")
530 self.horizontalLayout_20.setObjectName("horizontalLayout_20")
530 spacerItem15 = QtGui.QSpacerItem(50, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
531 spacerItem15 = QtGui.QSpacerItem(50, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
531 self.horizontalLayout_20.addItem(spacerItem15)
532 self.horizontalLayout_20.addItem(spacerItem15)
532 self.chkCheck = QtGui.QCheckBox(self.tabStatus)
533 self.chkCheck = QtGui.QCheckBox(self.tabStatus)
533 self.chkCheck.setEnabled(True)
534 self.chkCheck.setEnabled(True)
534 self.chkCheck.setObjectName("chkCheck")
535 self.chkCheck.setObjectName("chkCheck")
535 self.horizontalLayout_20.addWidget(self.chkCheck)
536 self.horizontalLayout_20.addWidget(self.chkCheck)
536 spacerItem16 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
537 spacerItem16 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
537 self.horizontalLayout_20.addItem(spacerItem16)
538 self.horizontalLayout_20.addItem(spacerItem16)
538 self.btnCHstart = QtGui.QPushButton(self.tabStatus)
539 self.btnCHstart = QtGui.QPushButton(self.tabStatus)
539 self.btnCHstart.setEnabled(False)
540 self.btnCHstart.setEnabled(False)
540 self.btnCHstart.setObjectName("btnCHstart")
541 self.btnCHstart.setObjectName("btnCHstart")
541 self.horizontalLayout_20.addWidget(self.btnCHstart)
542 self.horizontalLayout_20.addWidget(self.btnCHstart)
542 self.verticalLayout_4.addLayout(self.horizontalLayout_20)
543 self.verticalLayout_4.addLayout(self.horizontalLayout_20)
543 self.tabWidget.addTab(self.tabStatus, "")
544 self.tabWidget.addTab(self.tabStatus, "")
544 self.verticalLayout.addWidget(self.tabWidget)
545 self.verticalLayout.addWidget(self.tabWidget)
545 self.txtInfo = QtGui.QTextEdit(self.centralwidget)
546 self.txtInfo = QtGui.QTextEdit(self.centralwidget)
546 self.txtInfo.setReadOnly(True)
547 self.txtInfo.setReadOnly(True)
547 self.txtInfo.setObjectName("txtInfo")
548 self.txtInfo.setObjectName("txtInfo")
548 self.verticalLayout.addWidget(self.txtInfo)
549 self.verticalLayout.addWidget(self.txtInfo)
549 self.txtProgress = QtGui.QLineEdit(self.centralwidget)
550 self.txtProgress = QtGui.QLineEdit(self.centralwidget)
550 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
551 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
551 sizePolicy.setHorizontalStretch(0)
552 sizePolicy.setHorizontalStretch(0)
552 sizePolicy.setVerticalStretch(0)
553 sizePolicy.setVerticalStretch(0)
553 sizePolicy.setHeightForWidth(self.txtProgress.sizePolicy().hasHeightForWidth())
554 sizePolicy.setHeightForWidth(self.txtProgress.sizePolicy().hasHeightForWidth())
554 self.txtProgress.setSizePolicy(sizePolicy)
555 self.txtProgress.setSizePolicy(sizePolicy)
555 self.txtProgress.setObjectName("txtProgress")
556 self.txtProgress.setObjectName("txtProgress")
556 self.verticalLayout.addWidget(self.txtProgress)
557 self.verticalLayout.addWidget(self.txtProgress)
557 self.horizontalLayout_2 = QtGui.QHBoxLayout()
558 self.horizontalLayout_2 = QtGui.QHBoxLayout()
558 self.horizontalLayout_2.setSizeConstraint(QtGui.QLayout.SetDefaultConstraint)
559 self.horizontalLayout_2.setSizeConstraint(QtGui.QLayout.SetDefaultConstraint)
559 self.horizontalLayout_2.setObjectName("horizontalLayout_2")
560 self.horizontalLayout_2.setObjectName("horizontalLayout_2")
560 self.btnGbkp = QtGui.QPushButton(self.centralwidget)
561 self.btnGbkp = QtGui.QPushButton(self.centralwidget)
561 self.btnGbkp.setEnabled(False)
562 self.btnGbkp.setEnabled(False)
562 self.btnGbkp.setObjectName("btnGbkp")
563 self.btnGbkp.setObjectName("btnGbkp")
563 self.horizontalLayout_2.addWidget(self.btnGbkp)
564 self.horizontalLayout_2.addWidget(self.btnGbkp)
564 self.btnRestart = QtGui.QPushButton(self.centralwidget)
565 self.btnRestart = QtGui.QPushButton(self.centralwidget)
565 self.btnRestart.setEnabled(False)
566 self.btnRestart.setEnabled(False)
566 self.btnRestart.setObjectName("btnRestart")
567 self.btnRestart.setObjectName("btnRestart")
567 self.horizontalLayout_2.addWidget(self.btnRestart)
568 self.horizontalLayout_2.addWidget(self.btnRestart)
568 self.btnStartburn = QtGui.QPushButton(self.centralwidget)
569 self.btnStartburn = QtGui.QPushButton(self.centralwidget)
569 self.btnStartburn.setEnabled(False)
570 self.btnStartburn.setEnabled(False)
570 self.btnStartburn.setObjectName("btnStartburn")
571 self.btnStartburn.setObjectName("btnStartburn")
571 self.horizontalLayout_2.addWidget(self.btnStartburn)
572 self.horizontalLayout_2.addWidget(self.btnStartburn)
572 self.btnStopburn = QtGui.QPushButton(self.centralwidget)
573 self.btnStopburn = QtGui.QPushButton(self.centralwidget)
573 self.btnStopburn.setEnabled(False)
574 self.btnStopburn.setEnabled(False)
574 self.btnStopburn.setObjectName("btnStopburn")
575 self.btnStopburn.setObjectName("btnStopburn")
575 self.horizontalLayout_2.addWidget(self.btnStopburn)
576 self.horizontalLayout_2.addWidget(self.btnStopburn)
576 self.verticalLayout.addLayout(self.horizontalLayout_2)
577 self.verticalLayout.addLayout(self.horizontalLayout_2)
577 MainWindow.setCentralWidget(self.centralwidget)
578 MainWindow.setCentralWidget(self.centralwidget)
578 self.menubar = QtGui.QMenuBar(MainWindow)
579 self.menubar = QtGui.QMenuBar(MainWindow)
579 self.menubar.setGeometry(QtCore.QRect(0, 0, 621, 21))
580 self.menubar.setGeometry(QtCore.QRect(0, 0, 824, 25))
580 self.menubar.setObjectName("menubar")
581 self.menubar.setObjectName("menubar")
581 self.menuFile = QtGui.QMenu(self.menubar)
582 self.menuFile = QtGui.QMenu(self.menubar)
582 self.menuFile.setObjectName("menuFile")
583 self.menuFile.setObjectName("menuFile")
583 self.menuHelp = QtGui.QMenu(self.menubar)
584 self.menuHelp = QtGui.QMenu(self.menubar)
584 self.menuHelp.setObjectName("menuHelp")
585 self.menuHelp.setObjectName("menuHelp")
585 self.menuParameters = QtGui.QMenu(self.menubar)
586 self.menuParameters = QtGui.QMenu(self.menubar)
586 self.menuParameters.setObjectName("menuParameters")
587 self.menuParameters.setObjectName("menuParameters")
587 MainWindow.setMenuBar(self.menubar)
588 MainWindow.setMenuBar(self.menubar)
588 self.statusbar = QtGui.QStatusBar(MainWindow)
589 self.statusbar = QtGui.QStatusBar(MainWindow)
589 self.statusbar.setObjectName("statusbar")
590 self.statusbar.setObjectName("statusbar")
590 MainWindow.setStatusBar(self.statusbar)
591 MainWindow.setStatusBar(self.statusbar)
591 self.actionChange_Parameters = QtGui.QAction(MainWindow)
592 self.actionChange_Parameters = QtGui.QAction(MainWindow)
592 self.actionChange_Parameters.setEnabled(False)
593 self.actionChange_Parameters.setEnabled(False)
593 self.actionChange_Parameters.setObjectName("actionChange_Parameters")
594 self.actionChange_Parameters.setObjectName("actionChange_Parameters")
594 self.actionQuit = QtGui.QAction(MainWindow)
595 self.actionQuit = QtGui.QAction(MainWindow)
595 self.actionQuit.setObjectName("actionQuit")
596 self.actionQuit.setObjectName("actionQuit")
596 self.actionAbout = QtGui.QAction(MainWindow)
597 self.actionAbout = QtGui.QAction(MainWindow)
597 self.actionAbout.setObjectName("actionAbout")
598 self.actionAbout.setObjectName("actionAbout")
598 self.menuFile.addAction(self.actionQuit)
599 self.menuFile.addAction(self.actionQuit)
599 self.menuHelp.addAction(self.actionAbout)
600 self.menuHelp.addAction(self.actionAbout)
600 self.menuParameters.addAction(self.actionChange_Parameters)
601 self.menuParameters.addAction(self.actionChange_Parameters)
601 self.menubar.addAction(self.menuFile.menuAction())
602 self.menubar.addAction(self.menuFile.menuAction())
602 self.menubar.addAction(self.menuParameters.menuAction())
603 self.menubar.addAction(self.menuParameters.menuAction())
603 self.menubar.addAction(self.menuHelp.menuAction())
604 self.menubar.addAction(self.menuHelp.menuAction())
604
605
605 self.retranslateUi(MainWindow)
606 self.retranslateUi(MainWindow)
606 self.tabWidget.setCurrentIndex(0)
607 self.tabWidget.setCurrentIndex(2)
607 self.lstDcapacity.setCurrentIndex(2)
608 self.lstDcapacity.setCurrentIndex(2)
608 QtCore.QObject.connect(self.actionQuit, QtCore.SIGNAL("triggered()"), MainWindow.close)
609 QtCore.QObject.connect(self.actionQuit, QtCore.SIGNAL("triggered()"), MainWindow.close)
609 QtCore.QObject.connect(self.chkCheck, QtCore.SIGNAL("toggled(bool)"), self.txtTDpath.setEnabled)
610 QtCore.QObject.connect(self.chkCheck, QtCore.SIGNAL("toggled(bool)"), self.txtTDpath.setEnabled)
610 QtCore.QObject.connect(self.chkCheck, QtCore.SIGNAL("toggled(bool)"), self.btnTDpath.setEnabled)
611 QtCore.QObject.connect(self.chkCheck, QtCore.SIGNAL("toggled(bool)"), self.btnTDpath.setEnabled)
611 QtCore.QObject.connect(self.chkCheck, QtCore.SIGNAL("toggled(bool)"), self.btnCHstart.setEnabled)
612 QtCore.QObject.connect(self.chkCheck, QtCore.SIGNAL("toggled(bool)"), self.btnCHstart.setEnabled)
612 QtCore.QObject.connect(self.chkDevD, QtCore.SIGNAL("toggled(bool)"), self.grpDevD.setEnabled)
613 QtCore.QObject.connect(self.chkDevD, QtCore.SIGNAL("toggled(bool)"), self.grpDevD.setEnabled)
613 QtCore.QObject.connect(self.chkDevB, QtCore.SIGNAL("toggled(bool)"), self.grpDevB.setEnabled)
614 QtCore.QObject.connect(self.chkDevB, QtCore.SIGNAL("toggled(bool)"), self.grpDevB.setEnabled)
614 QtCore.QObject.connect(self.chkDevC, QtCore.SIGNAL("toggled(bool)"), self.grpDevC.setEnabled)
615 QtCore.QObject.connect(self.chkDevC, QtCore.SIGNAL("toggled(bool)"), self.grpDevC.setEnabled)
615 QtCore.QObject.connect(self.chkDevA, QtCore.SIGNAL("toggled(bool)"), self.grpDevA.setEnabled)
616 QtCore.QObject.connect(self.chkDevA, QtCore.SIGNAL("toggled(bool)"), self.grpDevA.setEnabled)
616 QtCore.QMetaObject.connectSlotsByName(MainWindow)
617 QtCore.QMetaObject.connectSlotsByName(MainWindow)
617 MainWindow.setTabOrder(self.txtDpath, self.btnDpath)
618 MainWindow.setTabOrder(self.txtDpath, self.btnDpath)
618 MainWindow.setTabOrder(self.btnDpath, self.txtRpath)
619 MainWindow.setTabOrder(self.btnDpath, self.txtRpath)
619 MainWindow.setTabOrder(self.txtRpath, self.btnRpath)
620 MainWindow.setTabOrder(self.txtRpath, self.btnRpath)
620 MainWindow.setTabOrder(self.btnRpath, self.lstDtype)
621 MainWindow.setTabOrder(self.btnRpath, self.lstDtype)
621 MainWindow.setTabOrder(self.lstDtype, self.txtDtype)
622 MainWindow.setTabOrder(self.lstDtype, self.txtDtype)
622 MainWindow.setTabOrder(self.txtDtype, self.txtElabel)
623 MainWindow.setTabOrder(self.txtDtype, self.txtElabel)
623 MainWindow.setTabOrder(self.txtElabel, self.lstStartDay)
624 MainWindow.setTabOrder(self.txtElabel, self.lstStartDay)
624 MainWindow.setTabOrder(self.lstStartDay, self.lstStopDay)
625 MainWindow.setTabOrder(self.lstStartDay, self.lstStopDay)
625 MainWindow.setTabOrder(self.lstStopDay, self.lstDcapacity)
626 MainWindow.setTabOrder(self.lstStopDay, self.lstDcapacity)
626 MainWindow.setTabOrder(self.lstDcapacity, self.tabWidget)
627 MainWindow.setTabOrder(self.lstDcapacity, self.tabWidget)
627 MainWindow.setTabOrder(self.tabWidget, self.btnGbkp)
628 MainWindow.setTabOrder(self.tabWidget, self.btnGbkp)
628 MainWindow.setTabOrder(self.btnGbkp, self.btnRestart)
629 MainWindow.setTabOrder(self.btnGbkp, self.btnRestart)
629 MainWindow.setTabOrder(self.btnRestart, self.btnStartburn)
630 MainWindow.setTabOrder(self.btnRestart, self.btnStartburn)
630 MainWindow.setTabOrder(self.btnStartburn, self.btnStopburn)
631 MainWindow.setTabOrder(self.btnStartburn, self.btnStopburn)
631
632
632 def retranslateUi(self, MainWindow):
633 def retranslateUi(self, MainWindow):
633 MainWindow.setWindowTitle(QtGui.QApplication.translate("MainWindow", "JRO BACKUP MANAGER", None, QtGui.QApplication.UnicodeUTF8))
634 MainWindow.setWindowTitle(QtGui.QApplication.translate("MainWindow", "JRO BACKUP MANAGER", None, QtGui.QApplication.UnicodeUTF8))
634 self.btnDpath.setText(QtGui.QApplication.translate("MainWindow", "Data Path", None, QtGui.QApplication.UnicodeUTF8))
635 self.btnDpath.setText(QtGui.QApplication.translate("MainWindow", "Data Path", None, QtGui.QApplication.UnicodeUTF8))
635 self.btnRpath.setText(QtGui.QApplication.translate("MainWindow", "Resource Path", None, QtGui.QApplication.UnicodeUTF8))
636 self.btnRpath.setText(QtGui.QApplication.translate("MainWindow", "Resource Path", None, QtGui.QApplication.UnicodeUTF8))
636 self.lblDtype.setText(QtGui.QApplication.translate("MainWindow", "Data Type", None, QtGui.QApplication.UnicodeUTF8))
637 self.lblDtype.setText(QtGui.QApplication.translate("MainWindow", "Data Type", None, QtGui.QApplication.UnicodeUTF8))
637 self.lstDtype.setItemText(0, QtGui.QApplication.translate("MainWindow", "Raw Data", None, QtGui.QApplication.UnicodeUTF8))
638 self.lstDtype.setItemText(0, QtGui.QApplication.translate("MainWindow", "Raw Data", None, QtGui.QApplication.UnicodeUTF8))
638 self.lstDtype.setItemText(1, QtGui.QApplication.translate("MainWindow", "Process Data", None, QtGui.QApplication.UnicodeUTF8))
639 self.lstDtype.setItemText(1, QtGui.QApplication.translate("MainWindow", "Process Data", None, QtGui.QApplication.UnicodeUTF8))
639 self.lstDtype.setItemText(2, QtGui.QApplication.translate("MainWindow", "BLTR Data", None, QtGui.QApplication.UnicodeUTF8))
640 self.lstDtype.setItemText(2, QtGui.QApplication.translate("MainWindow", "BLTR Data", None, QtGui.QApplication.UnicodeUTF8))
640 self.lstDtype.setItemText(3, QtGui.QApplication.translate("MainWindow", "Other", None, QtGui.QApplication.UnicodeUTF8))
641 self.lstDtype.setItemText(3, QtGui.QApplication.translate("MainWindow", "Other", None, QtGui.QApplication.UnicodeUTF8))
641 self.txtDtype.setText(QtGui.QApplication.translate("MainWindow", "r", None, QtGui.QApplication.UnicodeUTF8))
642 self.txtDtype.setText(QtGui.QApplication.translate("MainWindow", "r", None, QtGui.QApplication.UnicodeUTF8))
642 self.lblElabel.setText(QtGui.QApplication.translate("MainWindow", "Exp. Label at device", None, QtGui.QApplication.UnicodeUTF8))
643 self.lblElabel.setText(QtGui.QApplication.translate("MainWindow", "Exp. Label at device", None, QtGui.QApplication.UnicodeUTF8))
643 self.lblCopys.setText(QtGui.QApplication.translate("MainWindow", "Copys", None, QtGui.QApplication.UnicodeUTF8))
644 self.lblCopys.setText(QtGui.QApplication.translate("MainWindow", "Copys", None, QtGui.QApplication.UnicodeUTF8))
644 self.lblStartDay.setText(QtGui.QApplication.translate("MainWindow", "Start Day:", None, QtGui.QApplication.UnicodeUTF8))
645 self.lblStartDay.setText(QtGui.QApplication.translate("MainWindow", "Start Day:", None, QtGui.QApplication.UnicodeUTF8))
645 self.lblStopDay.setText(QtGui.QApplication.translate("MainWindow", "Stop Day:", None, QtGui.QApplication.UnicodeUTF8))
646 self.lblStopDay.setText(QtGui.QApplication.translate("MainWindow", "Stop Day:", None, QtGui.QApplication.UnicodeUTF8))
646 self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabParameters), QtGui.QApplication.translate("MainWindow", "Parameters", None, QtGui.QApplication.UnicodeUTF8))
647 self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabParameters), QtGui.QApplication.translate("MainWindow", "Parameters", None, QtGui.QApplication.UnicodeUTF8))
647 self.chkDevA.setText(QtGui.QApplication.translate("MainWindow", "Dev A", None, QtGui.QApplication.UnicodeUTF8))
648 self.chkDevA.setText(QtGui.QApplication.translate("MainWindow", "Dev A", None, QtGui.QApplication.UnicodeUTF8))
648 self.txtBmodeA.setText(QtGui.QApplication.translate("MainWindow", "-sao", None, QtGui.QApplication.UnicodeUTF8))
649 self.txtBmodeA.setText(QtGui.QApplication.translate("MainWindow", "-sao", None, QtGui.QApplication.UnicodeUTF8))
649 self.btnTdevA.setText(QtGui.QApplication.translate("MainWindow", "Test DevA", None, QtGui.QApplication.UnicodeUTF8))
650 self.btnTdevA.setText(QtGui.QApplication.translate("MainWindow", "Test DevA", None, QtGui.QApplication.UnicodeUTF8))
650 self.chkDevB.setText(QtGui.QApplication.translate("MainWindow", "Dev B", None, QtGui.QApplication.UnicodeUTF8))
651 self.chkDevB.setText(QtGui.QApplication.translate("MainWindow", "Dev B", None, QtGui.QApplication.UnicodeUTF8))
651 self.txtBmodeB.setText(QtGui.QApplication.translate("MainWindow", "-sao", None, QtGui.QApplication.UnicodeUTF8))
652 self.txtBmodeB.setText(QtGui.QApplication.translate("MainWindow", "-sao", None, QtGui.QApplication.UnicodeUTF8))
652 self.btnTdevB.setText(QtGui.QApplication.translate("MainWindow", "Test DevB", None, QtGui.QApplication.UnicodeUTF8))
653 self.btnTdevB.setText(QtGui.QApplication.translate("MainWindow", "Test DevB", None, QtGui.QApplication.UnicodeUTF8))
653 self.chkDevC.setText(QtGui.QApplication.translate("MainWindow", "Dev C", None, QtGui.QApplication.UnicodeUTF8))
654 self.chkDevC.setText(QtGui.QApplication.translate("MainWindow", "Dev C", None, QtGui.QApplication.UnicodeUTF8))
654 self.txtBmodeC.setText(QtGui.QApplication.translate("MainWindow", "-sao", None, QtGui.QApplication.UnicodeUTF8))
655 self.txtBmodeC.setText(QtGui.QApplication.translate("MainWindow", "-sao", None, QtGui.QApplication.UnicodeUTF8))
655 self.btnTdevC.setText(QtGui.QApplication.translate("MainWindow", "Test DevC", None, QtGui.QApplication.UnicodeUTF8))
656 self.btnTdevC.setText(QtGui.QApplication.translate("MainWindow", "Test DevC", None, QtGui.QApplication.UnicodeUTF8))
656 self.chkDevD.setText(QtGui.QApplication.translate("MainWindow", "Dev D", None, QtGui.QApplication.UnicodeUTF8))
657 self.chkDevD.setText(QtGui.QApplication.translate("MainWindow", "Dev D", None, QtGui.QApplication.UnicodeUTF8))
657 self.txtBmodeD.setText(QtGui.QApplication.translate("MainWindow", "-sao", None, QtGui.QApplication.UnicodeUTF8))
658 self.txtBmodeD.setText(QtGui.QApplication.translate("MainWindow", "-sao", None, QtGui.QApplication.UnicodeUTF8))
658 self.btnTdevD.setText(QtGui.QApplication.translate("MainWindow", "Test DevD", None, QtGui.QApplication.UnicodeUTF8))
659 self.btnTdevD.setText(QtGui.QApplication.translate("MainWindow", "Test DevD", None, QtGui.QApplication.UnicodeUTF8))
659 self.lblDevice.setText(QtGui.QApplication.translate("MainWindow", "Device", None, QtGui.QApplication.UnicodeUTF8))
660 self.lblDevice.setText(QtGui.QApplication.translate("MainWindow", "Device", None, QtGui.QApplication.UnicodeUTF8))
660 self.lblBspeed.setText(QtGui.QApplication.translate("MainWindow", "Burn Speed", None, QtGui.QApplication.UnicodeUTF8))
661 self.lblBspeed.setText(QtGui.QApplication.translate("MainWindow", "Burn Speed", None, QtGui.QApplication.UnicodeUTF8))
661 self.lblBmode.setText(QtGui.QApplication.translate("MainWindow", "Burn Mode", None, QtGui.QApplication.UnicodeUTF8))
662 self.lblBmode.setText(QtGui.QApplication.translate("MainWindow", "Burn Mode", None, QtGui.QApplication.UnicodeUTF8))
662 self.lblDcapacity.setText(QtGui.QApplication.translate("MainWindow", "Device Capacity", None, QtGui.QApplication.UnicodeUTF8))
663 self.lblDcapacity.setText(QtGui.QApplication.translate("MainWindow", "Device Capacity", None, QtGui.QApplication.UnicodeUTF8))
663 self.lstDcapacity.setItemText(0, QtGui.QApplication.translate("MainWindow", "BluRay [25.0 GB]", None, QtGui.QApplication.UnicodeUTF8))
664 self.lstDcapacity.setItemText(0, QtGui.QApplication.translate("MainWindow", "BluRay [25.0 GB]", None, QtGui.QApplication.UnicodeUTF8))
664 self.lstDcapacity.setItemText(1, QtGui.QApplication.translate("MainWindow", "DVD2 [8.5 GB]", None, QtGui.QApplication.UnicodeUTF8))
665 self.lstDcapacity.setItemText(1, QtGui.QApplication.translate("MainWindow", "DVD2 [8.5 GB]", None, QtGui.QApplication.UnicodeUTF8))
665 self.lstDcapacity.setItemText(2, QtGui.QApplication.translate("MainWindow", "DVD1 [4.7 GB]", None, QtGui.QApplication.UnicodeUTF8))
666 self.lstDcapacity.setItemText(2, QtGui.QApplication.translate("MainWindow", "DVD1 [4.7 GB]", None, QtGui.QApplication.UnicodeUTF8))
666 self.lstDcapacity.setItemText(3, QtGui.QApplication.translate("MainWindow", "CD [0.7 GB]", None, QtGui.QApplication.UnicodeUTF8))
667 self.lstDcapacity.setItemText(3, QtGui.QApplication.translate("MainWindow", "CD [0.7 GB]", None, QtGui.QApplication.UnicodeUTF8))
667 self.lstDcapacity.setItemText(4, QtGui.QApplication.translate("MainWindow", "Other [? MB]", None, QtGui.QApplication.UnicodeUTF8))
668 self.lstDcapacity.setItemText(4, QtGui.QApplication.translate("MainWindow", "Other [? MB]", None, QtGui.QApplication.UnicodeUTF8))
668 self.lblPSgraphic.setText(QtGui.QApplication.translate("MainWindow", "PS Graphic", None, QtGui.QApplication.UnicodeUTF8))
669 self.lblPSgraphic.setText(QtGui.QApplication.translate("MainWindow", "PS Graphic", None, QtGui.QApplication.UnicodeUTF8))
669 self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabDconfig), QtGui.QApplication.translate("MainWindow", "Device Config.", None, QtGui.QApplication.UnicodeUTF8))
670 self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabDconfig), QtGui.QApplication.translate("MainWindow", "Device Config.", None, QtGui.QApplication.UnicodeUTF8))
670 self.label_4.setText(QtGui.QApplication.translate("MainWindow", "BURN", None, QtGui.QApplication.UnicodeUTF8))
671 self.label_4.setText(QtGui.QApplication.translate("MainWindow", "BURN", None, QtGui.QApplication.UnicodeUTF8))
671 self.lblSTATUS.setText(QtGui.QApplication.translate("MainWindow", "STATUS", None, QtGui.QApplication.UnicodeUTF8))
672 self.lblSTATUS.setText(QtGui.QApplication.translate("MainWindow", "STATUS", None, QtGui.QApplication.UnicodeUTF8))
672 self.lblINFO.setText(QtGui.QApplication.translate("MainWindow", "DISC", None, QtGui.QApplication.UnicodeUTF8))
673 self.lblINFO.setText(QtGui.QApplication.translate("MainWindow", "DISC", None, QtGui.QApplication.UnicodeUTF8))
673 self.lblSET.setText(QtGui.QApplication.translate("MainWindow", "COPY", None, QtGui.QApplication.UnicodeUTF8))
674 self.lblSET.setText(QtGui.QApplication.translate("MainWindow", "COPY", None, QtGui.QApplication.UnicodeUTF8))
674 self.lblDevA.setText(QtGui.QApplication.translate("MainWindow", "DEV A", None, QtGui.QApplication.UnicodeUTF8))
675 self.lblDevA.setText(QtGui.QApplication.translate("MainWindow", "DEV A", None, QtGui.QApplication.UnicodeUTF8))
675 self.lblDevB.setText(QtGui.QApplication.translate("MainWindow", "DEV B", None, QtGui.QApplication.UnicodeUTF8))
676 self.lblDevB.setText(QtGui.QApplication.translate("MainWindow", "DEV B", None, QtGui.QApplication.UnicodeUTF8))
676 self.lblDevC.setText(QtGui.QApplication.translate("MainWindow", "DEV C", None, QtGui.QApplication.UnicodeUTF8))
677 self.lblDevC.setText(QtGui.QApplication.translate("MainWindow", "DEV C", None, QtGui.QApplication.UnicodeUTF8))
677 self.lblDevD.setText(QtGui.QApplication.translate("MainWindow", "DEV D", None, QtGui.QApplication.UnicodeUTF8))
678 self.lblDevD.setText(QtGui.QApplication.translate("MainWindow", "DEV D", None, QtGui.QApplication.UnicodeUTF8))
678 self.label.setText(QtGui.QApplication.translate("MainWindow", "CHECK", None, QtGui.QApplication.UnicodeUTF8))
679 self.label.setText(QtGui.QApplication.translate("MainWindow", "CHECK", None, QtGui.QApplication.UnicodeUTF8))
679 self.btnTDpath.setText(QtGui.QApplication.translate("MainWindow", "Temp Data Path", None, QtGui.QApplication.UnicodeUTF8))
680 self.btnTDpath.setText(QtGui.QApplication.translate("MainWindow", "Temp Data Path", None, QtGui.QApplication.UnicodeUTF8))
680 self.lblSTATUS_2.setText(QtGui.QApplication.translate("MainWindow", "STATUS", None, QtGui.QApplication.UnicodeUTF8))
681 self.lblSTATUS_2.setText(QtGui.QApplication.translate("MainWindow", "STATUS", None, QtGui.QApplication.UnicodeUTF8))
681 self.lblDevA_2.setText(QtGui.QApplication.translate("MainWindow", "DEV A", None, QtGui.QApplication.UnicodeUTF8))
682 self.lblDevA_2.setText(QtGui.QApplication.translate("MainWindow", "DEV A", None, QtGui.QApplication.UnicodeUTF8))
682 self.lblDevB_2.setText(QtGui.QApplication.translate("MainWindow", "DEV B", None, QtGui.QApplication.UnicodeUTF8))
683 self.lblDevB_2.setText(QtGui.QApplication.translate("MainWindow", "DEV B", None, QtGui.QApplication.UnicodeUTF8))
683 self.lblDevC_2.setText(QtGui.QApplication.translate("MainWindow", "DEV C", None, QtGui.QApplication.UnicodeUTF8))
684 self.lblDevC_2.setText(QtGui.QApplication.translate("MainWindow", "DEV C", None, QtGui.QApplication.UnicodeUTF8))
684 self.lblDevD_2.setText(QtGui.QApplication.translate("MainWindow", "DEV D", None, QtGui.QApplication.UnicodeUTF8))
685 self.lblDevD_2.setText(QtGui.QApplication.translate("MainWindow", "DEV D", None, QtGui.QApplication.UnicodeUTF8))
685 self.chkCheck.setText(QtGui.QApplication.translate("MainWindow", "MANUAL", None, QtGui.QApplication.UnicodeUTF8))
686 self.chkCheck.setText(QtGui.QApplication.translate("MainWindow", "MANUAL", None, QtGui.QApplication.UnicodeUTF8))
686 self.btnCHstart.setText(QtGui.QApplication.translate("MainWindow", "START", None, QtGui.QApplication.UnicodeUTF8))
687 self.btnCHstart.setText(QtGui.QApplication.translate("MainWindow", "START", None, QtGui.QApplication.UnicodeUTF8))
687 self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabStatus), QtGui.QApplication.translate("MainWindow", "Status Burn", None, QtGui.QApplication.UnicodeUTF8))
688 self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabStatus), QtGui.QApplication.translate("MainWindow", "Status Burn", None, QtGui.QApplication.UnicodeUTF8))
688 self.btnGbkp.setText(QtGui.QApplication.translate("MainWindow", "Generate Bkp", None, QtGui.QApplication.UnicodeUTF8))
689 self.btnGbkp.setText(QtGui.QApplication.translate("MainWindow", "Generate Bkp", None, QtGui.QApplication.UnicodeUTF8))
689 self.btnRestart.setText(QtGui.QApplication.translate("MainWindow", "Restart", None, QtGui.QApplication.UnicodeUTF8))
690 self.btnRestart.setText(QtGui.QApplication.translate("MainWindow", "Restart", None, QtGui.QApplication.UnicodeUTF8))
690 self.btnStartburn.setText(QtGui.QApplication.translate("MainWindow", "Start Burn", None, QtGui.QApplication.UnicodeUTF8))
691 self.btnStartburn.setText(QtGui.QApplication.translate("MainWindow", "Start Burn", None, QtGui.QApplication.UnicodeUTF8))
691 self.btnStopburn.setText(QtGui.QApplication.translate("MainWindow", "Stop Burn", None, QtGui.QApplication.UnicodeUTF8))
692 self.btnStopburn.setText(QtGui.QApplication.translate("MainWindow", "Stop Burn", None, QtGui.QApplication.UnicodeUTF8))
692 self.menuFile.setTitle(QtGui.QApplication.translate("MainWindow", "File", None, QtGui.QApplication.UnicodeUTF8))
693 self.menuFile.setTitle(QtGui.QApplication.translate("MainWindow", "File", None, QtGui.QApplication.UnicodeUTF8))
693 self.menuHelp.setTitle(QtGui.QApplication.translate("MainWindow", "Help", None, QtGui.QApplication.UnicodeUTF8))
694 self.menuHelp.setTitle(QtGui.QApplication.translate("MainWindow", "Help", None, QtGui.QApplication.UnicodeUTF8))
694 self.menuParameters.setTitle(QtGui.QApplication.translate("MainWindow", "Parameters", None, QtGui.QApplication.UnicodeUTF8))
695 self.menuParameters.setTitle(QtGui.QApplication.translate("MainWindow", "Parameters", None, QtGui.QApplication.UnicodeUTF8))
695 self.actionChange_Parameters.setText(QtGui.QApplication.translate("MainWindow", "Change Parameters", None, QtGui.QApplication.UnicodeUTF8))
696 self.actionChange_Parameters.setText(QtGui.QApplication.translate("MainWindow", "Change Parameters", None, QtGui.QApplication.UnicodeUTF8))
696 self.actionQuit.setText(QtGui.QApplication.translate("MainWindow", "Quit", None, QtGui.QApplication.UnicodeUTF8))
697 self.actionQuit.setText(QtGui.QApplication.translate("MainWindow", "Quit", None, QtGui.QApplication.UnicodeUTF8))
697 self.actionAbout.setText(QtGui.QApplication.translate("MainWindow", "About", None, QtGui.QApplication.UnicodeUTF8))
698 self.actionAbout.setText(QtGui.QApplication.translate("MainWindow", "About", None, QtGui.QApplication.UnicodeUTF8))
698
699
699
700
700 if __name__ == "__main__":
701 if __name__ == "__main__":
701 import sys
702 import sys
702 app = QtGui.QApplication(sys.argv)
703 app = QtGui.QApplication(sys.argv)
703 MainWindow = QtGui.QMainWindow()
704 MainWindow = QtGui.QMainWindow()
704 ui = Ui_MainWindow()
705 ui = Ui_MainWindow()
705 ui.setupUi(MainWindow)
706 ui.setupUi(MainWindow)
706 MainWindow.show()
707 MainWindow.show()
707 sys.exit(app.exec_())
708 sys.exit(app.exec_())
708
709
@@ -1,77 +1,77
1 # -*- coding: utf-8 -*-
1 # -*- coding: utf-8 -*-
2
2
3 # Form implementation generated from reading ui file '/home/ricardoar/JRO_SVN/eric4/jro_backup_manager/ui/Parameters.ui'
3 # Form implementation generated from reading ui file '/home/ricardoar/JRO_SVN/eric4/jro_backup_manager/ui/Parameters.ui'
4 #
4 #
5 # Created: Tue May 25 00:54:30 2010
5 # Created: Wed May 26 16:31:58 2010
6 # by: PyQt4 UI code generator 4.7.2
6 # by: PyQt4 UI code generator 4.6
7 #
7 #
8 # WARNING! All changes made in this file will be lost!
8 # WARNING! All changes made in this file will be lost!
9
9
10 from PyQt4 import QtCore, QtGui
10 from PyQt4 import QtCore, QtGui
11
11
12 class Ui_Parameters(object):
12 class Ui_Parameters(object):
13 def setupUi(self, Parameters):
13 def setupUi(self, Parameters):
14 Parameters.setObjectName("Parameters")
14 Parameters.setObjectName("Parameters")
15 Parameters.resize(207, 152)
15 Parameters.resize(207, 152)
16 self.verticalLayout = QtGui.QVBoxLayout(Parameters)
16 self.verticalLayout = QtGui.QVBoxLayout(Parameters)
17 self.verticalLayout.setObjectName("verticalLayout")
17 self.verticalLayout.setObjectName("verticalLayout")
18 self.horizontalLayout_3 = QtGui.QHBoxLayout()
18 self.horizontalLayout_3 = QtGui.QHBoxLayout()
19 self.horizontalLayout_3.setObjectName("horizontalLayout_3")
19 self.horizontalLayout_3.setObjectName("horizontalLayout_3")
20 self.verticalLayout_2 = QtGui.QVBoxLayout()
20 self.verticalLayout_2 = QtGui.QVBoxLayout()
21 self.verticalLayout_2.setObjectName("verticalLayout_2")
21 self.verticalLayout_2.setObjectName("verticalLayout_2")
22 self.label = QtGui.QLabel(Parameters)
22 self.label = QtGui.QLabel(Parameters)
23 self.label.setObjectName("label")
23 self.label.setObjectName("label")
24 self.verticalLayout_2.addWidget(self.label)
24 self.verticalLayout_2.addWidget(self.label)
25 self.label_3 = QtGui.QLabel(Parameters)
25 self.label_3 = QtGui.QLabel(Parameters)
26 self.label_3.setObjectName("label_3")
26 self.label_3.setObjectName("label_3")
27 self.verticalLayout_2.addWidget(self.label_3)
27 self.verticalLayout_2.addWidget(self.label_3)
28 self.label_2 = QtGui.QLabel(Parameters)
28 self.label_2 = QtGui.QLabel(Parameters)
29 self.label_2.setObjectName("label_2")
29 self.label_2.setObjectName("label_2")
30 self.verticalLayout_2.addWidget(self.label_2)
30 self.verticalLayout_2.addWidget(self.label_2)
31 self.horizontalLayout_3.addLayout(self.verticalLayout_2)
31 self.horizontalLayout_3.addLayout(self.verticalLayout_2)
32 self.verticalLayout_3 = QtGui.QVBoxLayout()
32 self.verticalLayout_3 = QtGui.QVBoxLayout()
33 self.verticalLayout_3.setObjectName("verticalLayout_3")
33 self.verticalLayout_3.setObjectName("verticalLayout_3")
34 self.txtNcopys = QtGui.QSpinBox(Parameters)
34 self.txtNcopys = QtGui.QSpinBox(Parameters)
35 self.txtNcopys.setMinimum(1)
35 self.txtNcopys.setMinimum(1)
36 self.txtNcopys.setMaximum(999)
36 self.txtNcopys.setMaximum(999)
37 self.txtNcopys.setObjectName("txtNcopys")
37 self.txtNcopys.setObjectName("txtNcopys")
38 self.verticalLayout_3.addWidget(self.txtNcopys)
38 self.verticalLayout_3.addWidget(self.txtNcopys)
39 self.txtDisc = QtGui.QSpinBox(Parameters)
39 self.txtDisc = QtGui.QSpinBox(Parameters)
40 self.txtDisc.setMinimum(1)
40 self.txtDisc.setMinimum(1)
41 self.txtDisc.setMaximum(999999)
41 self.txtDisc.setMaximum(999999)
42 self.txtDisc.setObjectName("txtDisc")
42 self.txtDisc.setObjectName("txtDisc")
43 self.verticalLayout_3.addWidget(self.txtDisc)
43 self.verticalLayout_3.addWidget(self.txtDisc)
44 self.txtCopy = QtGui.QSpinBox(Parameters)
44 self.txtCopy = QtGui.QSpinBox(Parameters)
45 self.txtCopy.setMinimum(1)
45 self.txtCopy.setMinimum(1)
46 self.txtCopy.setMaximum(999)
46 self.txtCopy.setMaximum(999)
47 self.txtCopy.setObjectName("txtCopy")
47 self.txtCopy.setObjectName("txtCopy")
48 self.verticalLayout_3.addWidget(self.txtCopy)
48 self.verticalLayout_3.addWidget(self.txtCopy)
49 self.horizontalLayout_3.addLayout(self.verticalLayout_3)
49 self.horizontalLayout_3.addLayout(self.verticalLayout_3)
50 self.verticalLayout.addLayout(self.horizontalLayout_3)
50 self.verticalLayout.addLayout(self.horizontalLayout_3)
51 self.buttonBox = QtGui.QDialogButtonBox(Parameters)
51 self.buttonBox = QtGui.QDialogButtonBox(Parameters)
52 self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
52 self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
53 self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
53 self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
54 self.buttonBox.setObjectName("buttonBox")
54 self.buttonBox.setObjectName("buttonBox")
55 self.verticalLayout.addWidget(self.buttonBox)
55 self.verticalLayout.addWidget(self.buttonBox)
56
56
57 self.retranslateUi(Parameters)
57 self.retranslateUi(Parameters)
58 QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL("accepted()"), Parameters.accept)
58 QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL("accepted()"), Parameters.accept)
59 QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL("rejected()"), Parameters.reject)
59 QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL("rejected()"), Parameters.reject)
60 QtCore.QMetaObject.connectSlotsByName(Parameters)
60 QtCore.QMetaObject.connectSlotsByName(Parameters)
61
61
62 def retranslateUi(self, Parameters):
62 def retranslateUi(self, Parameters):
63 Parameters.setWindowTitle(QtGui.QApplication.translate("Parameters", "Parameters", None, QtGui.QApplication.UnicodeUTF8))
63 Parameters.setWindowTitle(QtGui.QApplication.translate("Parameters", "Parameters", None, QtGui.QApplication.UnicodeUTF8))
64 self.label.setText(QtGui.QApplication.translate("Parameters", "N° Copys", None, QtGui.QApplication.UnicodeUTF8))
64 self.label.setText(QtGui.QApplication.translate("Parameters", "N° Copys", None, QtGui.QApplication.UnicodeUTF8))
65 self.label_3.setText(QtGui.QApplication.translate("Parameters", "Disc", None, QtGui.QApplication.UnicodeUTF8))
65 self.label_3.setText(QtGui.QApplication.translate("Parameters", "Disc", None, QtGui.QApplication.UnicodeUTF8))
66 self.label_2.setText(QtGui.QApplication.translate("Parameters", "Copy", None, QtGui.QApplication.UnicodeUTF8))
66 self.label_2.setText(QtGui.QApplication.translate("Parameters", "Copy", None, QtGui.QApplication.UnicodeUTF8))
67
67
68
68
69 if __name__ == "__main__":
69 if __name__ == "__main__":
70 import sys
70 import sys
71 app = QtGui.QApplication(sys.argv)
71 app = QtGui.QApplication(sys.argv)
72 Parameters = QtGui.QDialog()
72 Parameters = QtGui.QDialog()
73 ui = Ui_Parameters()
73 ui = Ui_Parameters()
74 ui.setupUi(Parameters)
74 ui.setupUi(Parameters)
75 Parameters.show()
75 Parameters.show()
76 sys.exit(app.exec_())
76 sys.exit(app.exec_())
77
77
General Comments 0
You need to be logged in to leave comments. Login now