##// END OF EJS Templates
***
ralonso -
r71:72
parent child
Show More
@@ -1,259 +1,259
1 1 # -*- coding: utf-8 -*- No newline at end of file
2 2 No newline at end of file
3 3 #class BKmanager: No newline at end of file
4 4 # def __init__(self): No newline at end of file
5 5 No newline at end of file
6 6 from subprocess import * No newline at end of file
7 7 import sys No newline at end of file
8 8 import os No newline at end of file
9 9 import subprocess No newline at end of file
10 10 import commands No newline at end of file
11 11 import shutil No newline at end of file
12 12 No newline at end of file
13 13 #--------------------------------------------- Entero a cadena agregando ceros delante ------------------------------------------------- No newline at end of file
14 14 No newline at end of file
15 15 def i2s(var_n, var_length=4): No newline at end of file
16 16 var_n2=str(var_n) No newline at end of file
17 17 while len(var_n2) < var_length: No newline at end of file
18 18 var_n2 = "0"+var_n2 No newline at end of file
19 19 return var_n2 No newline at end of file
20 20 No newline at end of file
21 21 No newline at end of file
22 22 #----------------------------------------- Se verifica que la ruta exista y sea un directorio ------------------------------------------------- No newline at end of file
23 23 No newline at end of file
24 24 def dir_exists(var_dir, self): No newline at end of file
25 25 if os.path.isdir(var_dir): No newline at end of file
26 26 return True No newline at end of file
27 27 else: No newline at end of file
28 28 self.txtInfo.append("Incorrect path:" + str(var_dir)) No newline at end of file
29 29 return False No newline at end of file
30 30 No newline at end of file
31 31 No newline at end of file
32 32 #-------------------------------- Se buscan los archivos del tipo especificado y se cargan las fechas ----------------------------- No newline at end of file
33 33 No newline at end of file
34 34 def load_days(self): No newline at end of file
35 35 No newline at end of file
36 36 self.var_list=[] No newline at end of file
37 37 self.lstStartDay.clear() No newline at end of file
38 38 self.lstStopDay.clear() No newline at end of file
39 39 No newline at end of file
40 40 if self.statusDpath == False: No newline at end of file
41 41 self.btnGbkp.setEnabled(False) No newline at end of file
42 42 return No newline at end of file
43 43 No newline at end of file
44 44 if self.var_Dtype == '': No newline at end of file
45 45 return No newline at end of file
46 46 No newline at end of file
47 47 var_cmd="find " + str(self.var_Dpath) + " -name *."+ str(self.var_Dtype) +" | awk -F/ '{print substr($NF,2,7)}' | sort| uniq" No newline at end of file
48 48 output=commands.getstatusoutput(var_cmd)[1] No newline at end of file
49 49 No newline at end of file
50 50 #Si no se encuentra ningun archivo No newline at end of file
51 51 if len(output) == 0: No newline at end of file
52 52 self.txtInfo.append("File not found") No newline at end of file
53 53 self.btnGbkp.setEnabled(False) No newline at end of file
54 54 return No newline at end of file
55 55 No newline at end of file
56 56 #Se cargan las listas para seleccionar StartDay y StopDay (QComboBox) No newline at end of file
57 57 for i in range(0, (len(output)+1)/8): No newline at end of file
58 58 self.var_list.append(output[8*i:8*(i+1)-1]) No newline at end of file
59 59 No newline at end of file
60 60 for i in self.var_list: No newline at end of file
61 61 self.lstStartDay.addItem(i) No newline at end of file
62 62 self.lstStopDay.addItem(i) No newline at end of file
63 63 self.lstStopDay.setCurrentIndex(self.lstStartDay.count()-1) No newline at end of file
64 64 No newline at end of file
65 65 get_sub_list(self) No newline at end of file
66 66 self.btnGbkp.setEnabled(True) No newline at end of file
67 67 No newline at end of file
68 68 No newline at end of file
69 69 #-------------------------------------------------- Obtiene el rango de las fechas seleccionadas ----------------------------------------- No newline at end of file
70 70 No newline at end of file
71 71 def get_sub_list(self): No newline at end of file
72 72 self.var_sublist=[] No newline at end of file
73 73 for i in self.var_list[self.lstStartDay.currentIndex():self.lstStartDay.currentIndex() + self.lstStopDay.currentIndex()+1]: No newline at end of file
74 74 self.var_sublist.append(i) No newline at end of file
75 75 No newline at end of file
76 76 No newline at end of file
77 77 #----------------------------------------------------- Verifica los parametros faltantes ----------------------------------------------------------- No newline at end of file
78 78 No newline at end of file
79 79 def validate_parameters(self): No newline at end of file
80 80 #Verifica que las ruta del proyecto sea valida No newline at end of file
81 81 if self.statusRpath == False: No newline at end of file
82 82 self.txtInfo.append("Incorrect proyect path") No newline at end of file
83 83 return False No newline at end of file
84 84 No newline at end of file
85 85 #Verifica la etiqueta No newline at end of file
86 86 if len(self.var_Elabel) == 0: No newline at end of file
87 87 self.txtInfo.append("Enter label") No newline at end of file
88 88 return False No newline at end of file
89 89 No newline at end of file
90 90 return True No newline at end of file
91 91 No newline at end of file
92 92 No newline at end of file
93 93 #------------------------------------------------- Crea directorios en la ruta indicada ----------------------------------------------------------- No newline at end of file
94 94 No newline at end of file
95 95 def make_dirs(list_dirs, self): No newline at end of file
96 96 """ No newline at end of file
97 97 No newline at end of file
98 98 """ No newline at end of file
99 99 No newline at end of file
100 100 for var_dir in list_dirs: No newline at end of file
101 101 shutil.rmtree(self.var_Rpath+'/'+var_dir, True) No newline at end of file
102 102 var_output=commands.getstatusoutput("mkdir -p "+self.var_Rpath+'/'+var_dir)[0] No newline at end of file
103 103 if var_output != 0: No newline at end of file
104 104 self.txtInfo.append("Error creating directory: "+var_dir+", output_error:" + str(var_output)) No newline at end of file
105 105 return False No newline at end of file
106 106 self.txtInfo.append('Directories created correctly') No newline at end of file
107 107 return True No newline at end of file
108 108 No newline at end of file
109 109 No newline at end of file
110 110 #-------------------------------------------- Busca los archivos con los parametros de busqueda --------------------------------------- No newline at end of file
111 111 No newline at end of file
112 112 def list_files(self): No newline at end of file
113 113 var_files_list=[] No newline at end of file
114 114 for var_doy in self.var_sublist: No newline at end of file
115 115 var_cmd="find " + str(self.var_Dpath) + " -name ?"+var_doy+"???."+ str(self.var_Dtype) + " |sort" No newline at end of file
116 116 var_output=commands.getstatusoutput(var_cmd)[1] No newline at end of file
117 117 for var_file in var_output.split(): No newline at end of file
118 118 var_files_list.append(var_file) #Almacena cada archivo en la lista No newline at end of file
119 119 return var_files_list No newline at end of file
120 120 No newline at end of file
121 121 No newline at end of file
122 122 #--------------- Genera la lista de archivos .dat que contienen los archivos a grabar en cada DVD ----------------------- No newline at end of file
123 123 No newline at end of file
124 124 def make_files_dat(var_files_list, self): No newline at end of file
125 125 var_Rpath_ppath=self.var_Rpath+"/ppath" #Ruta de los archivos a grabar No newline at end of file
126 126 var_n=1 #Numero del DVD actual No newline at end of file
127 127 var_tmp=0 #Se usa para acumular el tamaΓ±o de los archivos de la lista No newline at end of file
128 128 var_files_list_2=[] #Se usa para almacenar la lista de archivos agrbar en cada DVD No newline at end of file
129 129 No newline at end of file
130 130 for i in var_files_list: #Se asignan en i los archivos de la lista No newline at end of file
131 131 No newline at end of file
132 132 var_size_i=os.path.getsize(i)/1024+1 #tamaΓ±o en KB del archivo de la lista, se suma 1 KB para evitar problemas al momento de sumar No newline at end of file
133 133 var_tmp += var_size_i #Se acumulan el tamaΓ±o de los archivos de la lista No newline at end of file
134 134 No newline at end of file
135 135 #Si el tamaΓ±o acumulado es mayor que el de el DVD No newline at end of file
136 136 if var_tmp > (self.var_Dcapacity * 1024): No newline at end of file
137 137 var_tmp -= var_size_i #se quita el tamaΓ±o sumado para mostrar el tamaΓ±o real No newline at end of file
138 138 #se crea un archivo con numeral en el sufijo y extension .dat No newline at end of file
139 139 var_file = open(var_Rpath_ppath+"/"+self.var_Elabel+"_"+i2s(var_n)+".dat","w") No newline at end of file
140 140 #Se aΓ±ade la lista de archivos a grabar en el DVD al archivo .dat No newline at end of file
141 141 for line in var_files_list_2: No newline at end of file
142 142 var_tmp_path=line.split(self.var_Dpath)[1][:-13] No newline at end of file
143 143 var_file.write(var_tmp_path+'='+line+'\n') No newline at end of file
144 144 var_file.close() No newline at end of file
145 145 No newline at end of file
146 146 var_tmp = var_size_i #Se asigna a la variable el tamaΓ±o del archivo actual No newline at end of file
147 147 var_files_list_2=[] #Se reinicia la lista No newline at end of file
148 148 var_n += 1 No newline at end of file
149 149 var_files_list_2.append(i) No newline at end of file
150 150 No newline at end of file
151 151 #se crea un archivo con numeral en el sufijo y extension .dat No newline at end of file
152 152 var_file = open(var_Rpath_ppath+"/"+self.var_Elabel+"_"+i2s(var_n)+".dat","w") No newline at end of file
153 153 #Se aΓ±ade la lista de archivos a grabar en el DVD al archivo .dat No newline at end of file
154 154 for line in var_files_list_2: No newline at end of file
155 155 var_tmp_path=line.split(self.var_Dpath)[1][:-13] No newline at end of file
156 156 var_file.write(var_tmp_path+'='+line+'\n') No newline at end of file
157 157 var_file.close() No newline at end of file
158 158 No newline at end of file
159 159 self.txtInfo.append("configuration files created") No newline at end of file
160 160 return var_n No newline at end of file
161 161 No newline at end of file
162 162 No newline at end of file
163 163 #------------------------------ Genera los archivos .print con los cuales se creara los postscript ----------------------------------- No newline at end of file
164 164 No newline at end of file
165 165 def make_files_print(self): No newline at end of file
166 166 No newline at end of file
167 167 var_Rpath_ppath=self.var_Rpath+"/ppath" #Ruta de los archivos a grabar No newline at end of file
168 168 var_Rpath_gpath=self.var_Rpath+"/gpath" #Ruta de los archivos postscript No newline at end of file
169 169 var_labels=[] No newline at end of file
170 170 for m in range (0, self.txtPSgraphic.value() - 1): No newline at end of file
171 171 var_lines = "\n" * 9 No newline at end of file
172 172 var_labels.append(var_lines) No newline at end of file
173 173 No newline at end of file
174 174 # Se leen todos los archivos .dat creados para crear las etiquetas en los archivos .print No newline at end of file
175 175 for var_n in range(1, self.var_Discs + 1): No newline at end of file
176 176 No newline at end of file
177 177 #se abren los archivos .dat en modo lectura No newline at end of file
178 178 var_file = open(var_Rpath_ppath+"/"+self.var_Elabel+"_"+i2s(var_n)+".dat","r") No newline at end of file
179 179 lines=var_file.readlines() # Se lee las lineas en el archivo y se almacenan en la lista No newline at end of file
180 180 var_file.close() No newline at end of file
181 181 list_files=[] No newline at end of file
182 182 var_lines=[] No newline at end of file
183 183 No newline at end of file
184 184 for j in range(0, len(lines)): No newline at end of file
185 185 No newline at end of file
186 186 if j == 0: No newline at end of file
187 187 var_first_folder = lines[j].split('=')[0] No newline at end of file
188 188 var_first_file = (lines[j].split('=')[1])[:-1] No newline at end of file
189 189 continue No newline at end of file
190 190 No newline at end of file
191 191 var_tmp_folder = lines[j].split('=')[0] No newline at end of file
192 192 var_tmp_file = (lines[j].split('=')[1])[:-1] No newline at end of file
193 193 No newline at end of file
194 194 # Si el subfolder superior o el DOY del archivo actual y el anterior son diferentes No newline at end of file
195 195 if (var_tmp_folder != var_first_folder) or (var_tmp_file[0:-5] != var_first_file[0:-5]): No newline at end of file
196 196 var_last_file = (lines[j-1].split('=')[1])[:-1] No newline at end of file
197 197 list_files.append([var_first_folder, var_first_file, var_last_file]) No newline at end of file
198 198 No newline at end of file
199 199 var_first_folder = lines[j].split('=')[0] No newline at end of file
200 200 var_first_file = (lines[j].split('=')[1])[:-1] No newline at end of file
201 201 No newline at end of file
202 202 var_last_file = (lines[-1].split('=')[1])[:-1] No newline at end of file
203 203 list_files.append([var_first_folder, var_first_file, var_last_file]) No newline at end of file
204 204 No newline at end of file
205 205 var_lines2 = lines_print(list_files, self.var_Elabel) No newline at end of file
206 206 No newline at end of file
207 207 for k in range(0, len(var_lines2) / 5): No newline at end of file
208 208 var_lines=["\n"] No newline at end of file
209 209 var_lines.append(" "+self.var_Elabel+" "+i2s(var_n)+"/"+i2s(self.var_Discs)+"\n")
210 No newline at end of file
210 var_lines.append("Year Doy Folder Set Time range\n") No newline at end of file
211 211 var_lines.extend(var_lines2[(5*k):(5*(k+1))]) No newline at end of file
212 212 var_lines.append("\n") No newline at end of file
213 213 var_labels.append(var_lines) No newline at end of file
214 214 No newline at end of file
215 215 for i in range(0, (len(var_labels) // 33) +1 ): No newline at end of file
216 216 var_file=var_Rpath_gpath+"/"+self.var_Elabel+"_"+i2s(i+1) No newline at end of file
217 217 file_ps = open(var_file+".print","w") No newline at end of file
218 218 if i == (len(var_labels) // 33): No newline at end of file
219 219 var_sub_labels = var_labels[33*i:] No newline at end of file
220 220 else: No newline at end of file
221 221 var_sub_labels = var_labels[33*i:33*(i+1)] No newline at end of file
222 222 No newline at end of file
223 223 for label in var_sub_labels: No newline at end of file
224 224 for line in label: No newline at end of file
225 225 file_ps.write(line) No newline at end of file
226 226 file_ps.close() No newline at end of file
227 227 var_cmd="enscript "+var_file+".print -p "+var_file+".ps -f Times-Roman7 " \ No newline at end of file
228 228 +" -3R -j -B --margins=21.25:20.4:25.51:20 --media=A4" No newline at end of file
229 229 var_output=commands.getstatusoutput(var_cmd)[0] No newline at end of file
230 230 No newline at end of file
231 231 No newline at end of file
232 232 def lines_print(list_files, var_Elabel): No newline at end of file
233 233 """ No newline at end of file
234 234 Devuelve las lineas del rango de archivos de cada etiqueta segun el formato No newline at end of file
235 235 """ No newline at end of file
236 236 var_lines=[] No newline at end of file
237 237 for i in list_files: No newline at end of file
238 238 No newline at end of file
239 239 # Si el archivo se grabara directamente en la / del DVD y no en un /directorio/ No newline at end of file
240 240 # se usa la etiqueta para indicar la parte de la etiqueta donde va el subdirectorio No newline at end of file
241 241 if i[0] == '/': No newline at end of file
242 242 var_folder = var_Elabel No newline at end of file
243 243 else: No newline at end of file
244 244 var_folder = i[0].split('/')[-2] No newline at end of file
245 245 No newline at end of file
246 246 var_first_file = i[1] No newline at end of file
247 247 var_last_file = i[2] No newline at end of file
248 248 No newline at end of file
249 249 var_date_first_file=commands.getstatusoutput("date -r "+var_first_file+" +'%T'")[1] No newline at end of file
250 250 var_date_last_file=commands.getstatusoutput("date -r "+var_last_file+" +'%T'")[1] No newline at end of file
251 251 No newline at end of file
252 252 var_lines.append(var_first_file[-12:-8]+" "+var_first_file[-8:-5]+" "+var_folder +" "+var_first_file[-5:-2]+" " No newline at end of file
253 253 +var_last_file[-5:-2]+" "+var_date_first_file+" "+var_date_last_file+"\n") No newline at end of file
254 254 #Nos aseguramos que sea un mutiplo de 5 No newline at end of file
255 255 while (len(var_lines) % 5) != 0: No newline at end of file
256 256 var_lines.append("\n") No newline at end of file
257 257 No newline at end of file
258 258 return var_lines No newline at end of file
259 259 No newline at end of file
@@ -1,159 +1,165
1 1 # -*- coding: utf-8 -*- No newline at end of file
2 2 No newline at end of file
3 3 No newline at end of file
4 4 from subprocess import * No newline at end of file
5 5 import sys No newline at end of file
6 6 import os No newline at end of file
7 7 import subprocess No newline at end of file
8 8 import commands No newline at end of file
9 9 No newline at end of file
10 10 #----------------------------------------------------- Deteccion de los dispositivos de grabacion --------------------------------------------------------------- No newline at end of file
11 11 No newline at end of file
12 12 def detect_devices(self): No newline at end of file
13 13 """ No newline at end of file
14 14 Deteccion de los dispositvos de grabacion No newline at end of file
15 15 """ No newline at end of file
16 16 #var_cmd="wodim --devices | grep /dev/ | awk -F\' '{print $2}'" #Funciona en consola pero no en python ΒΏ? No newline at end of file
17 17 var_cmd="wodim --devices | grep /dev/ | awk '{print $2}' | awk -F= '{print $2}'" No newline at end of file
18 18 var_output = commands.getstatusoutput(var_cmd) No newline at end of file
19 19 if var_output[0] != 0:
20 No newline at end of file
20 self.txtInfo.append("No se pudo encontrar los dispositivos de grabacion, output_error:" + str(var_output)) No newline at end of file
21 21 else:
22 No newline at end of file
22 self.txtInfo.append("dispositivos encontrados") No newline at end of file
23 23 var_devices = var_output[1].split('\n') No newline at end of file
24 24 No newline at end of file
25 25 var_tmp=[] No newline at end of file
26 26 for i in range(0, 4): No newline at end of file
27 27 if i < len(var_devices): No newline at end of file
28 28 var_len = len(var_devices[i]) No newline at end of file
29 29 var_tmp.append(var_devices[i][1:var_len - 1]) No newline at end of file
30 30 else: No newline at end of file
31 31 var_tmp.append('') No newline at end of file
32 32 No newline at end of file
33 33 #Se escriben los dispostivos correspodientes, si existen No newline at end of file
34 34 self.txtDeviceA.setText(str(var_tmp[0])) No newline at end of file
35 35 self.txtDeviceB.setText(str(var_tmp[1])) No newline at end of file
36 36 self.txtDeviceC.setText(str(var_tmp[2])) No newline at end of file
37 37 self.txtDeviceD.setText(str(var_tmp[3])) No newline at end of file
38 38 #Se desactivan los que no existen No newline at end of file
39 39 if len(var_tmp[0]) == 0 : No newline at end of file
40 40 self.chkDevA.setChecked(False) No newline at end of file
41 41 self.chkDevA.setEnabled(False) No newline at end of file
42 42 if len(var_tmp[1]) == 0 : No newline at end of file
43 43 self.chkDevB.setChecked(False) No newline at end of file
44 44 self.chkDevB.setEnabled(False) No newline at end of file
45 45 if len(var_tmp[2]) == 0 : No newline at end of file
46 46 self.chkDevC.setChecked(False) No newline at end of file
47 47 self.chkDevC.setEnabled(False) No newline at end of file
48 48 if len(var_tmp[3]) == 0 : No newline at end of file
49 49 self.chkDevD.setChecked(False) No newline at end of file
50 50 self.chkDevD.setEnabled(False) No newline at end of file
51 51 No newline at end of file
52 52 #----------------------------------- expulsa los dispositivos de grabacion -------------------------------------------- No newline at end of file
53 53 No newline at end of file
54 54 def eject_devices(self): No newline at end of file
55 55 for var_dev in self.var_devices: No newline at end of file
56 56 var_cmd = 'eject ' + var_dev No newline at end of file
57 57 commands.getstatusoutput(var_cmd) No newline at end of file
58 58 No newline at end of file
59 59 #----------------------------------- listado de los dispositivos de grabacion seleccionados -------------------------------------------- No newline at end of file
60 60 No newline at end of file
61 61 def selected_devices(self): No newline at end of file
62 62 self.var_devices=[] No newline at end of file
63 63 if self.chkDevA.isChecked(): No newline at end of file
64 64 self.var_devices.append(str(self.txtDeviceA.text())) No newline at end of file
65 65 if self.chkDevB.isChecked(): No newline at end of file
66 66 self.var_devices.append(str(self.txtDeviceB.text())) No newline at end of file
67 67 if self.chkDevC.isChecked(): No newline at end of file
68 68 self.var_devices.append(str(self.txtDeviceC.text())) No newline at end of file
69 69 if self.chkDevD.isChecked(): No newline at end of file
70 70 self.var_devices.append(str(self.txtDeviceD.text())) No newline at end of file
71 71 No newline at end of file
72 72 if len(self.var_devices) == 0: No newline at end of file
73 73 return False No newline at end of file
74 74 else: No newline at end of file
75 75 return True No newline at end of file
76 76 No newline at end of file
77 77 No newline at end of file
78 78 #----------------------------------------------------- Inicializacion para pruebas--------------------------------------------------------------- No newline at end of file
79 79 No newline at end of file
80 80 def set_parameters_test(self): No newline at end of file
81 81 """ No newline at end of file
82 82 Se usa para inicializar ciertos parametros para pruebas No newline at end of file
83 83 """ No newline at end of file
84 84 self.txtDpath.setText('/home/ricardoar/optional/STORAGE/EW_DRIFTS') No newline at end of file
85 85 self.txtRpath.setText('/home/ricardoar/optional/prueba1_jro_backup_manager') No newline at end of file
86 86 self.txtElabel.setText('EW_DRIFTS_pruebas') No newline at end of file
87 87 self.lstDcapacity.setCurrentIndex(4) No newline at end of file
88 88 self.txtDcapacity.setValue(100.0) No newline at end of file
89 89 self.txtDcapacity.setReadOnly(False) No newline at end of file
90 self.txtDcapacity.setReadOnly(False)
No newline at end of file
91 self.txtDeviceA.setText("/dev/scd0")
No newline at end of file
92 self.txtDeviceB.setText("/dev/scd1")
No newline at end of file
93 self.txtDeviceC.setText("/dev/scd2")
No newline at end of file
94 self.txtDeviceD.setText("/dev/scd3") No newline at end of file
90 95 No newline at end of file
91 96 No newline at end of file
92 97 #----------------------------------------------------- crea parameters.conf --------------------------------------------------------------- No newline at end of file
93 98 No newline at end of file
94 99 def make_parameters_conf(self): No newline at end of file
95 100 var_file = open("parameters.conf","w") No newline at end of file
96 101 var_file.write(self.var_Dpath+"\n") #0 Ruta de los datos No newline at end of file
97 102 var_file.write(self.var_Rpath+"\n") #1 Ruta del proyecto No newline at end of file
98 103 var_file.write(str(self.var_lstDtype)+"\n") #2 opcion Data Type No newline at end of file
99 104 var_file.write(self.var_Dtype+"\n") #3 extension Data Type No newline at end of file
100 105 var_file.write(self.var_Elabel+"\n") #4 etiqueta No newline at end of file
101 106 var_file.write(str(self.var_Copys)+"\n") #5 Numero de copias No newline at end of file
102 107 var_file.write(str(self.var_lstDcapacity)+"\n") #6 opcion Device Capacity No newline at end of file
103 108 var_file.write(str(self.var_Dcapacity)+"\n") #7 tamaΓ±o Device Capacity No newline at end of file
104 109 var_file.write(str(self.var_Discs)+"\n") #8 Numero de discos a grabar No newline at end of file
105 110 # var_file.write(str(self.lstStartDay.currentIndex())+"\n") #9 Indice fecha inicial No newline at end of file
106 111 # var_file.write(str(self.lstStopDay.currentIndex())+"\n") #10 Indice fecha final No newline at end of file
107 112 No newline at end of file
108 113 var_file.close() No newline at end of file
109 114 No newline at end of file
110 115 #----------------------------------------------------- carga parameters.conf --------------------------------------------------------------- No newline at end of file
111 116 No newline at end of file
112 117 def get_parameters_conf(self): No newline at end of file
113 118 var_file = open("parameters.conf","r") No newline at end of file
114 119 lines = var_file.readlines() No newline at end of file
115 120 self.txtDpath.setText(lines[0][:-1]) #0 No newline at end of file
116 121 self.txtRpath.setText(lines[1][:-1]) #1 No newline at end of file
117 122 self.lstDtype.setCurrentIndex(int(lines[2])) #2 No newline at end of file
118 123 self.txtDtype.setText(lines[3][:-1]) #3 No newline at end of file
119 124 self.txtElabel.setText(lines[4][:-1]) #4 No newline at end of file
120 125 self.txtCopys.setValue(int(lines[5][:-1])) #5 No newline at end of file
121 126 self.lstDcapacity.setCurrentIndex(int(lines[6])) #6 No newline at end of file
122 127 self.txtDcapacity.setValue(float(lines[7])) #7 No newline at end of file
123 128 self.var_Discs = int(lines[8]) #8 No newline at end of file
124 129 # var_StartDay = int(lines[6]) #9 No newline at end of file
125 130 # var_StopDay = int(lines[7]) #10 No newline at end of file
126 131 var_file.close() No newline at end of file
127 132 No newline at end of file
128 133 No newline at end of file
129 134 No newline at end of file
130 135 #-------------------------- actualiza el valor de las variables con los parametros seleccionados ----------------------------- No newline at end of file
131 136 No newline at end of file
132 137 def set_vars(self): No newline at end of file
133 138 self.var_Dpath = str(self.txtDpath.text()) #0 No newline at end of file
134 139 self.var_Rpath = str(self.txtRpath.text()) #1 No newline at end of file
135 140 self.var_lstDtype = self.lstDtype.currentIndex() #2 No newline at end of file
136 141 self.var_Dtype = str(self.txtDtype.text()) #3 No newline at end of file
137 142 self.var_Elabel = str(self.txtElabel.text()) #4 No newline at end of file
138 143 self.var_Copys = self.txtCopys.value() #5 No newline at end of file
139 144 self.var_lstDcapacity = self.lstDcapacity.currentIndex() #6 No newline at end of file
140 145 self.var_Dcapacity = self.txtDcapacity.value() #7 No newline at end of file
141 146 self.var_Discs = self.var_Discs #8 No newline at end of file
142 147 No newline at end of file
143 148 #---------------------------------------------- Habilitacion y deshabilitacion de items ------------------------------------------------------- No newline at end of file
144 149 No newline at end of file
145 150 def enabled_items1(var_bool, self): No newline at end of file
146 151 self.tabParameters.setEnabled(not(var_bool)) No newline at end of file
147 152 self.lstDcapacity.setEnabled(not(var_bool)) No newline at end of file
148 153 self.txtDcapacity.setEnabled(not(var_bool)) No newline at end of file
149 154 self.actionChange_Parameters.setEnabled(var_bool) No newline at end of file
150 155 self.btnGbkp.setEnabled(not(var_bool)) No newline at end of file
151 156 self.btnRestart.setEnabled(var_bool) No newline at end of file
152 157 self.btnStartburn.setEnabled(var_bool) No newline at end of file
153 158 No newline at end of file
154 159 No newline at end of file
155 160 def enabled_items2(var_bool, self): No newline at end of file
156 161 self.btnRestart.setEnabled(not(var_bool)) No newline at end of file
157 162 self.btnStartburn.setEnabled(not(var_bool)) No newline at end of file
158 163 self.btnStopburn.setEnabled(var_bool) No newline at end of file
159 164 self.chkCheck.setEnabled(not(var_bool)) No newline at end of file
160 165
@@ -1,467 +1,484
1 1 # -*- coding: utf-8 -*- No newline at end of file
2 2 No newline at end of file
3 3 """ No newline at end of file
4 4 Module implementing MainWindow. No newline at end of file
5 5 """ No newline at end of file
6 6 No newline at end of file
7 7 from PyQt4.QtGui import QMainWindow No newline at end of file
8 8 from PyQt4.QtCore import pyqtSignature No newline at end of file
9 9 from PyQt4 import QtCore No newline at end of file
10 10 from Ui_MainWindow import Ui_MainWindow No newline at end of file
11 11 from Ui_Parameters import Ui_Parameters No newline at end of file
12 12 from Ui_About import Ui_About No newline at end of file
13 13 from PyQt4 import QtGui No newline at end of file
14 14 from subprocess import * No newline at end of file
15 15 import sys No newline at end of file
16 16 import os No newline at end of file
17 17 #import subprocess No newline at end of file
18 18 import commands No newline at end of file
19 19 from functions import functions No newline at end of file
20 20 from functions import functions2 No newline at end of file
21 21 No newline at end of file
22 22 class MainWindow(QMainWindow, Ui_MainWindow): No newline at end of file
23 23 """ No newline at end of file
24 24 Class documentation goes here. No newline at end of file
25 25 """ No newline at end of file
26 26 No newline at end of file
27 27 def __init__(self, parent = None): No newline at end of file
28 28 QMainWindow.__init__(self, parent) No newline at end of file
29 29 self.setupUi(self) No newline at end of file
30 30 No newline at end of file
31 31 self.setupUi2() No newline at end of file
32 32 #sys.stdout = self #redirige salida estandar No newline at end of file
33 33 No newline at end of file
34 34 def setupUi2(self): No newline at end of file
35 35 No newline at end of file
36 36 # functions2.detect_devices(self) #busca los dispositivos de grabacion No newline at end of file
37 37 No newline at end of file
38 38 self.var_Discs = 0 #Numero de discos del proyecto No newline at end of file
39 39 self.var_Copys = 0 #Numero de copias No newline at end of file
40 40 self.var_disc_n = 0 No newline at end of file
41 41 self.var_copy_n = 0 No newline at end of file
42 42 No newline at end of file
43 43 self.var_list=[] No newline at end of file
44 44 self.var_sublist=[] No newline at end of file
45 45 No newline at end of file
46 46 self.var_devices=[] No newline at end of file
47 47 No newline at end of file
48 48 self.var_step = 0 No newline at end of file
49 49 self.bool_state_burning = False No newline at end of file
50 50 self.blank_discs = False No newline at end of file
51 51 No newline at end of file
52 52 No newline at end of file
53 53 #Revisa si existe el archivo de confirguracion No newline at end of file
54 54 if os.path.isfile("parameters.conf"): No newline at end of file
55 55 self.txtInfo.append("Parameters were loaded from configuration file") No newline at end of file
56 56 functions2.get_parameters_conf(self)
57 No newline at end of file
57 self.txtInfo.append("El proyecto es de "+str(self.var_Discs)+" discos") No newline at end of file
No newline at end of file
58 No newline at end of file
58 59 else:
60 No newline at end of file
59 self.txtInfo.append("Elija los parametros de configuracion") No newline at end of file
60 61 functions2.set_parameters_test(self) #Establece ciertos parametros, para pruebas No newline at end of file
61 62 No newline at end of file
62 63 functions2.set_vars(self) #Carga las variables de la clase con los parametros seleccionados No newline at end of file
63 64 No newline at end of file
64 65 self.statusDpath = functions.dir_exists(self.var_Dpath, self) No newline at end of file
65 66 self.statusRpath = functions.dir_exists(self.var_Rpath, self) No newline at end of file
66 67 functions.load_days(self) No newline at end of file
67 68 No newline at end of file
68 69 if os.path.isfile("parameters.conf"): No newline at end of file
69 70 functions2.enabled_items1(True, self) #Se bloquean los parametros de configuracion No newline at end of file
70 71 No newline at end of file
71 72 self.connect(self.actionChange_Parameters, QtCore.SIGNAL("triggered()"), self.changeParameters) No newline at end of file
72 73 self.connect(self.actionAbout, QtCore.SIGNAL("triggered()"), self.about) No newline at end of file
73 74 No newline at end of file
74 75 self.var_process = QtCore.QProcess() No newline at end of file
75 76 self.connect(self.var_process, QtCore.SIGNAL('readyReadStandardOutput()'), self.readOuput) No newline at end of file
76 77 self.connect(self.var_process, QtCore.SIGNAL('readyReadStandardError()'), self.readError) No newline at end of file
77 78 self.connect(self.var_process, QtCore.SIGNAL('finished(int,QProcess::ExitStatus)'), self.finished) No newline at end of file
78 79 No newline at end of file
80 self.var_process_check = QtCore.QProcess()
No newline at end of file
81 self.connect(self.var_process_check, QtCore.SIGNAL('readyReadStandardOutput()'), self.readOuput_check)
No newline at end of file
82 self.connect(self.var_process_check, QtCore.SIGNAL('readyReadStandardError()'), self.readError_check)
No newline at end of file
83 self.connect(self.var_process_check, QtCore.SIGNAL('finished(int,QProcess::ExitStatus)'), self.finished_check) No newline at end of file
79 84 No newline at end of file
80 85 def write(self, txt): No newline at end of file
81 86 self.txtInfo.append(str(txt)) No newline at end of file
82 87 No newline at end of file
83 88 def changeParameters(self): No newline at end of file
84 89 dlg=QtGui.QDialog() No newline at end of file
85 90 dlgui=Ui_Parameters() No newline at end of file
86 91 dlgui.setupUi(dlg) No newline at end of file
87 92 if (dlg.exec_() == QtGui.QDialog.Accepted): No newline at end of file
88 93 if dlgui.txtDisc.value() > self.var_Discs or dlgui.txtCopy.value() > dlgui.txtNcopys.value(): No newline at end of file
89 94 self.txtInfo.append("Wrong parameters") No newline at end of file
90 95 else: No newline at end of file
91 96 self.var_Copys = dlgui.txtNcopys.value() No newline at end of file
92 97 self.var_disc_n = dlgui.txtDisc.value() No newline at end of file
93 98 self.var_copy_n = dlgui.txtCopy.value() No newline at end of file
94 99 self.txtInfo.append("Changed parameters") No newline at end of file
95 100 No newline at end of file
96 101 No newline at end of file
97 102 def about(self): No newline at end of file
98 103 dlg_about=QtGui.QDialog() No newline at end of file
99 104 dlgui_about=Ui_About() No newline at end of file
100 105 dlgui_about.setupUi(dlg_about) No newline at end of file
101 106 dlg_about.exec_() No newline at end of file
102 107 No newline at end of file
103 108 #----------------------------------------------------- Funciones del proceso --------------------------------------------------------------- No newline at end of file
104 109 No newline at end of file
105 110 def readOuput(self): No newline at end of file
106 111 self.txtInfo.insertPlainText("stdout: " + QtCore.QString(self.var_process.readAllStandardOutput())) No newline at end of file
107 112 No newline at end of file
108 113 def readError(self): No newline at end of file
109 114 self.txtInfo.setText("stderr: " + QtCore.QString(self.var_process.readAllStandardError())) No newline at end of file
110 115 No newline at end of file
111 116 def finished(self): No newline at end of file
112 117 self.txtInfo.append("proceso terminado finished() "+QtCore.QString(self.var_process.exitCode())+"\n") No newline at end of file
113 118 if self.var_disc_n <= self.var_Discs and self.bool_state_burning: No newline at end of file
114 119 self.burning() No newline at end of file
115 120 No newline at end of file
116 121 No newline at end of file
122 #----------------------------------------------------- Funciones del proceso de verificacion ---------------------------------------------------------------
No newline at end of file
123
No newline at end of file
124 def readOuput_check(self):
No newline at end of file
125 self.txtInfo.insertPlainText("stdout check: " + QtCore.QString(self.var_process_check.readAllStandardOutput()))
No newline at end of file
126
No newline at end of file
127 def readError_check(self):
No newline at end of file
128 self.txtInfo.setText("stderr check: " + QtCore.QString(self.var_process_check.readAllStandardError()))
No newline at end of file
129
No newline at end of file
130 def finished_check(self):
No newline at end of file
131 self.txtInfo.append("proceso terminado finished() check"+QtCore.QString(self.var_process_check.exitCode())+"\n")
No newline at end of file
132
No newline at end of file
133 No newline at end of file
117 134 #----------------------------------------------------- Obtencion de la ruta de los datos --------------------------------------------------------------- No newline at end of file
118 135 No newline at end of file
119 136 @pyqtSignature("") No newline at end of file
120 137 def on_btnDpath_clicked(self): No newline at end of file
121 138 """ No newline at end of file
122 139 Permite seleccionar graficamente el direcorio de los datos a grabar No newline at end of file
123 140 """ No newline at end of file
124 141 self.var_Dpath= str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly)) No newline at end of file
125 142 self.txtDpath.setText(self.var_Dpath) No newline at end of file
126 143 self.statusDpath = functions.dir_exists(self.var_Dpath, self) No newline at end of file
127 144 functions.load_days(self) No newline at end of file
128 145 No newline at end of file
129 146 No newline at end of file
130 147 @pyqtSignature("") No newline at end of file
131 148 def on_txtDpath_editingFinished(self): No newline at end of file
132 149 """ No newline at end of file
133 150 Carga la ruta editada y verifica que sea correcta y carga la lista de dias No newline at end of file
134 151 """ No newline at end of file
135 152 self.var_Dpath=str(self.txtDpath.text()) #Se carga la variable con la ruta recien editada No newline at end of file
136 153 self.statusDpath = functions.dir_exists(self.var_Dpath, self) No newline at end of file
137 154 functions.load_days(self) No newline at end of file
138 155 No newline at end of file
139 156 No newline at end of file
140 157 #----------------------------------------------------- Obtencion de las ruta del proyecto --------------------------------------------------------------- No newline at end of file
141 158 No newline at end of file
142 159 @pyqtSignature("") No newline at end of file
143 160 def on_btnRpath_clicked(self): No newline at end of file
144 161 """ No newline at end of file
145 162 Permite seleccionar graficamente el direcorio del proyecto No newline at end of file
146 163 """ No newline at end of file
147 164 self.var_Rpath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly)) No newline at end of file
148 165 self.txtRpath.setText(self.var_Rpath) No newline at end of file
149 166 self.statusRpath = functions.dir_exists(self.var_Rpath, self) No newline at end of file
150 167 No newline at end of file
151 168 No newline at end of file
152 169 @pyqtSignature("") No newline at end of file
153 170 def on_txtRpath_editingFinished(self): No newline at end of file
154 171 """ No newline at end of file
155 172 Valida la ruta del proyecto No newline at end of file
156 173 """ No newline at end of file
157 174 self.var_Rpath = str(self.txtRpath.text()) #Se carga la variable con la ruta recien editada No newline at end of file
158 175 self.statusRpath = functions.dir_exists(self.var_Rpath, self) No newline at end of file
159 176 No newline at end of file
160 177 No newline at end of file
161 178 #----------------------------------------------------- Tipo de datos --------------------------------------------------------------- No newline at end of file
162 179 No newline at end of file
163 180 @pyqtSignature("int") No newline at end of file
164 181 def on_lstDtype_activated(self, index): No newline at end of file
165 182 """ No newline at end of file
166 183 Permite elegir entre los tipos de archivos No newline at end of file
167 184 """ No newline at end of file
168 185 self.txtDtype.setReadOnly(True) No newline at end of file
169 186 if index == 0: No newline at end of file
170 187 self.var_Dtype ='r' No newline at end of file
171 188 elif index == 1: No newline at end of file
172 189 self.var_Dtype ='pdata' No newline at end of file
173 190 elif index == 2: No newline at end of file
174 191 self.var_Dtype ='sswma' No newline at end of file
175 192 else : No newline at end of file
176 193 self.var_Dtype ='' No newline at end of file
177 194 self.txtDtype.setReadOnly(False) No newline at end of file
178 195 No newline at end of file
179 196 self.txtDtype.setText(self.var_Dtype) No newline at end of file
180 197 functions.load_days(self) #llamada a funcion No newline at end of file
181 198 No newline at end of file
182 199 @pyqtSignature("") No newline at end of file
183 200 def on_txtDtype_editingFinished(self): No newline at end of file
184 201 self.var_Dtype=str(self.txtDtype.text()) No newline at end of file
185 202 functions.load_days(self) #llamada a funcion No newline at end of file
186 203 No newline at end of file
187 204 No newline at end of file
188 205 #----------------------------------------------------- Etiqueta --------------------------------------------------------------- No newline at end of file
189 206 No newline at end of file
190 207 @pyqtSignature("") No newline at end of file
191 208 def on_txtElabel_editingFinished(self): No newline at end of file
192 209 self.var_Elabel = str(self.txtElabel.text()) No newline at end of file
193 210 No newline at end of file
194 211 #----------------------------------------------------- Numero de copias --------------------------------------------------------------- No newline at end of file
195 212 @pyqtSignature("") No newline at end of file
196 213 def on_txtCopys_editingFinished(self): No newline at end of file
197 214 self.var_Copys = self.txtCopys.value() No newline at end of file
198 215 No newline at end of file
199 216 #----------------------------------------------------- Seleccion del rango de fechas --------------------------------------------------------------- No newline at end of file
200 217 No newline at end of file
201 218 @pyqtSignature("int") #CLOSED No newline at end of file
202 219 def on_lstStartDay_activated(self, index): No newline at end of file
203 220 """ No newline at end of file
204 221 Cambia la lista de opciones en lstStopDay No newline at end of file
205 222 """ No newline at end of file
206 223 var_StopDay_index=self.lstStopDay.count() - self.lstStopDay.currentIndex() No newline at end of file
207 224 self.lstStopDay.clear() No newline at end of file
208 225 No newline at end of file
209 226 for i in self.var_list[index:]: No newline at end of file
210 227 self.lstStopDay.addItem(i) No newline at end of file
211 228 No newline at end of file
212 229 self.lstStopDay.setCurrentIndex(self.lstStopDay.count() - var_StopDay_index) No newline at end of file
213 230 No newline at end of file
214 231 functions.get_sub_list(self) No newline at end of file
215 232 No newline at end of file
216 233 No newline at end of file
217 234 @pyqtSignature("int") #CLOSED No newline at end of file
218 235 def on_lstStopDay_activated(self, index): No newline at end of file
219 236 """ No newline at end of file
220 237 Cambia la lista de opciones en lstStartDay No newline at end of file
221 238 """ No newline at end of file
222 239 var_StartDay_index=self.lstStartDay.currentIndex() No newline at end of file
223 240 var_end_index = self.lstStopDay.count() - index No newline at end of file
224 241 self.lstStartDay.clear() No newline at end of file
225 242 No newline at end of file
226 243 for i in self.var_list[:len(self.var_list) - var_end_index + 1]: No newline at end of file
227 244 self.lstStartDay.addItem(i) No newline at end of file
228 245 No newline at end of file
229 246 self.lstStartDay.setCurrentIndex(var_StartDay_index) No newline at end of file
230 247 No newline at end of file
231 248 functions.get_sub_list(self) No newline at end of file
232 249 No newline at end of file
233 250 No newline at end of file
234 251 #----------------------------------------------------- Capacidad del dispositivo de grabacion --------------------------------------------------------------- No newline at end of file
235 252 No newline at end of file
236 253 @pyqtSignature("") No newline at end of file
237 254 def on_txtDcapacity_editingFinished(self): No newline at end of file
238 255 self.var_Dcapacity = self.txtDcapacity.value() No newline at end of file
239 256 No newline at end of file
240 257 No newline at end of file
241 258 @pyqtSignature("int") #CLOSED No newline at end of file
242 259 def on_lstDcapacity_activated(self, index): No newline at end of file
243 260 """ No newline at end of file
244 261 Permite elegir el tamaΓ±o del disco No newline at end of file
245 262 """ No newline at end of file
246 263 if index == 0: No newline at end of file
247 264 var_size=25.0 No newline at end of file
248 265 elif index == 1: No newline at end of file
249 266 var_size=8.5 No newline at end of file
250 267 elif index == 2: No newline at end of file
251 268 var_size=4.7 No newline at end of file
252 269 elif index == 3: No newline at end of file
253 270 var_size=0.7 No newline at end of file
254 271 No newline at end of file
255 272 if index != 4: No newline at end of file
256 273 self.txtDcapacity.setValue(var_size*10**9/1024**2) No newline at end of file
257 274 self.txtDcapacity.setReadOnly(True) No newline at end of file
258 275 else: No newline at end of file
259 276 self.txtDcapacity.setValue(100.0) No newline at end of file
260 277 self.txtDcapacity.setReadOnly(False) No newline at end of file
261 278 No newline at end of file
262 279 self.var_lstDcapacity = self.lstDcapacity.currentIndex() No newline at end of file
263 280 self.var_Dcapacity = self.txtDcapacity.value() No newline at end of file
264 281 No newline at end of file
265 282 No newline at end of file
266 283 #============================================================================== No newline at end of file
267 284 # Botones para la generacion de los archivos de configuracion y el proceso de grabacion No newline at end of file
268 285 #============================================================================== No newline at end of file
269 286 No newline at end of file
270 287 #----------------------------------------------------- Generacion de la configuracion usando los parametros --------------------------------------------------------------- No newline at end of file
271 288 No newline at end of file
272 289 @pyqtSignature("") No newline at end of file
273 290 def on_btnGbkp_clicked(self): No newline at end of file
274 291 """ No newline at end of file
275 292 Generacion de archivos de configuracion usando los parametros No newline at end of file
276 293 """ No newline at end of file
277 294 No newline at end of file
278 295 if functions.validate_parameters(self) == False: No newline at end of file
279 296 return No newline at end of file
280 297 No newline at end of file
281 298 #Crea las carpetas en la ruta del proyecto y verifica que se crearon correctamente No newline at end of file
282 299 list_dirs=['gpath','iso','ppath', 'tmpdata'] No newline at end of file
283 300 bool_make_dirs = functions.make_dirs(list_dirs, self) No newline at end of file
284 301 if bool_make_dirs == False: No newline at end of file
285 302 return No newline at end of file
286 303 No newline at end of file
287 304 var_files_list = functions.list_files(self) #Se obtiene la lista de archivos a grabar No newline at end of file
288 305 No newline at end of file
289 306 self.var_Discs = functions.make_files_dat(var_files_list, self) #Se crean los archivos .dat No newline at end of file
290 307 No newline at end of file
291 308 functions.make_files_print(self) # Se crean los archivos .print No newline at end of file
292 309 No newline at end of file
293 310 functions2.make_parameters_conf(self) # se crea el archivo parameters.conf No newline at end of file
294 311 No newline at end of file
295 312 self.txtInfo.append("Total number of discs for recording: "+str(self.var_Discs * self.var_Copys)) No newline at end of file
296 313 No newline at end of file
297 314 #Se bloquean los parametros de configuracion No newline at end of file
298 315 functions2.enabled_items1(True, self) No newline at end of file
299 316 No newline at end of file
300 317 No newline at end of file
301 318 No newline at end of file
302 319 #----------------------------------------------------- Permite reiniciar la configuracion --------------------------------------------------------------- No newline at end of file
303 320 No newline at end of file
304 321 @pyqtSignature("") No newline at end of file
305 322 def on_btnRestart_clicked(self): No newline at end of file
306 323 """ No newline at end of file
307 324 Permite que se puedan cambiar los parametros No newline at end of file
308 325 """ No newline at end of file
309 326 functions2.enabled_items1(False, self) No newline at end of file
310 327 os.remove("parameters.conf") No newline at end of file
311 328 No newline at end of file
312 329 No newline at end of file
313 330 #----------------------------------------------------- Iniciar proceso de grabacion --------------------------------------------------------------- No newline at end of file
314 331 No newline at end of file
315 332 @pyqtSignature("") No newline at end of file
316 333 def on_btnStartburn_clicked(self): No newline at end of file
317 334 """ No newline at end of file
318 335 Se inicia el proceso de grabacion No newline at end of file
319 336 """ No newline at end of file
320 337 No newline at end of file
321 338 if self.blank_discs == True: No newline at end of file
322 339 self.btnStartburn.setEnabled(False) No newline at end of file
323 340 self.burning() No newline at end of file
324 341 return No newline at end of file
325 342 No newline at end of file
326 343 #Verifica que exista algun dispositivo de grabacion seleccionado No newline at end of file
327 344 if not(functions2.selected_devices(self)): No newline at end of file
328 345 self.txtInfo.append("There is no recording device selected") No newline at end of file
329 346 return No newline at end of file
330 347 No newline at end of file
331 348 #Lista los dispositivos de grabacion a usar No newline at end of file
332 349 for dev in self.var_devices: No newline at end of file
333 350 self.txtInfo.append("recording device :"+dev) No newline at end of file
334 351 No newline at end of file
335 352 #Asigna las variables con los valores iniciales No newline at end of file
336 353 self.var_disc_n = 0 # numero de disco actual para grabacion No newline at end of file
337 354 self.var_copy_n = 0 No newline at end of file
338 355 self.var_step = 0 No newline at end of file
339 356 self.bool_state_burning = True No newline at end of file
340 357 self.blank_discs = False No newline at end of file
341 358 No newline at end of file
342 359 functions2.enabled_items2(True, self) No newline at end of file
343 360 self.burning() No newline at end of file
344 361 No newline at end of file
345 362 def burning(self): No newline at end of file
346 363 No newline at end of file
347 364 var_Rpath_ppath=self.var_Rpath+"/ppath" No newline at end of file
348 365 var_Rpath_iso=self.var_Rpath+"/iso" No newline at end of file
349 366 No newline at end of file
350 367 #Creacion del archivo.iso para la grabacion No newline at end of file
351 368 if self.var_step == 0: No newline at end of file
352 369 #borra la imagen.iso del numero de disco anterior No newline at end of file
353 370 if self.var_disc_n > 0: No newline at end of file
354 371 file_iso=var_Rpath_iso+"/"+functions.i2s(self.var_disc_n)+".iso" No newline at end of file
355 372 # os.remove(file_iso) No newline at end of file
356 373 No newline at end of file
357 374 self.var_disc_n += 1 # aumenta numero de disco actual para grabacion No newline at end of file
358 375 self.var_copy_n = 0 # Resetea el numero actual de la copia No newline at end of file
359 376 No newline at end of file
360 377 #Si ya se grabaron todos los discos No newline at end of file
361 378 if self.var_disc_n > self.var_Discs: No newline at end of file
362 379 self.bool_state_burning = False No newline at end of file
363 380 self.txtInfo.append("Recording process is complete") No newline at end of file
364 381 # functions2.eject_devices(self) # Expulsa las bandejas de los dispostivos de grabacion No newline at end of file
365 382 No newline at end of file
366 383 return No newline at end of file
367 384 No newline at end of file
368 385 self.txtInfo.append("########## DISCO NUMERO: "+str(self.var_disc_n)+"##########") No newline at end of file
369 386 self.txtInfo.append("--------Creando el iso del disco numero: "+str(self.var_disc_n)) No newline at end of file
370 387 No newline at end of file
371 388 #comando para la creacion del archivo.iso No newline at end of file
372 389 file_dat=var_Rpath_ppath+"/"+self.var_Elabel+"_"+functions.i2s(self.var_disc_n)+".dat" No newline at end of file
373 390 file_iso=var_Rpath_iso+"/"+functions.i2s(self.var_disc_n)+".iso" No newline at end of file
374 391 var_cmd = 'genisoimage -hide-joliet-trans-tbl -joliet-long -r ' No newline at end of file
375 392 var_cmd += ' -A '+self.var_Elabel+' -V '+self.var_Elabel No newline at end of file
376 393 var_cmd += ' -graft-points -path-list '+ file_dat+' -o '+file_iso No newline at end of file
377 394 self.var_step = 1 #Se ira al paso de la grabacion en la siguiente llamada No newline at end of file
378 395 No newline at end of file
379 396 #Grabacion de los DVDs No newline at end of file
380 397 elif self.var_step == 1: No newline at end of file
381 398 self.var_copy_n += 1 # numero de copia actual No newline at end of file
382 399 var_index = ( ( (self.var_disc_n - 1) * self.var_Copys) + (self.var_copy_n - 1) ) % len(self.var_devices) No newline at end of file
383 400 No newline at end of file
384 401 if var_index == 0 and self.blank_discs == False: No newline at end of file
385 402 self.txtInfo.append("EXPULSANDO BANDEJAS") No newline at end of file
386 403 self.var_copy_n -= 1 #El numero de copia se regresa al estado anterior No newline at end of file
387 404 # functions2.eject_devices(self) # Expulsa las bandejas de los dispostivos de grabacion No newline at end of file
388 405 self.blank_discs = True No newline at end of file
389 406 self.btnStartburn.setText("Continue") No newline at end of file
390 407 self.btnStartburn.setEnabled(True) No newline at end of file
391 408 return No newline at end of file
392 409 No newline at end of file
393 410 self.blank_discs = False No newline at end of file
394 411 No newline at end of file
395 412 self.txtInfo.append("Grabando la copia numero: "+str(self.var_copy_n)) No newline at end of file
396 413 #Si esta es la ultima copia se pasara al siguiente disco en la siguiente llamada a la funcion No newline at end of file
397 414 if self.var_copy_n == self.var_Copys: No newline at end of file
398 415 self.var_step = 0 No newline at end of file
399 416 No newline at end of file
400 417 var_dev_tmp = self.var_devices[var_index] No newline at end of file
401 418 file_iso=var_Rpath_iso+"/"+functions.i2s(self.var_disc_n)+".iso" No newline at end of file
402 419 var_cmd = "wodim -v dev="+var_dev_tmp+" speed=16 "+ file_iso No newline at end of file
403 420 No newline at end of file
404 421 self.var_process.start('ls') No newline at end of file
405 422 self.txtInfo.append("CMD: "+var_cmd) No newline at end of file
406 423 No newline at end of file
407 424 # self.txtInfo.append("creando iso") No newline at end of file
408 425 # self.var_process.start(var_cmd) No newline at end of file
409 426 No newline at end of file
410 427 No newline at end of file
411 428 #----------------------------------------------------- Detener proceso de grabacion --------------------------------------------------------------- No newline at end of file
412 429 No newline at end of file
413 430 @pyqtSignature("") No newline at end of file
414 431 def on_btnStopburn_clicked(self): No newline at end of file
415 432 """ No newline at end of file
416 433 Slot documentation goes here. No newline at end of file
417 434 """ No newline at end of file
418 435 self.bool_state_burning = False No newline at end of file
419 436 self.var_process.terminate() #Termina el proceso, si puede No newline at end of file
420 437 # self.var_process.kill() #Mata el proceso, no es la forma adecuada, solo usar si terminate() no funciona No newline at end of file
421 438 self.txtInfo.append("Stopped recording") No newline at end of file
422 439 functions2.enabled_items2(False, self) No newline at end of file
423 440 self.btnStartburn.setText("Start Burn") No newline at end of file
424 441 No newline at end of file
425 442 No newline at end of file
426 443 #----------------------------------------------------- Testeo de las unidades de grabacion --------------------------------------------------------------- No newline at end of file
427 444 No newline at end of file
428 445 @pyqtSignature("") No newline at end of file
429 446 def on_btnTdevA_clicked(self): No newline at end of file
430 447 var_dev = str(self.txtDeviceA.text()) No newline at end of file
431 448 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev No newline at end of file
432 449 commands.getstatusoutput(var_cmd) No newline at end of file
433 450 No newline at end of file
434 451 @pyqtSignature("") No newline at end of file
435 452 def on_btnTdevB_clicked(self): No newline at end of file
436 453 var_dev = str(self.txtDeviceB.text()) No newline at end of file
437 454 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev No newline at end of file
438 455 commands.getstatusoutput(var_cmd) No newline at end of file
439 456 No newline at end of file
440 457 @pyqtSignature("") No newline at end of file
441 458 def on_btnTdevC_clicked(self): No newline at end of file
442 459 var_dev = str(self.txtDeviceC.text()) No newline at end of file
443 460 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev No newline at end of file
444 461 commands.getstatusoutput(var_cmd) No newline at end of file
445 462 No newline at end of file
446 463 @pyqtSignature("") No newline at end of file
447 464 def on_btnTdevD_clicked(self): No newline at end of file
448 465 var_dev = str(self.txtDeviceD.text()) No newline at end of file
449 466 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev No newline at end of file
450 467 commands.getstatusoutput(var_cmd) No newline at end of file
451 468 No newline at end of file
452 469 @pyqtSignature("") No newline at end of file
453 470 def on_btnTDpath_clicked(self): No newline at end of file
454 471 """ No newline at end of file
455 472 Slot documentation goes here. No newline at end of file
456 473 """ No newline at end of file
457 474 self.var_TDpath= str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly)) No newline at end of file
458 475 self.txtTDpath.setText(self.var_TDpath) No newline at end of file
459 476 self.statusTDpath = functions.dir_exists(self.var_TDpath, self) No newline at end of file
460 477 No newline at end of file
461 478 No newline at end of file
462 479 @pyqtSignature("") No newline at end of file
463 480 def on_btnCHstart_clicked(self): No newline at end of file
464 481 """ No newline at end of file
465 482 Slot documentation goes here. No newline at end of file
466 483 """ No newline at end of file
467 484 pass No newline at end of file
General Comments 0
You need to be logged in to leave comments. Login now