##// END OF EJS Templates
3ro segun diagrama...
ralonso -
r78:79
parent child
Show More
@@ -1,321 +1,331
1 # -*- coding: utf-8 -*- No newline at end of file
1 # -*- coding: utf-8 -*-
2 No newline at end of file
2
3 #class BKmanager: No newline at end of file
3 #class BKmanager:
4 # def __init__(self): No newline at end of file
4 # def __init__(self):
5 No newline at end of file
5
6 from subprocess import * No newline at end of file
6 from subprocess import *
7 import sys No newline at end of file
7 import sys
8 import os No newline at end of file
8 import os
9 import subprocess No newline at end of file
9 import subprocess
10 import commands No newline at end of file
10 import commands
11 import shutil No newline at end of file
11 import shutil
12 import functions2 No newline at end of file
12 No newline at end of file
13
13 #--------------------------------------------- Entero a cadena agregando ceros delante ------------------------------------------------- No newline at end of file
14 #--------------------------------------------- Entero a cadena agregando ceros delante -------------------------------------------------
14 No newline at end of file
15
15 def i2s(var_n, var_length=4): No newline at end of file
16 def i2s(var_n, var_length=4):
16 var_n2=str(var_n) No newline at end of file
17 var_n2=str(var_n)
17 while len(var_n2) < var_length: No newline at end of file
18 while len(var_n2) < var_length:
18 var_n2 = "0"+var_n2 No newline at end of file
19 var_n2 = "0"+var_n2
19 return var_n2 No newline at end of file
20 return var_n2
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 #----------------------------------------- Se verifica que la ruta exista y sea un directorio -------------------------------------------------
23 No newline at end of file
24
24 def dir_exists(var_dir, self): No newline at end of file
25 def dir_exists(var_dir, self):
25 if os.path.isdir(var_dir): No newline at end of file
26 if os.path.isdir(var_dir):
26 return True No newline at end of file
27 return True
27 else: No newline at end of file
28 else:
28 self.txtInfo.append("Incorrect path:" + str(var_dir)) No newline at end of file
29 self.txtInfo.append("Incorrect path:" + str(var_dir))
29 return False No newline at end of file
30 return False
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 #-------------------------------- Se buscan los archivos del tipo especificado y se cargan las fechas -----------------------------
33 No newline at end of file
34
34 def load_days(self): No newline at end of file
35 def load_days(self):
35 No newline at end of file
36
36 self.var_list=[] No newline at end of file
37 self.var_list=[]
37 self.lstStartDay.clear() No newline at end of file
38 self.lstStartDay.clear()
38 self.lstStopDay.clear() No newline at end of file
39 self.lstStopDay.clear()
39 No newline at end of file
40
40 if self.statusDpath == False: No newline at end of file
41 if self.statusDpath == False:
41 self.btnGbkp.setEnabled(False) No newline at end of file
42 self.btnGbkp.setEnabled(False)
42 return No newline at end of file
43 return
43 No newline at end of file
44
44 if self.var_Dtype == '': No newline at end of file
45 if self.var_Dtype == '':
45 return No newline at end of file
46 return
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 var_cmd="find " + str(self.var_Dpath) + " -name *."+ str(self.var_Dtype) +" | awk -F/ '{print substr($NF,2,7)}' | sort| uniq"
48 output=commands.getstatusoutput(var_cmd)[1] No newline at end of file
49 output=commands.getstatusoutput(var_cmd)[1]
49 No newline at end of file
50
50 #Si no se encuentra ningun archivo No newline at end of file
51 #Si no se encuentra ningun archivo
51 if len(output) == 0: No newline at end of file
52 if len(output) == 0:
52 self.txtInfo.append("File not found") No newline at end of file
53 self.txtInfo.append("File not found")
53 self.btnGbkp.setEnabled(False) No newline at end of file
54 self.btnGbkp.setEnabled(False)
54 return No newline at end of file
55 return
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 #Se cargan las listas para seleccionar StartDay y StopDay (QComboBox)
57 for i in range(0, (len(output)+1)/8): No newline at end of file
58 for i in range(0, (len(output)+1)/8):
58 self.var_list.append(output[8*i:8*(i+1)-1]) No newline at end of file
59 self.var_list.append(output[8*i:8*(i+1)-1])
59 No newline at end of file
60
60 for i in self.var_list: No newline at end of file
61 for i in self.var_list:
61 self.lstStartDay.addItem(i) No newline at end of file
62 self.lstStartDay.addItem(i)
62 self.lstStopDay.addItem(i) No newline at end of file
63 self.lstStopDay.addItem(i)
63 self.lstStopDay.setCurrentIndex(self.lstStartDay.count()-1) No newline at end of file
64 self.lstStopDay.setCurrentIndex(self.lstStartDay.count()-1)
64 No newline at end of file
65
65 get_sub_list(self) No newline at end of file
66 get_sub_list(self)
66 self.btnGbkp.setEnabled(True) No newline at end of file
67 self.btnGbkp.setEnabled(True)
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 #-------------------------------------------------- Obtiene el rango de las fechas seleccionadas -----------------------------------------
70 No newline at end of file
71
71 def get_sub_list(self): No newline at end of file
72 def get_sub_list(self):
72 self.var_sublist=[] No newline at end of file
73 self.var_sublist=[]
73 for i in self.var_list[self.lstStartDay.currentIndex():self.lstStartDay.currentIndex() + self.lstStopDay.currentIndex()+1]: No newline at end of file
74 for i in self.var_list[self.lstStartDay.currentIndex():self.lstStartDay.currentIndex() + self.lstStopDay.currentIndex()+1]:
74 self.var_sublist.append(i) No newline at end of file
75 self.var_sublist.append(i)
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 #----------------------------------------------------- Verifica los parametros faltantes -----------------------------------------------------------
78 No newline at end of file
79
79 def validate_parameters(self): No newline at end of file
80 def validate_parameters(self):
80 #Verifica que las ruta del proyecto sea valida No newline at end of file
81 #Verifica que las ruta del proyecto sea valida
81 if self.statusRpath == False: No newline at end of file
82 if self.statusRpath == False:
82 self.txtInfo.append("Incorrect proyect path") No newline at end of file
83 self.txtInfo.append("Incorrect proyect path")
83 return False No newline at end of file
84 return False
84 No newline at end of file
85
85 #Verifica la etiqueta No newline at end of file
86 #Verifica la etiqueta
86 if len(self.var_Elabel) == 0: No newline at end of file
87 if len(self.var_Elabel) == 0:
87 self.txtInfo.append("Enter label") No newline at end of file
88 self.txtInfo.append("Enter label")
88 return False No newline at end of file
89 return False
89 No newline at end of file
90
90 return True No newline at end of file
91 return True
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 #------------------------------------------------- Crea directorios en la ruta indicada -----------------------------------------------------------
94 No newline at end of file
95
95 def make_dirs(list_dirs, self): No newline at end of file
96 def make_dirs(list_dirs, self):
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 for var_dir in list_dirs:
101 shutil.rmtree(self.var_Rpath+'/'+var_dir, True) No newline at end of file
102 shutil.rmtree(self.var_Rpath+'/'+var_dir, True)
102 var_output=commands.getstatusoutput("mkdir -p "+self.var_Rpath+'/'+var_dir)[0] No newline at end of file
103 var_output=commands.getstatusoutput("mkdir -p "+self.var_Rpath+'/'+var_dir)[0]
103 if var_output != 0: No newline at end of file
104 if var_output != 0:
104 self.txtInfo.append("Error creating directory: "+var_dir+", output_error:" + str(var_output)) No newline at end of file
105 self.txtInfo.append("Error creating directory: "+var_dir+", output_error:" + str(var_output))
105 return False No newline at end of file
106 return False
106 self.txtInfo.append('Directories created correctly') No newline at end of file
107 self.txtInfo.append('Directories created correctly')
107 return True No newline at end of file
108 return True
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 #-------------------------------------------- Busca los archivos con los parametros de busqueda ---------------------------------------
111 No newline at end of file
112
112 def list_files(self): No newline at end of file
113 def list_files(self):
113 var_files_list=[] No newline at end of file
114 var_files_list=[]
114 for var_doy in self.var_sublist: No newline at end of file
115 for var_doy in self.var_sublist:
115 var_cmd="find " + str(self.var_Dpath) + " -name ?"+var_doy+"???."+ str(self.var_Dtype) + " |sort" No newline at end of file
116 var_cmd="find " + str(self.var_Dpath) + " -name ?"+var_doy+"???."+ str(self.var_Dtype) + " |sort"
116 var_output=commands.getstatusoutput(var_cmd)[1] No newline at end of file
117 var_output=commands.getstatusoutput(var_cmd)[1]
117 for var_file in var_output.split(): No newline at end of file
118 for var_file in var_output.split():
118 var_files_list.append(var_file) #Almacena cada archivo en la lista No newline at end of file
119 var_files_list.append(var_file) #Almacena cada archivo en la lista
119 return var_files_list No newline at end of file
120 return var_files_list
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 #--------------- Genera la lista de archivos .dat que contienen los archivos a grabar en cada DVD -----------------------
123 No newline at end of file
124
124 def make_files_dat(var_files_list, self): No newline at end of file
125 def make_files_dat(var_files_list, self):
125 var_Rpath_ppath=self.var_Rpath+"/ppath" #Ruta de los archivos a grabar No newline at end of file
126 var_Rpath_ppath=self.var_Rpath+"/ppath" #Ruta de los archivos a grabar
126 var_n=1 #Numero del DVD actual No newline at end of file
127 var_n=1 #Numero del DVD actual
127 var_tmp=0 #Se usa para acumular el tamaΓ±o de los archivos de la lista No newline at end of file
128 var_tmp=0 #Se usa para acumular el tamaΓ±o de los archivos de la lista
128 var_files_list_2=[] #Se usa para almacenar la lista de archivos agrbar en cada DVD No newline at end of file
129 var_files_list_2=[] #Se usa para almacenar la lista de archivos agrbar en cada DVD
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 for i in var_files_list: #Se asignan en i los archivos de la lista
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 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
133 var_tmp += var_size_i #Se acumulan el tamaΓ±o de los archivos de la lista No newline at end of file
134 var_tmp += var_size_i #Se acumulan el tamaΓ±o de los archivos de la lista
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 #Si el tamaΓ±o acumulado es mayor que el de el DVD
136 if var_tmp > (self.var_Dcapacity * 1024): No newline at end of file
137 if var_tmp > (self.var_Dcapacity * 1024):
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 var_tmp -= var_size_i #se quita el tamaΓ±o sumado para mostrar el tamaΓ±o real
138 #se crea un archivo con numeral en el sufijo y extension .dat No newline at end of file
139 #se crea un archivo con numeral en el sufijo y extension .dat
139 var_file = open(var_Rpath_ppath+"/"+self.var_Elabel+"_"+i2s(var_n)+".dat","w") No newline at end of file
140 var_file = open(var_Rpath_ppath+"/"+self.var_Elabel+"_"+i2s(var_n)+".dat","w")
140 #Se aΓ±ade la lista de archivos a grabar en el DVD al archivo .dat No newline at end of file
141 #Se aΓ±ade la lista de archivos a grabar en el DVD al archivo .dat
141 for line in var_files_list_2: No newline at end of file
142 for line in var_files_list_2:
142 var_tmp_path=line.split(self.var_Dpath)[1][:-13] No newline at end of file
143 var_tmp_path=line.split(self.var_Dpath)[1][:-13]
143 var_file.write(var_tmp_path+'='+line+'\n') No newline at end of file
144 var_file.write(var_tmp_path+'='+line+'\n')
144 var_file.close() No newline at end of file
145 var_file.close()
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 var_tmp = var_size_i #Se asigna a la variable el tamaΓ±o del archivo actual
147 var_files_list_2=[] #Se reinicia la lista No newline at end of file
148 var_files_list_2=[] #Se reinicia la lista
148 var_n += 1 No newline at end of file
149 var_n += 1
149 var_files_list_2.append(i) No newline at end of file
150 var_files_list_2.append(i)
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 #se crea un archivo con numeral en el sufijo y extension .dat
152 var_file = open(var_Rpath_ppath+"/"+self.var_Elabel+"_"+i2s(var_n)+".dat","w") No newline at end of file
153 var_file = open(var_Rpath_ppath+"/"+self.var_Elabel+"_"+i2s(var_n)+".dat","w")
153 #Se aΓ±ade la lista de archivos a grabar en el DVD al archivo .dat No newline at end of file
154 #Se aΓ±ade la lista de archivos a grabar en el DVD al archivo .dat
154 for line in var_files_list_2: No newline at end of file
155 for line in var_files_list_2:
155 var_tmp_path=line.split(self.var_Dpath)[1][:-13] No newline at end of file
156 var_tmp_path=line.split(self.var_Dpath)[1][:-13]
156 var_file.write(var_tmp_path+'='+line+'\n') No newline at end of file
157 var_file.write(var_tmp_path+'='+line+'\n')
157 var_file.close() No newline at end of file
158 var_file.close()
158 No newline at end of file
159
159 self.txtInfo.append("configuration files created") No newline at end of file
160 self.txtInfo.append("configuration files created")
160 return var_n No newline at end of file
161 return var_n
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 #------------------------------ Genera los archivos .print con los cuales se creara los postscript -----------------------------------
164 No newline at end of file
165
165 def make_files_print(self): No newline at end of file
166 def make_files_print(self):
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 var_Rpath_ppath=self.var_Rpath+"/ppath" #Ruta de los archivos a grabar
168 var_Rpath_gpath=self.var_Rpath+"/gpath" #Ruta de los archivos postscript No newline at end of file
169 var_Rpath_gpath=self.var_Rpath+"/gpath" #Ruta de los archivos postscript
169 var_labels=[] No newline at end of file
170 var_labels=[]
170 for m in range (0, self.txtPSgraphic.value() - 1): No newline at end of file
171 for m in range (0, self.txtPSgraphic.value() - 1):
171 var_lines = "\n" * 9 No newline at end of file
172 var_lines = "\n" * 9
172 var_labels.append(var_lines) No newline at end of file
173 var_labels.append(var_lines)
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 # Se leen todos los archivos .dat creados para crear las etiquetas en los archivos .print
175 for var_n in range(1, self.var_Discs + 1): No newline at end of file
176 for var_n in range(1, self.var_Discs + 1):
176 No newline at end of file
177
177 #se abren los archivos .dat en modo lectura No newline at end of file
178 #se abren los archivos .dat en modo lectura
178 var_file = open(var_Rpath_ppath+"/"+self.var_Elabel+"_"+i2s(var_n)+".dat","r") No newline at end of file
179 var_file = open(var_Rpath_ppath+"/"+self.var_Elabel+"_"+i2s(var_n)+".dat","r")
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 lines=var_file.readlines() # Se lee las lineas en el archivo y se almacenan en la lista
180 var_file.close() No newline at end of file
181 var_file.close()
181 list_files=[] No newline at end of file
182 list_files=[]
182 var_lines=[] No newline at end of file
183 var_lines=[]
183 No newline at end of file
184
184 for j in range(0, len(lines)): No newline at end of file
185 for j in range(0, len(lines)):
185 No newline at end of file
186
186 if j == 0: No newline at end of file
187 if j == 0:
187 var_first_folder = lines[j].split('=')[0] No newline at end of file
188 var_first_folder = lines[j].split('=')[0]
188 var_first_file = (lines[j].split('=')[1])[:-1] No newline at end of file
189 var_first_file = (lines[j].split('=')[1])[:-1]
189 continue No newline at end of file
190 continue
190 No newline at end of file
191
191 var_tmp_folder = lines[j].split('=')[0] No newline at end of file
192 var_tmp_folder = lines[j].split('=')[0]
192 var_tmp_file = (lines[j].split('=')[1])[:-1] No newline at end of file
193 var_tmp_file = (lines[j].split('=')[1])[:-1]
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 # Si el subfolder superior o el DOY del archivo actual y el anterior son diferentes
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 if (var_tmp_folder != var_first_folder) or (var_tmp_file[0:-5] != var_first_file[0:-5]):
196 var_last_file = (lines[j-1].split('=')[1])[:-1] No newline at end of file
197 var_last_file = (lines[j-1].split('=')[1])[:-1]
197 list_files.append([var_first_folder, var_first_file, var_last_file]) No newline at end of file
198 list_files.append([var_first_folder, var_first_file, var_last_file])
198 No newline at end of file
199
199 var_first_folder = lines[j].split('=')[0] No newline at end of file
200 var_first_folder = lines[j].split('=')[0]
200 var_first_file = (lines[j].split('=')[1])[:-1] No newline at end of file
201 var_first_file = (lines[j].split('=')[1])[:-1]
201 No newline at end of file
202
202 var_last_file = (lines[-1].split('=')[1])[:-1] No newline at end of file
203 var_last_file = (lines[-1].split('=')[1])[:-1]
203 list_files.append([var_first_folder, var_first_file, var_last_file]) No newline at end of file
204 list_files.append([var_first_folder, var_first_file, var_last_file])
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 var_lines2 = lines_print(list_files, self.var_Elabel)
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 for k in range(0, len(var_lines2) / 5):
208 var_lines=["\n"] No newline at end of file
209 var_lines=["\n"]
209 var_lines.append(" "+self.var_Elabel+" "+i2s(var_n)+"/"+i2s(self.var_Discs)+"\n")
210 var_lines.append(" "+self.var_Elabel+" "+i2s(var_n)+"/"+i2s(self.var_Discs)+"\n")
No newline at end of file
211 var_lines.append("Year Doy Folder"+" "*9+"Set"+" "*11+"Time range\n") No newline at end of file
210 var_lines.append("Year Doy Folder"+" "*6+"Set"+" "*9+"Time range\n") No newline at end of file
211 var_lines.extend(var_lines2[(5*k):(5*(k+1))]) No newline at end of file
212 var_lines.extend(var_lines2[(5*k):(5*(k+1))])
212 var_lines.append("\n") No newline at end of file
213 var_lines.append("\n")
213 var_labels.append(var_lines) No newline at end of file
214 var_labels.append(var_lines)
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 for i in range(0, (len(var_labels) // 33) +1 ):
216 var_file=var_Rpath_gpath+"/"+self.var_Elabel+"_"+i2s(i+1) No newline at end of file
217 var_file=var_Rpath_gpath+"/"+self.var_Elabel+"_"+i2s(i+1)
217 file_ps = open(var_file+".print","w") No newline at end of file
218 file_ps = open(var_file+".print","w")
218 if i == (len(var_labels) // 33): No newline at end of file
219 if i == (len(var_labels) // 33):
219 var_sub_labels = var_labels[33*i:] No newline at end of file
220 var_sub_labels = var_labels[33*i:]
220 else: No newline at end of file
221 else:
221 var_sub_labels = var_labels[33*i:33*(i+1)] No newline at end of file
222 var_sub_labels = var_labels[33*i:33*(i+1)]
222 No newline at end of file
223
223 for label in var_sub_labels: No newline at end of file
224 for label in var_sub_labels:
224 for line in label: No newline at end of file
225 for line in label:
225 file_ps.write(line) No newline at end of file
226 file_ps.write(line)
226 file_ps.close() No newline at end of file
227 file_ps.close()
227 var_cmd="enscript "+var_file+".print -p "+var_file+".ps -f Times-Roman7 " \ No newline at end of file
228 var_cmd="enscript "+var_file+".print -p "+var_file+".ps -f Times-Roman7 " \
228 +" -3R -j -B --margins=21.25:20.4:25.51:20 --media=A4" No newline at end of file
229 +" -3R -j -B --margins=21.25:20.4:25.51:20 --media=A4"
229 var_output=commands.getstatusoutput(var_cmd)[0] No newline at end of file
230 var_output=commands.getstatusoutput(var_cmd)[0]
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 def lines_print(list_files, var_Elabel):
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 Devuelve las lineas del rango de archivos de cada etiqueta segun el formato
235 """ No newline at end of file
236 """
236 var_lines=[] No newline at end of file
237 var_lines=[]
237 for i in list_files: No newline at end of file
238 for i in list_files:
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 # Si el archivo se grabara directamente en la / del DVD y no en un /directorio/
240 # se usa la etiqueta para indicar la parte de la etiqueta donde va el subdirectorio No newline at end of file
241 # se usa la etiqueta para indicar la parte de la etiqueta donde va el subdirectorio
241 if i[0] == '/': No newline at end of file
242 if i[0] == '/':
242 var_folder = var_Elabel No newline at end of file
243 var_folder = var_Elabel
243 else: No newline at end of file
244 else:
244 var_folder = i[0].split('/')[-2] No newline at end of file
245 var_folder = i[0].split('/')[-2]
245 No newline at end of file
246
246 var_first_file = i[1] No newline at end of file
247 var_first_file = i[1]
247 var_last_file = i[2] No newline at end of file
248 var_last_file = i[2]
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 var_date_first_file=commands.getstatusoutput("date -r "+var_first_file+" +'%T'")[1]
250 var_date_last_file=commands.getstatusoutput("date -r "+var_last_file+" +'%T'")[1] No newline at end of file
251 var_date_last_file=commands.getstatusoutput("date -r "+var_last_file+" +'%T'")[1]
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 var_lines.append(var_first_file[-12:-8]+" "+var_first_file[-8:-5]+" "+var_folder +" "+var_first_file[-5:-2]+"-"
253 +var_last_file[-5:-2]+" "+var_date_first_file+"-"+var_date_last_file+"\n") No newline at end of file
254 +var_last_file[-5:-2]+" "+var_date_first_file+"-"+var_date_last_file+"\n")
254 #Nos aseguramos que sea un mutiplo de 5 No newline at end of file
255 #Nos aseguramos que sea un mutiplo de 5
255 while (len(var_lines) % 5) != 0: No newline at end of file
256 while (len(var_lines) % 5) != 0:
256 var_lines.append("\n") No newline at end of file
257 var_lines.append("\n")
257 No newline at end of file
258
258 return var_lines No newline at end of file
259 return var_lines
259 No newline at end of file
260
260 #---------------------------------------comandos para el proceso de grabacion ------------------------------------------ No newline at end of file
261 #---------------------------------------comandos para el proceso de grabacion ------------------------------------------
261 def cmd_iso(self): No newline at end of file
262 def cmd_iso(self):
262 var_Rpath_ppath=self.var_Rpath+"/ppath" No newline at end of file
263 var_Rpath_ppath=self.var_Rpath+"/ppath"
263 var_Rpath_iso=self.var_Rpath+"/iso" No newline at end of file
264 var_Rpath_iso=self.var_Rpath+"/iso"
264 #comando para la creacion del archivo.iso No newline at end of file
265 #comando para la creacion del archivo.iso
265 file_dat=var_Rpath_ppath+"/"+self.var_Elabel+"_"+i2s(self.var_disc_n)+".dat" No newline at end of file
266 file_dat=var_Rpath_ppath+"/"+self.var_Elabel+"_"+i2s(self.var_disc_n)+".dat"
266 file_iso=var_Rpath_iso+"/"+i2s(self.var_disc_n)+".iso" No newline at end of file
267 file_iso=var_Rpath_iso+"/"+i2s(self.var_disc_n)+".iso"
267 var_cmd = 'genisoimage -hide-joliet-trans-tbl -joliet-long -r ' No newline at end of file
268 var_cmd = 'genisoimage -hide-joliet-trans-tbl -joliet-long -r '
268 var_cmd += ' -A '+self.var_Elabel+' -V '+self.var_Elabel No newline at end of file
269 var_cmd += ' -A '+self.var_Elabel+' -V '+self.var_Elabel
269 var_cmd += ' -graft-points -path-list '+ file_dat+' -o '+file_iso No newline at end of file
270 var_cmd += ' -graft-points -path-list '+ file_dat+' -o '+file_iso
270 return var_cmd No newline at end of file
271 return var_cmd
271 No newline at end of file
272
272 def cmd_burn(self): No newline at end of file
273 def cmd_burn(self):
273 var_Rpath_iso=self.var_Rpath+"/iso"
274 var_Rpath_iso=self.var_Rpath+"/iso"
No newline at end of file
275 file_iso=var_Rpath_iso+"/"+i2s(self.var_disc_n)+".iso" No newline at end of file
274 file_iso=var_Rpath_iso+"/"+functions.i2s(self.var_disc_n)+".iso" No newline at end of file
275 No newline at end of file
276
276 var_index = ( ( (self.var_disc_n - 1) * self.var_Copys) + (self.var_copy_n - 1) - self.var_burned_discs ) % len(self.var_devices) No newline at end of file
277 var_index = ( ( (self.var_disc_n - 1) * self.var_Copys) + (self.var_copy_n - 1) - self.var_burned_discs ) % len(self.var_devices)
277 var_dev_tmp = self.var_devices[var_index] No newline at end of file
278 var_dev_tmp = self.var_devices[var_index]
278 No newline at end of file
279
279 var_cmd = "wodim -v dev="+var_dev_tmp+" speed=16 "+ file_iso No newline at end of file
280 var_cmd = "wodim -v dev="+var_dev_tmp+" speed=16 "+ file_iso
280 return var_cmd No newline at end of file
281 return var_cmd
281 No newline at end of file
282
283 def cmd_check(self):
No newline at end of file
284 var_cmd = "echo 'function check'"
No newline at end of file
285 return var_cmd
No newline at end of file
286 No newline at end of file
282 def remove_iso(self): No newline at end of file
287 def remove_iso(self):
283 var_Rpath_iso=self.var_Rpath+"/iso"
288 var_Rpath_iso=self.var_Rpath+"/iso"
No newline at end of file
289 file_iso=var_Rpath_iso+"/"+i2s(self.var_disc_n)+".iso"
284 file_iso=var_Rpath_iso+"/"+functions.i2s(self.var_disc_n)+".iso"
No newline at end of file
No newline at end of file
290 # shutil.rmtree(self.var_Rpath+'/'+var_dir, True) No newline at end of file
285
No newline at end of file
286 self.txtInfo.append("Deleting iso file: "+functions.i2s(self.var_disc_n)+".iso")
No newline at end of file
287 No newline at end of file
288 if os.path.isfile(file_iso): No newline at end of file
291 if os.path.isfile(file_iso):
289 os.remove(file_iso) No newline at end of file
292 os.remove(file_iso)
290 No newline at end of file
293
291 #Si es el ultimo disco se termina el proceso No newline at end of file
294 #Si es el ultimo disco se termina el proceso
292 def is_last_disc_and_copy(self): No newline at end of file
295 def is_last_disc_and_copy(self):
293 if self.var_disc_n == self.var_Discs and self.var_copy_n == self.var_Copys: No newline at end of file
296 if self.var_disc_n == self.var_Discs and self.var_copy_n == self.var_Copys:
294 self.function_final() No newline at end of file
297 self.function_final()
295 else: No newline at end of file
298 else:
296 next_disc(self) No newline at end of file
299 next_disc(self)
297 No newline at end of file
300
298 #Define cual es el siguiente disco a grabar y que paso seguir No newline at end of file
301 #Define cual es el siguiente disco a grabar y que paso seguir
299 def next_disc(self, error = False): No newline at end of file
302 def next_disc(self, error = False):
300 if self.var_copy_n == self.var_Copys: No newline at end of file
303 if self.var_copy_n == self.var_Copys:
304 #borrado del iso
No newline at end of file
305 self.txtInfo.append("Deleting iso file: "+i2s(self.var_disc_n)+".iso")
No newline at end of file
306 remove_iso(self)
No newline at end of file
307 No newline at end of file
301 self.var_disc_n += 1 No newline at end of file
308 self.var_disc_n += 1
302 self.var_copy_n = 1 No newline at end of file
309 self.var_copy_n = 1
303 self.var_step = 0 No newline at end of file
310 self.var_step = 0
304 No newline at end of file
311
305 else: No newline at end of file
312 else:
306 self.var_copy_n += 1 No newline at end of file
313 self.var_copy_n += 1
307 self.var_step = 1 No newline at end of file
314 self.var_step = 1
315
No newline at end of file
316 functions2.make_burning_conf(self) # Si el proceso no ha sido detenido manualmente
No newline at end of file
317 #crea el archivo burning.conf para el seguimiento de los discos grabados No newline at end of file
308 No newline at end of file
318
309 var_index = ( ( (self.var_disc_n - 1) * self.var_Copys) + (self.var_copy_n - 1) - self.var_burned_discs ) % len(self.var_devices) No newline at end of file
319 var_index = ( ( (self.var_disc_n - 1) * self.var_Copys) + (self.var_copy_n - 1) - self.var_burned_discs ) % len(self.var_devices)
310 No newline at end of file
320
311 self.txtInfo.append("NEXT DISC: "+str(self.var_disc_n)+" COPY: "+str(self.var_copy_n) No newline at end of file
321 self.txtInfo.append("NEXT DISC: "+str(self.var_disc_n)+" COPY: "+str(self.var_copy_n)
312 +" INDEX: "+str(var_index)+" STEP: "+str(self.var_step)) No newline at end of file
322 +" INDEX: "+str(var_index)+" STEP: "+str(self.var_step))
313 self.txtInfo.append("\n") No newline at end of file
323 self.txtInfo.append("\n")
314 No newline at end of file
324
315 if var_index == 0 : No newline at end of file
325 if var_index == 0 :
316 self.function_eject() No newline at end of file
326 self.function_eject()
317 No newline at end of file
327
318 elif self.var_step == 0: No newline at end of file
328 elif self.var_step == 0:
319 self.function_iso() No newline at end of file
329 self.function_iso()
320 elif self.var_step == 1: No newline at end of file
330 elif self.var_step == 1:
321 self.function_burn() No newline at end of file
331 self.function_burn()
@@ -1,246 +1,246
1 # -*- coding: utf-8 -*- No newline at end of file
1 # -*- coding: utf-8 -*-
2 No newline at end of file
2
3 No newline at end of file
3
4 from subprocess import * No newline at end of file
4 from subprocess import *
5 import sys No newline at end of file
5 import sys
6 import os No newline at end of file
6 import os
7 import subprocess No newline at end of file
7 import subprocess
8 import commands No newline at end of file
8 import commands
9 No newline at end of file
9
10 #----------------------------------------------------- Deteccion de los dispositivos de grabacion --------------------------------------------------------------- No newline at end of file
10 #----------------------------------------------------- Deteccion de los dispositivos de grabacion ---------------------------------------------------------------
11 No newline at end of file
11
12 def detect_devices(self): No newline at end of file
12 def detect_devices(self):
13 """ No newline at end of file
13 """
14 Deteccion de los dispositvos de grabacion No newline at end of file
14 Deteccion de los dispositvos de grabacion
15 """ No newline at end of file
15 """
16 #var_cmd="wodim --devices | grep /dev/ | awk -F\' '{print $2}'" #Funciona en consola pero no en python ΒΏ? No newline at end of file
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}'" No newline at end of file
17 var_cmd="wodim --devices | grep /dev/ | awk '{print $2}' | awk -F= '{print $2}'"
18 No newline at end of file
18
19 var_output = commands.getstatusoutput(var_cmd) No newline at end of file
19 var_output = commands.getstatusoutput(var_cmd)
20 if var_output[0] != 0: No newline at end of file
20 if var_output[0] != 0:
21 self.txtInfo.append("No recording devices") No newline at end of file
21 self.txtInfo.append("No recording devices")
22 else: No newline at end of file
22 else:
23 var_devices = var_output[1].split('\n') No newline at end of file
23 var_devices = var_output[1].split('\n')
24 No newline at end of file
24
25 var_tmp=[] No newline at end of file
25 var_tmp=[]
26 for i in range(0, 4): No newline at end of file
26 for i in range(0, 4):
27 if i < len(var_devices): No newline at end of file
27 if i < len(var_devices):
28 var_len = len(var_devices[i]) No newline at end of file
28 var_len = len(var_devices[i])
29 var_tmp.append(var_devices[i][1:var_len - 1]) No newline at end of file
29 var_tmp.append(var_devices[i][1:var_len - 1])
30 else: No newline at end of file
30 else:
31 var_tmp.append('') No newline at end of file
31 var_tmp.append('')
32 No newline at end of file
32
33 #Se escriben los dispostivos correspodientes, si existen No newline at end of file
33 #Se escriben los dispostivos correspodientes, si existen
34 self.txtDeviceA.setText(str(var_tmp[0])) No newline at end of file
34 self.txtDeviceA.setText(str(var_tmp[0]))
35 self.txtDeviceB.setText(str(var_tmp[1])) No newline at end of file
35 self.txtDeviceB.setText(str(var_tmp[1]))
36 self.txtDeviceC.setText(str(var_tmp[2])) No newline at end of file
36 self.txtDeviceC.setText(str(var_tmp[2]))
37 self.txtDeviceD.setText(str(var_tmp[3])) No newline at end of file
37 self.txtDeviceD.setText(str(var_tmp[3]))
38 #Se desactivan los que no existen No newline at end of file
38 #Se desactivan los que no existen
39 if len(var_tmp[0]) == 0 : No newline at end of file
39 if len(var_tmp[0]) == 0 :
40 self.chkDevA.setChecked(False) No newline at end of file
40 self.chkDevA.setChecked(False)
41 self.chkDevA.setEnabled(False) No newline at end of file
41 self.chkDevA.setEnabled(False)
42 if len(var_tmp[1]) == 0 : No newline at end of file
42 if len(var_tmp[1]) == 0 :
43 self.chkDevB.setChecked(False) No newline at end of file
43 self.chkDevB.setChecked(False)
44 self.chkDevB.setEnabled(False) No newline at end of file
44 self.chkDevB.setEnabled(False)
45 if len(var_tmp[2]) == 0 : No newline at end of file
45 if len(var_tmp[2]) == 0 :
46 self.chkDevC.setChecked(False) No newline at end of file
46 self.chkDevC.setChecked(False)
47 self.chkDevC.setEnabled(False) No newline at end of file
47 self.chkDevC.setEnabled(False)
48 if len(var_tmp[3]) == 0 : No newline at end of file
48 if len(var_tmp[3]) == 0 :
49 self.chkDevD.setChecked(False) No newline at end of file
49 self.chkDevD.setChecked(False)
50 self.chkDevD.setEnabled(False) No newline at end of file
50 self.chkDevD.setEnabled(False)
51 No newline at end of file
51
52 #----------------------------------- expulsa los dispositivos de grabacion -------------------------------------------- No newline at end of file
52 #----------------------------------- expulsa los dispositivos de grabacion --------------------------------------------
53 No newline at end of file
53
54 def eject_devices(self): No newline at end of file
54 def eject_devices(self):
55 for var_dev in self.var_devices: No newline at end of file
55 for var_dev in self.var_devices:
56 var_cmd = 'eject ' + var_dev No newline at end of file
56 var_cmd = 'eject ' + var_dev
57 commands.getstatusoutput(var_cmd) No newline at end of file
57 commands.getstatusoutput(var_cmd)
58 No newline at end of file
58
59 #----------------------------------- listado de los dispositivos de grabacion seleccionados -------------------------------------------- No newline at end of file
59 #----------------------------------- listado de los dispositivos de grabacion seleccionados --------------------------------------------
60 No newline at end of file
60
61 def selected_devices(self): No newline at end of file
61 def selected_devices(self):
62 self.var_devices=[] No newline at end of file
62 self.var_devices=[]
63 if self.chkDevA.isChecked(): No newline at end of file
63 if self.chkDevA.isChecked():
64 self.var_devices.append(str(self.txtDeviceA.text())) No newline at end of file
64 self.var_devices.append(str(self.txtDeviceA.text()))
65 if self.chkDevB.isChecked(): No newline at end of file
65 if self.chkDevB.isChecked():
66 self.var_devices.append(str(self.txtDeviceB.text())) No newline at end of file
66 self.var_devices.append(str(self.txtDeviceB.text()))
67 if self.chkDevC.isChecked(): No newline at end of file
67 if self.chkDevC.isChecked():
68 self.var_devices.append(str(self.txtDeviceC.text())) No newline at end of file
68 self.var_devices.append(str(self.txtDeviceC.text()))
69 if self.chkDevD.isChecked(): No newline at end of file
69 if self.chkDevD.isChecked():
70 self.var_devices.append(str(self.txtDeviceD.text())) No newline at end of file
70 self.var_devices.append(str(self.txtDeviceD.text()))
71 No newline at end of file
71
72 if len(self.var_devices) == 0: No newline at end of file
72 if len(self.var_devices) == 0:
73 return False No newline at end of file
73 return False
74 else: No newline at end of file
74 else:
75 return True No newline at end of file
75 return True
76 No newline at end of file
76
77 No newline at end of file
77
78 #----------------------------------------------------- Inicializacion para pruebas--------------------------------------------------------------- No newline at end of file
78 #----------------------------------------------------- Inicializacion para pruebas---------------------------------------------------------------
79 No newline at end of file
79
80 def set_parameters_test(self): No newline at end of file
80 def set_parameters_test(self):
81 """ No newline at end of file
81 """
82 Se usa para inicializar ciertos parametros para pruebas No newline at end of file
82 Se usa para inicializar ciertos parametros para pruebas
83 """ No newline at end of file
83 """
84 self.txtDpath.setText('/home/ricardoar/optional/STORAGE/EW_DRIFTS') No newline at end of file
84 self.txtDpath.setText('/home/ricardoar/optional/STORAGE/EW_DRIFTS')
85 self.txtRpath.setText('/home/ricardoar/optional/prueba1_jro_backup_manager') No newline at end of file
85 self.txtRpath.setText('/home/ricardoar/optional/prueba1_jro_backup_manager')
86 self.txtElabel.setText('EW_DRIFTS_pruebas') No newline at end of file
86 self.txtElabel.setText('EW_DRIFTS_pruebas')
87 self.lstDcapacity.setCurrentIndex(4) No newline at end of file
87 self.lstDcapacity.setCurrentIndex(4)
88 self.txtDcapacity.setValue(100.0) No newline at end of file
88 self.txtDcapacity.setValue(100.0)
89 self.txtDcapacity.setReadOnly(False) No newline at end of file
89 self.txtDcapacity.setReadOnly(False)
90 No newline at end of file
90
91 def set_devices_test(self): No newline at end of file
91 def set_devices_test(self):
92 self.txtDeviceA.setText("/dev/scd0") No newline at end of file
92 self.txtDeviceA.setText("/dev/scd0")
93 self.txtDeviceB.setText("/dev/scd1") No newline at end of file
93 self.txtDeviceB.setText("/dev/scd1")
94 self.txtDeviceC.setText("/dev/scd2") No newline at end of file
94 self.txtDeviceC.setText("/dev/scd2")
95 self.txtDeviceD.setText("/dev/scd3") No newline at end of file
95 self.txtDeviceD.setText("/dev/scd3")
96 No newline at end of file
96
97 No newline at end of file
97
98 No newline at end of file
98
99 #----------------------------------------------------- crea parameters.conf --------------------------------------------------------------- No newline at end of file
99 #----------------------------------------------------- crea parameters.conf ---------------------------------------------------------------
100 No newline at end of file
100
101 def make_parameters_conf(self): No newline at end of file
101 def make_parameters_conf(self):
102 var_file = open("parameters.conf","w") No newline at end of file
102 var_file = open("parameters.conf","w")
103 var_file.write(self.var_Dpath+"\n") #0 Ruta de los datos No newline at end of file
103 var_file.write(self.var_Dpath+"\n") #0 Ruta de los datos
104 var_file.write(self.var_Rpath+"\n") #1 Ruta del proyecto No newline at end of file
104 var_file.write(self.var_Rpath+"\n") #1 Ruta del proyecto
105 var_file.write(str(self.var_lstDtype)+"\n") #2 opcion Data Type No newline at end of file
105 var_file.write(str(self.var_lstDtype)+"\n") #2 opcion Data Type
106 var_file.write(self.var_Dtype+"\n") #3 extension Data Type No newline at end of file
106 var_file.write(self.var_Dtype+"\n") #3 extension Data Type
107 var_file.write(self.var_Elabel+"\n") #4 etiqueta No newline at end of file
107 var_file.write(self.var_Elabel+"\n") #4 etiqueta
108 var_file.write(str(self.var_Copys)+"\n") #5 Numero de copias No newline at end of file
108 var_file.write(str(self.var_Copys)+"\n") #5 Numero de copias
109 var_file.write(str(self.var_lstDcapacity)+"\n") #6 opcion Device Capacity No newline at end of file
109 var_file.write(str(self.var_lstDcapacity)+"\n") #6 opcion Device Capacity
110 var_file.write(str(self.var_Dcapacity)+"\n") #7 tamaΓ±o Device Capacity No newline at end of file
110 var_file.write(str(self.var_Dcapacity)+"\n") #7 tamaΓ±o Device Capacity
111 var_file.write(str(self.var_Discs)+"\n") #8 Numero de discos a grabar No newline at end of file
111 var_file.write(str(self.var_Discs)+"\n") #8 Numero de discos a grabar
112 # var_file.write(str(self.lstStartDay.currentIndex())+"\n") #9 Indice fecha inicial No newline at end of file
112 # var_file.write(str(self.lstStartDay.currentIndex())+"\n") #9 Indice fecha inicial
113 # var_file.write(str(self.lstStopDay.currentIndex())+"\n") #10 Indice fecha final No newline at end of file
113 # var_file.write(str(self.lstStopDay.currentIndex())+"\n") #10 Indice fecha final
114 var_file.close() No newline at end of file
114 var_file.close()
115 No newline at end of file
115
116 #----------------------------------------------------- carga parameters.conf --------------------------------------------------------------- No newline at end of file
116 #----------------------------------------------------- carga parameters.conf ---------------------------------------------------------------
117 No newline at end of file
117
118 def get_parameters_conf(self): No newline at end of file
118 def get_parameters_conf(self):
119 var_file = open("parameters.conf","r") No newline at end of file
119 var_file = open("parameters.conf","r")
120 lines = var_file.readlines() No newline at end of file
120 lines = var_file.readlines()
121 self.txtDpath.setText(lines[0][:-1]) #0 No newline at end of file
121 self.txtDpath.setText(lines[0][:-1]) #0
122 self.txtRpath.setText(lines[1][:-1]) #1 No newline at end of file
122 self.txtRpath.setText(lines[1][:-1]) #1
123 self.lstDtype.setCurrentIndex(int(lines[2])) #2 No newline at end of file
123 self.lstDtype.setCurrentIndex(int(lines[2])) #2
124 self.txtDtype.setText(lines[3][:-1]) #3 No newline at end of file
124 self.txtDtype.setText(lines[3][:-1]) #3
125 self.txtElabel.setText(lines[4][:-1]) #4 No newline at end of file
125 self.txtElabel.setText(lines[4][:-1]) #4
126 self.txtCopys.setValue(int(lines[5][:-1])) #5 No newline at end of file
126 self.txtCopys.setValue(int(lines[5][:-1])) #5
127 self.lstDcapacity.setCurrentIndex(int(lines[6])) #6 No newline at end of file
127 self.lstDcapacity.setCurrentIndex(int(lines[6])) #6
128 self.txtDcapacity.setValue(float(lines[7])) #7 No newline at end of file
128 self.txtDcapacity.setValue(float(lines[7])) #7
129 self.var_Discs = int(lines[8]) #8 No newline at end of file
129 self.var_Discs = int(lines[8]) #8
130 # var_StartDay = int(lines[6]) #9 No newline at end of file
130 # var_StartDay = int(lines[6]) #9
131 # var_StopDay = int(lines[7]) #10 No newline at end of file
131 # var_StopDay = int(lines[7]) #10
132 ################################ No newline at end of file
132 ################################
133 self.var_Copys = self.txtCopys.value() #5 No newline at end of file
133 self.var_Copys = self.txtCopys.value() #5
134 ################################ No newline at end of file
134 ################################
135 No newline at end of file
135
136 var_file.close() No newline at end of file
136 var_file.close()
137 No newline at end of file
137
138 No newline at end of file
138
139 #-------------------------- actualiza el valor de las variables con los parametros seleccionados ----------------------------- No newline at end of file
139 #-------------------------- actualiza el valor de las variables con los parametros seleccionados -----------------------------
140 No newline at end of file
140
141 def set_vars(self): No newline at end of file
141 def set_vars(self):
142 self.var_Dpath = str(self.txtDpath.text()) #0 No newline at end of file
142 self.var_Dpath = str(self.txtDpath.text()) #0
143 self.var_Rpath = str(self.txtRpath.text()) #1 No newline at end of file
143 self.var_Rpath = str(self.txtRpath.text()) #1
144 self.var_lstDtype = self.lstDtype.currentIndex() #2 No newline at end of file
144 self.var_lstDtype = self.lstDtype.currentIndex() #2
145 self.var_Dtype = str(self.txtDtype.text()) #3 No newline at end of file
145 self.var_Dtype = str(self.txtDtype.text()) #3
146 self.var_Elabel = str(self.txtElabel.text()) #4 No newline at end of file
146 self.var_Elabel = str(self.txtElabel.text()) #4
147 self.var_Copys = self.txtCopys.value() #5 No newline at end of file
147 self.var_Copys = self.txtCopys.value() #5
148 self.var_lstDcapacity = self.lstDcapacity.currentIndex() #6 No newline at end of file
148 self.var_lstDcapacity = self.lstDcapacity.currentIndex() #6
149 self.var_Dcapacity = self.txtDcapacity.value() #7 No newline at end of file
149 self.var_Dcapacity = self.txtDcapacity.value() #7
150 self.var_Discs = self.var_Discs #8 No newline at end of file
150 self.var_Discs = self.var_Discs #8
151 No newline at end of file
151
152 No newline at end of file
152
153 #-------------------------- crea burning.conf ----------------------------- No newline at end of file
153 #-------------------------- crea burning.conf -----------------------------
154 No newline at end of file
154
155 def make_burning_conf(self): No newline at end of file
155 def make_burning_conf(self):
156 var_file = open("burning.conf","w")
156 var_file = open("burning.conf","w")
No newline at end of file
157 var_n_burned_discs = ( ( (self.var_disc_n - 1) * self.var_Copys) + self.var_copy_n - 1 ) No newline at end of file
157 var_n_burned_discs = ( ( (self.var_disc_n - 1) * self.var_Copys) + self.var_copy_n -1 ) No newline at end of file
158 var_file.write(str(var_n_burned_discs)+"\n") #0 Numero de discos ya grabados No newline at end of file
158 var_file.write(str(var_n_burned_discs)+"\n") #0 Numero de discos ya grabados
159 var_file.write(str(self.var_disc_n)+"\n") #1 Disco actual para grabar No newline at end of file
159 var_file.write(str(self.var_disc_n)+"\n") #1 Disco actual para grabar
160 var_file.write(str(self.var_copy_n)+"\n") #2 Numero de copia actual para grabar No newline at end of file
160 var_file.write(str(self.var_copy_n)+"\n") #2 Numero de copia actual para grabar
161 var_file.close() No newline at end of file
161 var_file.close()
162 No newline at end of file
162
163 #----------------------------------------------------- carga burning.conf --------------------------------------------------------------- No newline at end of file
163 #----------------------------------------------------- carga burning.conf ---------------------------------------------------------------
164 No newline at end of file
164
165 def get_burning_conf(self): No newline at end of file
165 def get_burning_conf(self):
166 var_file = open("burning.conf","r") No newline at end of file
166 var_file = open("burning.conf","r")
167 lines = var_file.readlines() No newline at end of file
167 lines = var_file.readlines()
168 self.var_burned_discs = int(lines[0]) #0 No newline at end of file
168 self.var_burned_discs = int(lines[0]) #0
169 self.var_disc_n = int(lines[1]) No newline at end of file
169 self.var_disc_n = int(lines[1])
170 self.var_copy_n = int(lines[2]) No newline at end of file
170 self.var_copy_n = int(lines[2])
171 var_file.close() No newline at end of file
171 var_file.close()
172 No newline at end of file
172
173 #---------------------------------------------- Habilitacion y deshabilitacion de items ------------------------------------------------------- No newline at end of file
173 #---------------------------------------------- Habilitacion y deshabilitacion de items -------------------------------------------------------
174 No newline at end of file
174
175 def enabled_items1(var_bool, self): No newline at end of file
175 def enabled_items1(var_bool, self):
176 self.tabParameters.setEnabled(not(var_bool)) No newline at end of file
176 self.tabParameters.setEnabled(not(var_bool))
177 self.lstDcapacity.setEnabled(not(var_bool)) No newline at end of file
177 self.lstDcapacity.setEnabled(not(var_bool))
178 self.txtDcapacity.setEnabled(not(var_bool)) No newline at end of file
178 self.txtDcapacity.setEnabled(not(var_bool))
179 self.actionChange_Parameters.setEnabled(var_bool) No newline at end of file
179 self.actionChange_Parameters.setEnabled(var_bool)
180 self.btnGbkp.setEnabled(not(var_bool)) No newline at end of file
180 self.btnGbkp.setEnabled(not(var_bool))
181 self.btnRestart.setEnabled(var_bool) No newline at end of file
181 self.btnRestart.setEnabled(var_bool)
182 self.btnStartburn.setEnabled(var_bool) No newline at end of file
182 self.btnStartburn.setEnabled(var_bool)
183 No newline at end of file
183
184 No newline at end of file
184
185 def enabled_items2(var_bool, self): No newline at end of file
185 def enabled_items2(var_bool, self):
186 self.btnRestart.setEnabled(not(var_bool)) No newline at end of file
186 self.btnRestart.setEnabled(not(var_bool))
187 self.btnStartburn.setEnabled(not(var_bool)) No newline at end of file
187 self.btnStartburn.setEnabled(not(var_bool))
188 self.btnStopburn.setEnabled(var_bool) No newline at end of file
188 self.btnStopburn.setEnabled(var_bool)
189 self.chkCheck.setEnabled(not(var_bool)) No newline at end of file
189 self.chkCheck.setEnabled(not(var_bool))
190 self.actionChange_Parameters.setEnabled(False) No newline at end of file
190 self.actionChange_Parameters.setEnabled(False)
191 No newline at end of file
191
192 No newline at end of file
192
193 No newline at end of file
193
194 No newline at end of file
194
195 #---------------------------------------------- Actualiza estado en los labels ------------------------------------------------------- No newline at end of file
195 #---------------------------------------------- Actualiza estado en los labels -------------------------------------------------------
196 No newline at end of file
196
197 def update_message(type, message, self, index=0): No newline at end of file
197 def update_message(type, message, self, index=0):
198 if index == 0: No newline at end of file
198 if index == 0:
199 var_index = ( ( (self.var_disc_n - 1) * self.var_Copys) + (self.var_copy_n - 1) - self.var_burned_discs ) % len(self.var_devices) No newline at end of file
199 var_index = ( ( (self.var_disc_n - 1) * self.var_Copys) + (self.var_copy_n - 1) - self.var_burned_discs ) % len(self.var_devices)
200 else: No newline at end of file
200 else:
201 var_index = index No newline at end of file
201 var_index = index
202 No newline at end of file
202
203 var_message = message No newline at end of file
203 var_message = message
204 # var_message = "BURNING" No newline at end of file
204 # var_message = "BURNING"
205 # var_message = "COMPLETED" No newline at end of file
205 # var_message = "COMPLETED"
206 # var_message = "ERROR" No newline at end of file
206 # var_message = "ERROR"
207 # var_message = "CHECKING" No newline at end of file
207 # var_message = "CHECKING"
208 # var_message = "CHECKED" No newline at end of file
208 # var_message = "CHECKED"
209 No newline at end of file
209
210 if type == 1: No newline at end of file
210 if type == 1:
211 No newline at end of file
211
212 if var_index == 0: No newline at end of file
212 if var_index == 0:
213 self.txtBstatusA.setText(var_message) No newline at end of file
213 self.txtBstatusA.setText(var_message)
214 self.txtBdiscA.setText(str(self.var_disc_n)) No newline at end of file
214 self.txtBdiscA.setText(str(self.var_disc_n))
215 self.txtBcopyA.setText(str(self.var_copy_n)) No newline at end of file
215 self.txtBcopyA.setText(str(self.var_copy_n))
216 No newline at end of file
216
217 if var_index == 1: No newline at end of file
217 if var_index == 1:
218 self.txtBstatusB.setText(var_message) No newline at end of file
218 self.txtBstatusB.setText(var_message)
219 self.txtBdiscB.setText(str(self.var_disc_n)) No newline at end of file
219 self.txtBdiscB.setText(str(self.var_disc_n))
220 self.txtBcopyB.setText(str(self.var_copy_n)) No newline at end of file
220 self.txtBcopyB.setText(str(self.var_copy_n))
221 No newline at end of file
221
222 if var_index == 2: No newline at end of file
222 if var_index == 2:
223 self.txtBstatusC.setText(var_message) No newline at end of file
223 self.txtBstatusC.setText(var_message)
224 self.txtBdiscC.setText(str(self.var_disc_n)) No newline at end of file
224 self.txtBdiscC.setText(str(self.var_disc_n))
225 self.txtBcopyC.setText(str(self.var_copy_n)) No newline at end of file
225 self.txtBcopyC.setText(str(self.var_copy_n))
226 No newline at end of file
226
227 if var_index == 3: No newline at end of file
227 if var_index == 3:
228 self.txtBstatusD.setText(var_message) No newline at end of file
228 self.txtBstatusD.setText(var_message)
229 self.txtBdiscD.setText(str(self.var_disc_n)) No newline at end of file
229 self.txtBdiscD.setText(str(self.var_disc_n))
230 self.txtBcopyD.setText(str(self.var_copy_n)) No newline at end of file
230 self.txtBcopyD.setText(str(self.var_copy_n))
231 No newline at end of file
231
232 if type == 2: No newline at end of file
232 if type == 2:
233 No newline at end of file
233
234 if var_index == 0: No newline at end of file
234 if var_index == 0:
235 self.txtCHstatusA.setText(var_message) No newline at end of file
235 self.txtCHstatusA.setText(var_message)
236 No newline at end of file
236
237 if var_index == 1: No newline at end of file
237 if var_index == 1:
238 self.txtCHstatusB.setText(var_message) No newline at end of file
238 self.txtCHstatusB.setText(var_message)
239 No newline at end of file
239
240 if var_index == 2: No newline at end of file
240 if var_index == 2:
241 self.txtCHstatusC.setText(var_message) No newline at end of file
241 self.txtCHstatusC.setText(var_message)
242 No newline at end of file
242
243 if var_index == 3: No newline at end of file
243 if var_index == 3:
244 self.txtCHstatusD.setText(var_message) No newline at end of file
244 self.txtCHstatusD.setText(var_message)
245 No newline at end of file
245
246 No newline at end of file
246
@@ -1,607 +1,616
1 # -*- coding: utf-8 -*- No newline at end of file
1 # -*- coding: utf-8 -*-
2 No newline at end of file
2
3 """ No newline at end of file
3 """
4 Module implementing MainWindow. No newline at end of file
4 Module implementing MainWindow.
5 """ No newline at end of file
5 """
6 No newline at end of file
6
7 from PyQt4.QtGui import QMainWindow No newline at end of file
7 from PyQt4.QtGui import QMainWindow
8 from PyQt4.QtCore import pyqtSignature No newline at end of file
8 from PyQt4.QtCore import pyqtSignature
9 from PyQt4 import QtCore No newline at end of file
9 from PyQt4 import QtCore
10 from Ui_MainWindow import Ui_MainWindow No newline at end of file
10 from Ui_MainWindow import Ui_MainWindow
11 from Ui_Parameters import Ui_Parameters No newline at end of file
11 from Ui_Parameters import Ui_Parameters
12 from Ui_About import Ui_About No newline at end of file
12 from Ui_About import Ui_About
13 from PyQt4 import QtGui No newline at end of file
13 from PyQt4 import QtGui
14 from subprocess import * No newline at end of file
14 from subprocess import *
15 import sys No newline at end of file
15 import sys
16 import os No newline at end of file
16 import os
17 #import subprocess No newline at end of file
17 #import subprocess
18 import time No newline at end of file
18 import time
19 import commands No newline at end of file
19 import commands
20 from functions import functions No newline at end of file
20 from functions import functions
21 from functions import functions2 No newline at end of file
21 from functions import functions2
22 No newline at end of file
22
23 class MainWindow(QMainWindow, Ui_MainWindow): No newline at end of file
23 class MainWindow(QMainWindow, Ui_MainWindow):
24 """ No newline at end of file
24 """
25 Class documentation goes here. No newline at end of file
25 Class documentation goes here.
26 """ No newline at end of file
26 """
27 No newline at end of file
27
28 def __init__(self, parent = None): No newline at end of file
28 def __init__(self, parent = None):
29 QMainWindow.__init__(self, parent) No newline at end of file
29 QMainWindow.__init__(self, parent)
30 self.setupUi(self) No newline at end of file
30 self.setupUi(self)
31 self.setupUi2() No newline at end of file
31 self.setupUi2()
32 No newline at end of file
32
33 def setupUi2(self): No newline at end of file
33 def setupUi2(self):
34
34
No newline at end of file
35 self.var_real_iso = True
35 self.var_real = False
No newline at end of file
No newline at end of file
36 self.var_real_burn = False
36 No newline at end of file
No newline at end of file
37 self.var_real_check = False
No newline at end of file
38 self.var_real_eject = False No newline at end of file
37 # Reconocimiento de los dispositivos de grabacion No newline at end of file
39 # Reconocimiento de los dispositivos de grabacion
38 # functions2.detect_devices(self) #busca los dispositivos de grabacion No newline at end of file
40 # functions2.detect_devices(self) #busca los dispositivos de grabacion
39 #################################### No newline at end of file
41 ####################################
40 functions2.set_devices_test(self) ############ No newline at end of file
42 functions2.set_devices_test(self) ############
41 #################################### No newline at end of file
43 ####################################
42 No newline at end of file
44
43 #Inicialiazacion de variables No newline at end of file
45 #Inicialiazacion de variables
44 self.var_Discs = 0 #Numero de discos del proyecto No newline at end of file
46 self.var_Discs = 0 #Numero de discos del proyecto
45 self.var_Copys = 0 #Numero de copias No newline at end of file
47 self.var_Copys = 0 #Numero de copias
46 self.var_disc_n = 0 # disco actual No newline at end of file
48 self.var_disc_n = 0 # disco actual
47 self.var_copy_n = 0 # copia actual No newline at end of file
49 self.var_copy_n = 0 # copia actual
48 self.var_burned_discs = 0 #numero de discos ya grabados No newline at end of file
50 self.var_burned_discs = 0 #numero de discos ya grabados
49 No newline at end of file
51
50 self.bool_first_iso = False No newline at end of file
52 self.bool_first_iso = False
51 self.var_step = 0 # numero de paso en el proceso No newline at end of file
53 self.var_step = 0 # numero de paso en el proceso
52 self.bool_state_burning = False #si es True se puede grabar No newline at end of file
54 self.bool_state_burning = False #si es True se puede grabar
53 self.blank_discs = False # Si es true significa que se acaban de ingresar discos en blanco No newline at end of file
55 self.blank_discs = False # Si es true significa que se acaban de ingresar discos en blanco
54 No newline at end of file
56
55 self.var_list=[] # Lista de DOYs No newline at end of file
57 self.var_list=[] # Lista de DOYs
56 self.var_sublist=[] # Sub-lista de DOYs seleccionados No newline at end of file
58 self.var_sublist=[] # Sub-lista de DOYs seleccionados
57 self.var_devices=[] #Lista de dispositivos seleccionados No newline at end of file
59 self.var_devices=[] #Lista de dispositivos seleccionados
58 No newline at end of file
60
59 #Revisa si existe el archivo de confirguracion y lo carga No newline at end of file
61 #Revisa si existe el archivo de confirguracion y lo carga
60 if os.path.isfile("parameters.conf"): No newline at end of file
62 if os.path.isfile("parameters.conf"):
61 functions2.get_parameters_conf(self) No newline at end of file
63 functions2.get_parameters_conf(self)
62 self.bool_first_iso = True No newline at end of file
64 self.bool_first_iso = True
63 self.txtInfo.append("Parameters were loaded from configuration file") No newline at end of file
65 self.txtInfo.append("Parameters were loaded from configuration file")
64 self.txtInfo.append("Total number of discs for recording: "+str(self.var_Discs * self.var_Copys)) No newline at end of file
66 self.txtInfo.append("Total number of discs for recording: "+str(self.var_Discs * self.var_Copys))
65 No newline at end of file
67
66 else: No newline at end of file
68 else:
67 functions2.set_parameters_test(self) #Establece ciertos parametros, para pruebas No newline at end of file
69 functions2.set_parameters_test(self) #Establece ciertos parametros, para pruebas
68 No newline at end of file
70
69 functions2.set_vars(self) #Carga las variables de la clase con los parametros seleccionados No newline at end of file
71 functions2.set_vars(self) #Carga las variables de la clase con los parametros seleccionados
70 No newline at end of file
72
71 self.statusDpath = functions.dir_exists(self.var_Dpath, self) No newline at end of file
73 self.statusDpath = functions.dir_exists(self.var_Dpath, self)
72 self.statusRpath = functions.dir_exists(self.var_Rpath, self) No newline at end of file
74 self.statusRpath = functions.dir_exists(self.var_Rpath, self)
73 functions.load_days(self) No newline at end of file
75 functions.load_days(self)
74 No newline at end of file
76
75 if os.path.isfile("parameters.conf"): No newline at end of file
77 if os.path.isfile("parameters.conf"):
76 functions2.enabled_items1(True, self) #Se bloquean los parametros de configuracion No newline at end of file
78 functions2.enabled_items1(True, self) #Se bloquean los parametros de configuracion
77 No newline at end of file
79
78 if os.path.isfile("burning.conf"): No newline at end of file
80 if os.path.isfile("burning.conf"):
79 functions2.get_burning_conf(self) No newline at end of file
81 functions2.get_burning_conf(self)
80 self.txtInfo.append("Current disc: "+str(self.var_disc_n)) No newline at end of file
82 self.txtInfo.append("Current disc: "+str(self.var_disc_n))
81 self.txtInfo.append("Current copy: "+str(self.var_copy_n)) No newline at end of file
83 self.txtInfo.append("Current copy: "+str(self.var_copy_n))
82 self.txtInfo.append("Burned discs: "+str(self.var_burned_discs)) No newline at end of file
84 self.txtInfo.append("Burned discs: "+str(self.var_burned_discs))
83 self.btnStartburn.setText("Continue")
85 self.btnStartburn.setText("Continue")
No newline at end of file
86 self.actionChange_Parameters.setEnabled(False) No newline at end of file
84
No newline at end of file
85 No newline at end of file
86 No newline at end of file
87
87 self.connect(self.actionChange_Parameters, QtCore.SIGNAL("triggered()"), self.changeParameters) No newline at end of file
88 self.connect(self.actionChange_Parameters, QtCore.SIGNAL("triggered()"), self.changeParameters)
88 self.connect(self.actionAbout, QtCore.SIGNAL("triggered()"), self.about) No newline at end of file
89 self.connect(self.actionAbout, QtCore.SIGNAL("triggered()"), self.about)
89 No newline at end of file
90
90 self.process_iso = QtCore.QProcess() No newline at end of file
91 self.process_iso = QtCore.QProcess()
91 self.connect(self.process_iso, QtCore.SIGNAL('readyReadStandardOutput()'), self.readOuput_iso) No newline at end of file
92 self.connect(self.process_iso, QtCore.SIGNAL('readyReadStandardOutput()'), self.readOuput_iso)
92 self.connect(self.process_iso, QtCore.SIGNAL('readyReadStandardError()'), self.readError_iso) No newline at end of file
93 self.connect(self.process_iso, QtCore.SIGNAL('readyReadStandardError()'), self.readError_iso)
93 self.connect(self.process_iso, QtCore.SIGNAL('finished(int,QProcess::ExitStatus)'), self.finished_iso) No newline at end of file
94 self.connect(self.process_iso, QtCore.SIGNAL('finished(int,QProcess::ExitStatus)'), self.finished_iso)
94 No newline at end of file
95
95 self.process_burn = QtCore.QProcess() No newline at end of file
96 self.process_burn = QtCore.QProcess()
96 self.connect(self.process_burn, QtCore.SIGNAL('readyReadStandardOutput()'), self.readOuput_burn) No newline at end of file
97 self.connect(self.process_burn, QtCore.SIGNAL('readyReadStandardOutput()'), self.readOuput_burn)
97 self.connect(self.process_burn, QtCore.SIGNAL('readyReadStandardError()'), self.readError_burn) No newline at end of file
98 self.connect(self.process_burn, QtCore.SIGNAL('readyReadStandardError()'), self.readError_burn)
98 self.connect(self.process_burn, QtCore.SIGNAL('finished(int,QProcess::ExitStatus)'), self.finished_burn) No newline at end of file
99 self.connect(self.process_burn, QtCore.SIGNAL('finished(int,QProcess::ExitStatus)'), self.finished_burn)
99 No newline at end of file
100
100 self.process_check = QtCore.QProcess() No newline at end of file
101 self.process_check = QtCore.QProcess()
101 self.connect(self.process_check, QtCore.SIGNAL('readyReadStandardOutput()'), self.readOuput_check) No newline at end of file
102 self.connect(self.process_check, QtCore.SIGNAL('readyReadStandardOutput()'), self.readOuput_check)
102 self.connect(self.process_check, QtCore.SIGNAL('readyReadStandardError()'), self.readError_check) No newline at end of file
103 self.connect(self.process_check, QtCore.SIGNAL('readyReadStandardError()'), self.readError_check)
103 self.connect(self.process_check, QtCore.SIGNAL('finished(int,QProcess::ExitStatus)'), self.finished_check) No newline at end of file
104 self.connect(self.process_check, QtCore.SIGNAL('finished(int,QProcess::ExitStatus)'), self.finished_check)
104 No newline at end of file
105
105 No newline at end of file
106
106 def changeParameters(self): No newline at end of file
107 def changeParameters(self):
107 dlg=QtGui.QDialog() No newline at end of file
108 dlg=QtGui.QDialog()
108 dlgui=Ui_Parameters() No newline at end of file
109 dlgui=Ui_Parameters()
109 dlgui.setupUi(dlg) No newline at end of file
110 dlgui.setupUi(dlg)
110 if (dlg.exec_() == QtGui.QDialog.Accepted): No newline at end of file
111 if (dlg.exec_() == QtGui.QDialog.Accepted):
111 if dlgui.txtDisc.value() > self.var_Discs or dlgui.txtCopy.value() > dlgui.txtNcopys.value(): No newline at end of file
112 if dlgui.txtDisc.value() > self.var_Discs or dlgui.txtCopy.value() > dlgui.txtNcopys.value():
112 self.txtInfo.append("Wrong parameters") No newline at end of file
113 self.txtInfo.append("Wrong parameters")
113 else: No newline at end of file
114 else:
114 self.var_Copys = dlgui.txtNcopys.value() No newline at end of file
115 self.var_Copys = dlgui.txtNcopys.value()
115 self.var_disc_n = dlgui.txtDisc.value() No newline at end of file
116 self.var_disc_n = dlgui.txtDisc.value()
116 self.var_copy_n = dlgui.txtCopy.value() No newline at end of file
117 self.var_copy_n = dlgui.txtCopy.value()
117 self.txtInfo.append("Changed parameters") No newline at end of file
118 self.txtInfo.append("Changed parameters")
118 self.var_burned_discs = ( ( (self.var_disc_n - 1) * self.var_Copys) + self.var_copy_n -1 ) No newline at end of file
119 self.var_burned_discs = ( ( (self.var_disc_n - 1) * self.var_Copys) + self.var_copy_n -1 )
119 self.bool_first_iso = True No newline at end of file
120 self.bool_first_iso = True
121 self.txtInfo.append("Current disc: "+str(self.var_disc_n))
No newline at end of file
122 self.txtInfo.append("Current copy: "+str(self.var_copy_n))
No newline at end of file
123 self.txtInfo.append("Nro Copys: "+str(self.var_Copys))
No newline at end of file
124 functions2.make_parameters_conf(self)
No newline at end of file
125 self.txtCopys.setValue(self.var_Copys) #Actualizo mananualmente el valor Copys No newline at end of file
120 No newline at end of file
126
121 No newline at end of file
127
122 No newline at end of file
128
123 def about(self): No newline at end of file
129 def about(self):
124 dlg_about=QtGui.QDialog() No newline at end of file
130 dlg_about=QtGui.QDialog()
125 dlgui_about=Ui_About() No newline at end of file
131 dlgui_about=Ui_About()
126 dlgui_about.setupUi(dlg_about) No newline at end of file
132 dlgui_about.setupUi(dlg_about)
127 dlg_about.exec_() No newline at end of file
133 dlg_about.exec_()
128 No newline at end of file
134
129 No newline at end of file
135
130 #============================================================================== No newline at end of file
136 #==============================================================================
131 # Manejo de los eventos No newline at end of file
137 # Manejo de los eventos
132 #============================================================================== No newline at end of file
138 #==============================================================================
133 No newline at end of file
139
134 #----------------------------------------------------- Obtencion de la ruta de los datos --------------------------------------------------------------- No newline at end of file
140 #----------------------------------------------------- Obtencion de la ruta de los datos ---------------------------------------------------------------
135 No newline at end of file
141
136 @pyqtSignature("") No newline at end of file
142 @pyqtSignature("")
137 def on_btnDpath_clicked(self): No newline at end of file
143 def on_btnDpath_clicked(self):
138 """ No newline at end of file
144 """
139 Permite seleccionar graficamente el direcorio de los datos a grabar No newline at end of file
145 Permite seleccionar graficamente el direcorio de los datos a grabar
140 """ No newline at end of file
146 """
141 self.var_Dpath= str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly)) No newline at end of file
147 self.var_Dpath= str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
142 self.txtDpath.setText(self.var_Dpath) No newline at end of file
148 self.txtDpath.setText(self.var_Dpath)
143 self.statusDpath = functions.dir_exists(self.var_Dpath, self) No newline at end of file
149 self.statusDpath = functions.dir_exists(self.var_Dpath, self)
144 functions.load_days(self) No newline at end of file
150 functions.load_days(self)
145 No newline at end of file
151
146 No newline at end of file
152
147 @pyqtSignature("") No newline at end of file
153 @pyqtSignature("")
148 def on_txtDpath_editingFinished(self): No newline at end of file
154 def on_txtDpath_editingFinished(self):
149 """ No newline at end of file
155 """
150 Carga la ruta editada y verifica que sea correcta y carga la lista de dias No newline at end of file
156 Carga la ruta editada y verifica que sea correcta y carga la lista de dias
151 """ No newline at end of file
157 """
152 self.var_Dpath=str(self.txtDpath.text()) #Se carga la variable con la ruta recien editada No newline at end of file
158 self.var_Dpath=str(self.txtDpath.text()) #Se carga la variable con la ruta recien editada
153 self.statusDpath = functions.dir_exists(self.var_Dpath, self) No newline at end of file
159 self.statusDpath = functions.dir_exists(self.var_Dpath, self)
154 functions.load_days(self) No newline at end of file
160 functions.load_days(self)
155 No newline at end of file
161
156 No newline at end of file
162
157 #----------------------------------------------------- Obtencion de las ruta del proyecto --------------------------------------------------------------- No newline at end of file
163 #----------------------------------------------------- Obtencion de las ruta del proyecto ---------------------------------------------------------------
158 No newline at end of file
164
159 @pyqtSignature("") No newline at end of file
165 @pyqtSignature("")
160 def on_btnRpath_clicked(self): No newline at end of file
166 def on_btnRpath_clicked(self):
161 """ No newline at end of file
167 """
162 Permite seleccionar graficamente el direcorio del proyecto No newline at end of file
168 Permite seleccionar graficamente el direcorio del proyecto
163 """ No newline at end of file
169 """
164 self.var_Rpath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly)) No newline at end of file
170 self.var_Rpath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
165 self.txtRpath.setText(self.var_Rpath) No newline at end of file
171 self.txtRpath.setText(self.var_Rpath)
166 self.statusRpath = functions.dir_exists(self.var_Rpath, self) No newline at end of file
172 self.statusRpath = functions.dir_exists(self.var_Rpath, self)
167 No newline at end of file
173
168 No newline at end of file
174
169 @pyqtSignature("") No newline at end of file
175 @pyqtSignature("")
170 def on_txtRpath_editingFinished(self): No newline at end of file
176 def on_txtRpath_editingFinished(self):
171 """ No newline at end of file
177 """
172 Valida la ruta del proyecto No newline at end of file
178 Valida la ruta del proyecto
173 """ No newline at end of file
179 """
174 self.var_Rpath = str(self.txtRpath.text()) #Se carga la variable con la ruta recien editada No newline at end of file
180 self.var_Rpath = str(self.txtRpath.text()) #Se carga la variable con la ruta recien editada
175 self.statusRpath = functions.dir_exists(self.var_Rpath, self) No newline at end of file
181 self.statusRpath = functions.dir_exists(self.var_Rpath, self)
176 No newline at end of file
182
177 No newline at end of file
183
178 #----------------------------------------------------- Tipo de datos --------------------------------------------------------------- No newline at end of file
184 #----------------------------------------------------- Tipo de datos ---------------------------------------------------------------
179 No newline at end of file
185
180 @pyqtSignature("int") No newline at end of file
186 @pyqtSignature("int")
181 def on_lstDtype_activated(self, index): No newline at end of file
187 def on_lstDtype_activated(self, index):
182 """ No newline at end of file
188 """
183 Permite elegir entre los tipos de archivos No newline at end of file
189 Permite elegir entre los tipos de archivos
184 """ No newline at end of file
190 """
185 self.txtDtype.setReadOnly(True) No newline at end of file
191 self.txtDtype.setReadOnly(True)
186 if index == 0: No newline at end of file
192 if index == 0:
187 self.var_Dtype ='r' No newline at end of file
193 self.var_Dtype ='r'
188 elif index == 1: No newline at end of file
194 elif index == 1:
189 self.var_Dtype ='pdata' No newline at end of file
195 self.var_Dtype ='pdata'
190 elif index == 2: No newline at end of file
196 elif index == 2:
191 self.var_Dtype ='sswma' No newline at end of file
197 self.var_Dtype ='sswma'
192 else : No newline at end of file
198 else :
193 self.var_Dtype ='' No newline at end of file
199 self.var_Dtype =''
194 self.txtDtype.setReadOnly(False) No newline at end of file
200 self.txtDtype.setReadOnly(False)
195 No newline at end of file
201
196 self.txtDtype.setText(self.var_Dtype) No newline at end of file
202 self.txtDtype.setText(self.var_Dtype)
197 functions.load_days(self) #llamada a funcion No newline at end of file
203 functions.load_days(self) #llamada a funcion
198 No newline at end of file
204
199 @pyqtSignature("") No newline at end of file
205 @pyqtSignature("")
200 def on_txtDtype_editingFinished(self): No newline at end of file
206 def on_txtDtype_editingFinished(self):
201 self.var_Dtype=str(self.txtDtype.text()) No newline at end of file
207 self.var_Dtype=str(self.txtDtype.text())
202 functions.load_days(self) #llamada a funcion No newline at end of file
208 functions.load_days(self) #llamada a funcion
203 No newline at end of file
209
204 No newline at end of file
210
205 #----------------------------------------------------- Etiqueta --------------------------------------------------------------- No newline at end of file
211 #----------------------------------------------------- Etiqueta ---------------------------------------------------------------
206 No newline at end of file
212
207 @pyqtSignature("") No newline at end of file
213 @pyqtSignature("")
208 def on_txtElabel_editingFinished(self): No newline at end of file
214 def on_txtElabel_editingFinished(self):
209 self.var_Elabel = str(self.txtElabel.text()) No newline at end of file
215 self.var_Elabel = str(self.txtElabel.text())
210 No newline at end of file
216
211 #----------------------------------------------------- Numero de copias --------------------------------------------------------------- No newline at end of file
217 #----------------------------------------------------- Numero de copias ---------------------------------------------------------------
212 @pyqtSignature("") No newline at end of file
218 @pyqtSignature("")
213 def on_txtCopys_editingFinished(self): No newline at end of file
219 def on_txtCopys_editingFinished(self):
214 self.var_Copys = self.txtCopys.value() No newline at end of file
220 self.var_Copys = self.txtCopys.value()
215 No newline at end of file
221
216 #----------------------------------------------------- Seleccion del rango de fechas --------------------------------------------------------------- No newline at end of file
222 #----------------------------------------------------- Seleccion del rango de fechas ---------------------------------------------------------------
217 No newline at end of file
223
218 @pyqtSignature("int") #CLOSED No newline at end of file
224 @pyqtSignature("int") #CLOSED
219 def on_lstStartDay_activated(self, index): No newline at end of file
225 def on_lstStartDay_activated(self, index):
220 """ No newline at end of file
226 """
221 Cambia la lista de opciones en lstStopDay No newline at end of file
227 Cambia la lista de opciones en lstStopDay
222 """ No newline at end of file
228 """
223 var_StopDay_index=self.lstStopDay.count() - self.lstStopDay.currentIndex() No newline at end of file
229 var_StopDay_index=self.lstStopDay.count() - self.lstStopDay.currentIndex()
224 self.lstStopDay.clear() No newline at end of file
230 self.lstStopDay.clear()
225 No newline at end of file
231
226 for i in self.var_list[index:]: No newline at end of file
232 for i in self.var_list[index:]:
227 self.lstStopDay.addItem(i) No newline at end of file
233 self.lstStopDay.addItem(i)
228 No newline at end of file
234
229 self.lstStopDay.setCurrentIndex(self.lstStopDay.count() - var_StopDay_index) No newline at end of file
235 self.lstStopDay.setCurrentIndex(self.lstStopDay.count() - var_StopDay_index)
230 No newline at end of file
236
231 functions.get_sub_list(self) No newline at end of file
237 functions.get_sub_list(self)
232 No newline at end of file
238
233 No newline at end of file
239
234 @pyqtSignature("int") #CLOSED No newline at end of file
240 @pyqtSignature("int") #CLOSED
235 def on_lstStopDay_activated(self, index): No newline at end of file
241 def on_lstStopDay_activated(self, index):
236 """ No newline at end of file
242 """
237 Cambia la lista de opciones en lstStartDay No newline at end of file
243 Cambia la lista de opciones en lstStartDay
238 """ No newline at end of file
244 """
239 var_StartDay_index=self.lstStartDay.currentIndex() No newline at end of file
245 var_StartDay_index=self.lstStartDay.currentIndex()
240 var_end_index = self.lstStopDay.count() - index No newline at end of file
246 var_end_index = self.lstStopDay.count() - index
241 self.lstStartDay.clear() No newline at end of file
247 self.lstStartDay.clear()
242 No newline at end of file
248
243 for i in self.var_list[:len(self.var_list) - var_end_index + 1]: No newline at end of file
249 for i in self.var_list[:len(self.var_list) - var_end_index + 1]:
244 self.lstStartDay.addItem(i) No newline at end of file
250 self.lstStartDay.addItem(i)
245 No newline at end of file
251
246 self.lstStartDay.setCurrentIndex(var_StartDay_index) No newline at end of file
252 self.lstStartDay.setCurrentIndex(var_StartDay_index)
247 No newline at end of file
253
248 functions.get_sub_list(self) No newline at end of file
254 functions.get_sub_list(self)
249 No newline at end of file
255
250 No newline at end of file
256
251 #----------------------------------------------------- Capacidad del dispositivo de grabacion --------------------------------------------------------------- No newline at end of file
257 #----------------------------------------------------- Capacidad del dispositivo de grabacion ---------------------------------------------------------------
252 No newline at end of file
258
253 @pyqtSignature("") No newline at end of file
259 @pyqtSignature("")
254 def on_txtDcapacity_editingFinished(self): No newline at end of file
260 def on_txtDcapacity_editingFinished(self):
255 self.var_Dcapacity = self.txtDcapacity.value() No newline at end of file
261 self.var_Dcapacity = self.txtDcapacity.value()
256 No newline at end of file
262
257 No newline at end of file
263
258 @pyqtSignature("int") #CLOSED No newline at end of file
264 @pyqtSignature("int") #CLOSED
259 def on_lstDcapacity_activated(self, index): No newline at end of file
265 def on_lstDcapacity_activated(self, index):
260 """ No newline at end of file
266 """
261 Permite elegir el tamaΓ±o del disco No newline at end of file
267 Permite elegir el tamaΓ±o del disco
262 """ No newline at end of file
268 """
263 if index == 0: No newline at end of file
269 if index == 0:
264 var_size=25.0 No newline at end of file
270 var_size=25.0
265 elif index == 1: No newline at end of file
271 elif index == 1:
266 var_size=8.5 No newline at end of file
272 var_size=8.5
267 elif index == 2: No newline at end of file
273 elif index == 2:
268 var_size=4.7 No newline at end of file
274 var_size=4.7
269 elif index == 3: No newline at end of file
275 elif index == 3:
270 var_size=0.7 No newline at end of file
276 var_size=0.7
271 No newline at end of file
277
272 if index != 4: No newline at end of file
278 if index != 4:
273 self.txtDcapacity.setValue(var_size*10**9/1024**2) No newline at end of file
279 self.txtDcapacity.setValue(var_size*10**9/1024**2)
274 self.txtDcapacity.setReadOnly(True) No newline at end of file
280 self.txtDcapacity.setReadOnly(True)
275 else: No newline at end of file
281 else:
276 self.txtDcapacity.setValue(100.0) No newline at end of file
282 self.txtDcapacity.setValue(100.0)
277 self.txtDcapacity.setReadOnly(False) No newline at end of file
283 self.txtDcapacity.setReadOnly(False)
278 No newline at end of file
284
279 self.var_lstDcapacity = self.lstDcapacity.currentIndex() No newline at end of file
285 self.var_lstDcapacity = self.lstDcapacity.currentIndex()
280 self.var_Dcapacity = self.txtDcapacity.value() No newline at end of file
286 self.var_Dcapacity = self.txtDcapacity.value()
281 No newline at end of file
287
282 #----------------------------------------------------- Testeo de las unidades de grabacion --------------------------------------------------------------- No newline at end of file
288 #----------------------------------------------------- Testeo de las unidades de grabacion ---------------------------------------------------------------
283 No newline at end of file
289
284 @pyqtSignature("") No newline at end of file
290 @pyqtSignature("")
285 def on_btnTdevA_clicked(self): No newline at end of file
291 def on_btnTdevA_clicked(self):
286 var_dev = str(self.txtDeviceA.text()) No newline at end of file
292 var_dev = str(self.txtDeviceA.text())
287 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev No newline at end of file
293 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev
288 commands.getstatusoutput(var_cmd) No newline at end of file
294 commands.getstatusoutput(var_cmd)
289 No newline at end of file
295
290 @pyqtSignature("") No newline at end of file
296 @pyqtSignature("")
291 def on_btnTdevB_clicked(self): No newline at end of file
297 def on_btnTdevB_clicked(self):
292 var_dev = str(self.txtDeviceB.text()) No newline at end of file
298 var_dev = str(self.txtDeviceB.text())
293 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev No newline at end of file
299 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev
294 commands.getstatusoutput(var_cmd) No newline at end of file
300 commands.getstatusoutput(var_cmd)
295 No newline at end of file
301
296 @pyqtSignature("") No newline at end of file
302 @pyqtSignature("")
297 def on_btnTdevC_clicked(self): No newline at end of file
303 def on_btnTdevC_clicked(self):
298 var_dev = str(self.txtDeviceC.text()) No newline at end of file
304 var_dev = str(self.txtDeviceC.text())
299 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev No newline at end of file
305 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev
300 commands.getstatusoutput(var_cmd) No newline at end of file
306 commands.getstatusoutput(var_cmd)
301 No newline at end of file
307
302 @pyqtSignature("") No newline at end of file
308 @pyqtSignature("")
303 def on_btnTdevD_clicked(self): No newline at end of file
309 def on_btnTdevD_clicked(self):
304 var_dev = str(self.txtDeviceD.text()) No newline at end of file
310 var_dev = str(self.txtDeviceD.text())
305 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev No newline at end of file
311 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev
306 commands.getstatusoutput(var_cmd) No newline at end of file
312 commands.getstatusoutput(var_cmd)
307 No newline at end of file
313
308 No newline at end of file
314
309 #============================================================================== No newline at end of file
315 #==============================================================================
310 # Botones para la generacion de los archivos de configuracion No newline at end of file
316 # Botones para la generacion de los archivos de configuracion
311 #============================================================================== No newline at end of file
317 #==============================================================================
312 No newline at end of file
318
313 #----------------------------------------------------- Generacion de la configuracion usando los parametros --------------------------------------------------------------- No newline at end of file
319 #----------------------------------------------------- Generacion de la configuracion usando los parametros ---------------------------------------------------------------
314 No newline at end of file
320
315 @pyqtSignature("") No newline at end of file
321 @pyqtSignature("")
316 def on_btnGbkp_clicked(self): No newline at end of file
322 def on_btnGbkp_clicked(self):
317 """ No newline at end of file
323 """
318 Generacion de archivos de configuracion usando los parametros No newline at end of file
324 Generacion de archivos de configuracion usando los parametros
319 """ No newline at end of file
325 """
320 No newline at end of file
326
321 if functions.validate_parameters(self) == False: No newline at end of file
327 if functions.validate_parameters(self) == False:
322 return No newline at end of file
328 return
323 No newline at end of file
329
324 #Crea las carpetas en la ruta del proyecto y verifica que se crearon correctamente No newline at end of file
330 #Crea las carpetas en la ruta del proyecto y verifica que se crearon correctamente
325 list_dirs=['gpath','iso','ppath', 'tmpdata'] No newline at end of file
331 list_dirs=['gpath','iso','ppath', 'tmpdata']
326 bool_make_dirs = functions.make_dirs(list_dirs, self) No newline at end of file
332 bool_make_dirs = functions.make_dirs(list_dirs, self)
327 if bool_make_dirs == False: No newline at end of file
333 if bool_make_dirs == False:
328 return No newline at end of file
334 return
329 No newline at end of file
335
330 var_files_list = functions.list_files(self) #Se obtiene la lista de archivos a grabar No newline at end of file
336 var_files_list = functions.list_files(self) #Se obtiene la lista de archivos a grabar
331 No newline at end of file
337
332 self.var_Discs = functions.make_files_dat(var_files_list, self) #Se crean los archivos .dat No newline at end of file
338 self.var_Discs = functions.make_files_dat(var_files_list, self) #Se crean los archivos .dat
333 No newline at end of file
339
334 functions.make_files_print(self) # Se crean los archivos .print No newline at end of file
340 functions.make_files_print(self) # Se crean los archivos .print
335 No newline at end of file
341
336 functions2.make_parameters_conf(self) # se crea el archivo parameters.conf No newline at end of file
342 functions2.make_parameters_conf(self) # se crea el archivo parameters.conf
337 No newline at end of file
343
338 self.txtInfo.append("Total number of discs for recording: "+str(self.var_Discs * self.var_Copys)) No newline at end of file
344 self.txtInfo.append("Total number of discs for recording: "+str(self.var_Discs * self.var_Copys))
339 No newline at end of file
345
340 #Se bloquean los parametros de configuracion No newline at end of file
346 #Se bloquean los parametros de configuracion
341 functions2.enabled_items1(True, self) No newline at end of file
347 functions2.enabled_items1(True, self)
342 self.var_disc_n = 1 No newline at end of file
348 self.var_disc_n = 1
343 self.var_copy_n = 1 No newline at end of file
349 self.var_copy_n = 1
344 self.bool_first_iso = True No newline at end of file
350 self.bool_first_iso = True
345 self.var_burned_discs = 0 #numero de discos grabados No newline at end of file
351 self.var_burned_discs = 0 #numero de discos grabados
346 No newline at end of file
352
347 No newline at end of file
353
348 #----------------------------------------------------- Permite reiniciar la configuracion --------------------------------------------------------------- No newline at end of file
354 #----------------------------------------------------- Permite reiniciar la configuracion ---------------------------------------------------------------
349 No newline at end of file
355
350 @pyqtSignature("") No newline at end of file
356 @pyqtSignature("")
351 def on_btnRestart_clicked(self): No newline at end of file
357 def on_btnRestart_clicked(self):
352 """ No newline at end of file
358 """
353 Permite que se puedan cambiar los parametros No newline at end of file
359 Permite que se puedan cambiar los parametros
354 """ No newline at end of file
360 """
355 if os.path.isfile("parameters.conf"): No newline at end of file
361 if os.path.isfile("parameters.conf"):
356 os.remove("parameters.conf") No newline at end of file
362 os.remove("parameters.conf")
357 if os.path.isfile("burning.conf"): No newline at end of file
363 if os.path.isfile("burning.conf"):
358 os.remove("burning.conf") No newline at end of file
364 os.remove("burning.conf")
359 No newline at end of file
365
360 functions2.enabled_items1(False, self) No newline at end of file
366 functions2.enabled_items1(False, self)
361 self.btnStartburn.setText("Start Burn") No newline at end of file
367 self.btnStartburn.setText("Start Burn")
362 No newline at end of file
368
363 No newline at end of file
369
364 No newline at end of file
370
365 #============================================================================== No newline at end of file
371 #==============================================================================
366 # Acciones de los procesos No newline at end of file
372 # Acciones de los procesos
367 #============================================================================== No newline at end of file
373 #==============================================================================
368 No newline at end of file
374
369 #------------------------------------------------ Funciones del proceso de creacion del iso ------------------------------------------------------ No newline at end of file
375 #------------------------------------------------ Funciones del proceso de creacion del iso ------------------------------------------------------
370 No newline at end of file
376
371 def readOuput_iso(self): No newline at end of file
377 def readOuput_iso(self):
372 self.txtProgress.setText("stdout iso: " + QtCore.QString(self.process_iso.readAllStandardOutput())) No newline at end of file
378 self.txtProgress.setText("stdout iso: " + QtCore.QString(self.process_iso.readAllStandardOutput()))
373 No newline at end of file
379
374 def readError_iso(self): No newline at end of file
380 def readError_iso(self):
375 self.txtProgress.setText("stderr iso: " + QtCore.QString(self.process_iso.readAllStandardError())) No newline at end of file
381 self.txtProgress.setText("stderr iso: " + QtCore.QString(self.process_iso.readAllStandardError()))
376 No newline at end of file
382
377 def finished_iso(self): No newline at end of file
383 def finished_iso(self):
378 self.txtProgress.clear() No newline at end of file
384 self.txtProgress.clear()
379 No newline at end of file
385
380 if not(self.bool_state_burning): No newline at end of file
386 if not(self.bool_state_burning):
381 return No newline at end of file
387 return
382 No newline at end of file
388
383 if self.process_iso.exitCode() == 0:
389 if self.process_iso.exitCode() == 0:
No newline at end of file
390 self.txtInfo.append("------Iso file: "+functions.i2s(self.var_disc_n)+" created successfully\n") No newline at end of file
384 self.txtInfo.append("------Iso file: "+functions.i2s(self.var_disc_n)+" created successfully") No newline at end of file
385 self.var_step = 1 No newline at end of file
391 self.var_step = 1
386 self.function_burn() No newline at end of file
392 self.function_burn()
387 No newline at end of file
393
388 else: No newline at end of file
394 else:
389 self.txtInfo.append("#####Error creating iso file "+function.i2s(self.var_disc_n) No newline at end of file
395 self.txtInfo.append("#####Error creating iso file "+function.i2s(self.var_disc_n)
390 +" , code "+QtCore.QString(self.process_iso.exitCode())) No newline at end of file
396 +" , code "+QtCore.QString(self.process_iso.exitCode()))
391 self.txtInfo.append("Please check the data") No newline at end of file
397 self.txtInfo.append("Please check the data")
392 self.txtInfo.append("FATAL ERROR") No newline at end of file
398 self.txtInfo.append("FATAL ERROR")
393 #----------------------------------------------------- Funciones del proceso de grabado --------------------------------------------------------------- No newline at end of file
399
394 No newline at end of file
400 #----------------------------------------------------- Funciones del proceso de grabado ---------------------------------------------------------------
395 def readOuput_burn(self): No newline at end of file
401
396 self.txtProgress.setText("stdout burn: " + QtCore.QString(self.process_burn.readAllStandardOutput())) No newline at end of file
402 def readOuput_burn(self):
397 No newline at end of file
403 self.txtProgress.setText("stdout burn: " + QtCore.QString(self.process_burn.readAllStandardOutput()))
398 def readError_burn(self): No newline at end of file
404
399 self.txtProgress.setText("stderr burn: " + QtCore.QString(self.process_burn.readAllStandardError())) No newline at end of file
405 def readError_burn(self):
400 No newline at end of file
406 self.txtProgress.setText("stderr burn: " + QtCore.QString(self.process_burn.readAllStandardError()))
401 def finished_burn(self): No newline at end of file
407
402 self.txtProgress.clear() No newline at end of file
408 def finished_burn(self):
403 No newline at end of file
409 self.txtProgress.clear()
404 #Si se paro el proceso manualmente se termina No newline at end of file
410
405 if not(self.bool_state_burning): No newline at end of file
411 #Si se paro el proceso manualmente se termina
406 return
412 if not(self.bool_state_burning):
No newline at end of file
407
No newline at end of file
408 functions2.make_burning_conf(self) # Si el proceso no ha sido detenido manualmente
No newline at end of file
409 #crea el archivo burning.conf para el seguimiento de los discos grabados No newline at end of file
410 No newline at end of file
413 return
411 if self.process_burn.exitCode() == 0: No newline at end of file
414
412 self.txtInfo.append("-----Complete recording, disc: "+str(self.var_disc_n)+" copy: "+str(self.var_copy_n)) No newline at end of file
415 if self.process_burn.exitCode() == 0:
413 functions2.update_message(1, "COMPLETED", self) No newline at end of file
416 self.txtInfo.append("-----Complete recording, disc: "+str(self.var_disc_n)+" copy: "+str(self.var_copy_n))
414 self.var_step = 2 No newline at end of file
417 functions2.update_message(1, "COMPLETED", self)
415 self.function_check() No newline at end of file
418 self.var_step = 2
416 No newline at end of file
419 self.function_check()
417 else: No newline at end of file
420
418 self.txtInfo.append("#######Error recording, disc: "+function.i2s(self.var_disc_n)+" copy: " No newline at end of file
421 else:
419 +function.i2s(self.var_copy_n)+", code "+QtCore.QString(self.process_burn.exitCode())) No newline at end of file
422 self.txtInfo.append("#######Error recording, disc: "+function.i2s(self.var_disc_n)+" copy: "
420 functions2.update_message(1, "ERROR", self) No newline at end of file
423 +function.i2s(self.var_copy_n)+", code "+QtCore.QString(self.process_burn.exitCode()))
421 No newline at end of file
424 functions2.update_message(1, "ERROR", self)
422 functions.is_last_disc_and_copy(self) No newline at end of file
425
423 No newline at end of file
426 functions.is_last_disc_and_copy(self)
424 No newline at end of file
427
425 #----------------------------------------------------- Funciones del proceso de verificacion --------------------------------------------------------------- No newline at end of file
428
426 No newline at end of file
429 #----------------------------------------------------- Funciones del proceso de verificacion ---------------------------------------------------------------
427 def readOuput_check(self): No newline at end of file
430
428 self.txtProgress.setText("stdout check: " + QtCore.QString(self.process_check.readAllStandardOutput())) No newline at end of file
431 def readOuput_check(self):
429 No newline at end of file
432 self.txtProgress.setText("stdout check: " + QtCore.QString(self.process_check.readAllStandardOutput()))
430 def readError_check(self): No newline at end of file
433
431 self.txtProgress.setText("stderr check: " + QtCore.QString(self.process_check.readAllStandardError())) No newline at end of file
434 def readError_check(self):
432 No newline at end of file
435 self.txtProgress.setText("stderr check: " + QtCore.QString(self.process_check.readAllStandardError()))
433 def finished_check(self): No newline at end of file
436
434 self.txtProgress.clear() No newline at end of file
437 def finished_check(self):
435 No newline at end of file
438 self.txtProgress.clear()
436 if not(self.bool_state_burning): No newline at end of file
439
437 return No newline at end of file
440 if not(self.bool_state_burning):
438 No newline at end of file
441 return
439 if self.process_check.exitCode() == 0: No newline at end of file
442
440 self.txtInfo.append("--------Complete checking, disc: "+str(self.var_disc_n)+" copy: "+str(self.var_copy_n)) No newline at end of file
443 if self.process_check.exitCode() == 0:
441 functions2.update_message(2, "CHECKED", self) No newline at end of file
444 self.txtInfo.append("--------Complete checking, disc: "+str(self.var_disc_n)+" copy: "+str(self.var_copy_n))
442 No newline at end of file
445 functions2.update_message(2, "CHECKED", self)
443 else: No newline at end of file
446
444 self.txtInfo.append("#######Error checking, disc: "+function.i2s(self.var_disc_n)+" copy: " No newline at end of file
447 else:
445 +function.i2s(self.var_copy_n)+", code "+QtCore.QString(self.process_check.exitCode())) No newline at end of file
448 self.txtInfo.append("#######Error checking, disc: "+function.i2s(self.var_disc_n)+" copy: "
446 functions2.update_message(2, "ERROR", self) No newline at end of file
449 +function.i2s(self.var_copy_n)+", code "+QtCore.QString(self.process_check.exitCode()))
447 No newline at end of file
450 functions2.update_message(2, "ERROR", self)
448 functions.is_last_disc_and_copy(self) No newline at end of file
451
449 No newline at end of file
452 functions.is_last_disc_and_copy(self)
450 No newline at end of file
453
451 No newline at end of file
454
452 #============================================================================== No newline at end of file
455
453 # Botones para el proceso de grabacion No newline at end of file
456 #==============================================================================
454 #============================================================================== No newline at end of file
457 # Botones para el proceso de grabacion
455 No newline at end of file
458 #==============================================================================
456 #----------------------------------------------------- Iniciar proceso de grabacion --------------------------------------------------------------- No newline at end of file
459
457 No newline at end of file
460 #----------------------------------------------------- Iniciar proceso de grabacion ---------------------------------------------------------------
458 @pyqtSignature("") No newline at end of file
461
459 def on_btnStartburn_clicked(self): No newline at end of file
462 @pyqtSignature("")
460 """ No newline at end of file
463 def on_btnStartburn_clicked(self):
461 Se inicia el proceso de grabacion No newline at end of file
464 """
462 """ No newline at end of file
465 Se inicia el proceso de grabacion
463 #Verifica que exista algun dispositivo de grabacion seleccionado No newline at end of file
466 """
464 if not(functions2.selected_devices(self)): No newline at end of file
467 #Verifica que exista algun dispositivo de grabacion seleccionado
465 self.txtInfo.append("There is no recording device selected") No newline at end of file
468 if not(functions2.selected_devices(self)):
466 return No newline at end of file
469 self.txtInfo.append("There is no recording device selected")
467 No newline at end of file
470 return
468 # #Lista los dispositivos de grabacion a usar No newline at end of file
471
469 # for dev in self.var_devices: No newline at end of file
472 # #Lista los dispositivos de grabacion a usar
470 # self.txtInfo.append("recording device :"+dev) No newline at end of file
473 # for dev in self.var_devices:
471 No newline at end of file
474 # self.txtInfo.append("recording device :"+dev)
472 self.bool_state_burning = True No newline at end of file
475
473 functions2.enabled_items2(True, self) No newline at end of file
476 self.bool_state_burning = True
474 No newline at end of file
477 functions2.enabled_items2(True, self)
475 if self.bool_first_iso == True: No newline at end of file
478
476 self.txtInfo.append("BUTTON: on_btnStartburn_clicked") No newline at end of file
479 if self.bool_first_iso == True:
477 self.var_step = 4 No newline at end of file
480 self.txtInfo.append("BUTTON: on_btnStartburn_clicked")
478 self.function_eject() No newline at end of file
481 self.var_step = 4
479 return No newline at end of file
482 self.function_eject()
480 No newline at end of file
483 return
481 if self.var_step == 0: No newline at end of file
484
482 self.function_iso() No newline at end of file
485 if self.var_step == 0:
483 return No newline at end of file
486 self.function_iso()
484 No newline at end of file
487 return
485 if self.var_step == 1: No newline at end of file
488
486 self.function_burn() No newline at end of file
489 if self.var_step == 1:
487 return No newline at end of file
490 self.function_burn()
488 No newline at end of file
491 return
489 #----------------------------------------------------- Funcion para el grabado --------------------------------------------------------------- No newline at end of file
492
490 No newline at end of file
493 #----------------------------------------------------- Funcion para el grabado ---------------------------------------------------------------
491 def function_iso(self): No newline at end of file
494
492 #Creacion del archivo.iso para la grabacion No newline at end of file
495 def function_iso(self):
493 if self.var_step == 0: No newline at end of file
496 #Creacion del archivo.iso para la grabacion
494 self.txtInfo.append("########## Disc number: "+str(self.var_disc_n)+"##########") No newline at end of file
497 if self.var_step == 0:
495 self.txtInfo.append("------Creating iso file number: "+str(self.var_disc_n)) No newline at end of file
498 self.txtInfo.append("########## Disc number: "+str(self.var_disc_n)+"##########")
496
499 self.txtInfo.append("------Creating iso file number: "+str(self.var_disc_n))
No newline at end of file
500 No newline at end of file
497 if self.var_real == True: No newline at end of file
498 var_cmd = functions.cmd_iso(self) No newline at end of file
501 if self.var_real_iso == True:
499 else: No newline at end of file
502 var_cmd = functions.cmd_iso(self)
500 self.txtInfo.append('**function_iso') No newline at end of file
503 else:
501 var_cmd="echo 'function_iso'" No newline at end of file
504 self.txtInfo.append('**function_iso')
502 No newline at end of file
505 var_cmd="echo 'function_iso'"
503 self.process_iso.start(var_cmd) No newline at end of file
506
504 No newline at end of file
507 self.process_iso.start(var_cmd)
505 def function_burn(self): No newline at end of file
508
506 #Grabacion de los DVDs No newline at end of file
509 def function_burn(self):
507 if self.var_step == 1:
510 #Grabacion de los DVDs
No newline at end of file
511 No newline at end of file
508 self.txtInfo.append("------Recording disc: "+str(self.var_copy_n)+", copy:"+str(self.var_copy_n)) No newline at end of file
509 functions2.update_message(1, "BURNING", self) No newline at end of file
512 if self.var_step == 1:
510
513 self.txtInfo.append("------Recording disc: "+str(self.var_disc_n)+", copy:"+str(self.var_copy_n))
No newline at end of file
514 functions2.update_message(1, "BURNING", self) No newline at end of file
511 if self.var_real == True: No newline at end of file
512 var_cmd = functions.cmd_burn(self) No newline at end of file
515
516 if self.var_real_burn == True:
No newline at end of file
517 var_cmd = functions.cmd_burn(self)
No newline at end of file
518 #########################################
No newline at end of file
519 return###################################### No newline at end of file
513 else: No newline at end of file
520 ########################################
514 self.txtInfo.append('**function_burn') No newline at end of file
521
515 var_cmd="echo 'function_burn'" No newline at end of file
522 else:
516 No newline at end of file
523 self.txtInfo.append('**function_burn')
517 self.process_burn.start(var_cmd) No newline at end of file
524 var_cmd="echo 'function_burn'"
518 No newline at end of file
525
519 def function_check(self): No newline at end of file
526 self.process_burn.start(var_cmd)
520 #Verificacion de los discos No newline at end of file
527
521 if self.var_step == 2:
528 def function_check(self):
No newline at end of file
529 #Verificacion de los discos No newline at end of file
522 self.txtInfo.append("-----------checking disc:"+str(self.var_copy_n)+", copy:"+str(self.var_copy_n)) No newline at end of file
523 functions2.update_message(2, "CHECKING", self) No newline at end of file
530 if self.var_step == 2:
524
531 self.txtInfo.append("-----------checking disc:"+str(self.var_disc_n)+", copy:"+str(self.var_copy_n))
No newline at end of file
532 functions2.update_message(2, "CHECKING", self) No newline at end of file
525 if self.var_real == True: No newline at end of file
526 var_cmd = functions.cmd_check(self) No newline at end of file
533
527 else: No newline at end of file
534 if self.var_real_check == True:
528 self.txtInfo.append('**function_check') No newline at end of file
535 var_cmd = functions.cmd_check(self)
529 var_cmd="echo 'function_check'" No newline at end of file
536 else:
530 No newline at end of file
537 self.txtInfo.append('**function_check')
531 self.process_check.start(var_cmd) No newline at end of file
538 var_cmd="echo 'function_check'"
532 No newline at end of file
539
533 #OK No newline at end of file
540 self.process_check.start(var_cmd)
534 def function_eject(self): No newline at end of file
541
535 self.txtInfo.append("Ejecting recording devices") No newline at end of file
542 #OK
536 self.txtInfo.append("Please insert blank discs") No newline at end of file
543 def function_eject(self):
537
544 self.txtInfo.append("Ejecting recording devices")
No newline at end of file
545 self.txtInfo.append("Please insert blank discs") No newline at end of file
538 if self.var_real == True: No newline at end of file
539 functions2.eject_devices(self) # Expulsa las bandejas de los dispostivos de grabacion No newline at end of file
546
540 else: No newline at end of file
547 if self.var_real_eject == True:
541 self.txtInfo.append("**functions2.eject_devices") No newline at end of file
548 functions2.eject_devices(self) # Expulsa las bandejas de los dispostivos de grabacion
542 No newline at end of file
549 else:
543 self.btnStartburn.setText("Continue") No newline at end of file
550 self.txtInfo.append("**functions2.eject_devices")
544 self.btnStartburn.setEnabled(True) No newline at end of file
551
545 No newline at end of file
552 self.btnStartburn.setText("Continue")
546 if self.bool_first_iso == True: No newline at end of file
553 self.btnStartburn.setEnabled(True)
547 self.bool_first_iso = False No newline at end of file
554
548 self.var_step = 0 No newline at end of file
555 if self.bool_first_iso == True:
549 No newline at end of file
556 self.bool_first_iso = False
550 elif self.var_copy_n == 1: No newline at end of file
557 self.var_step = 0
551 self.var_step = 0 No newline at end of file
558
552 No newline at end of file
559 elif self.var_copy_n == 1:
553 else: No newline at end of file
560 self.var_step = 0
554 self.var_step = 1 No newline at end of file
561
555 No newline at end of file
562 else:
556 def function_final(self): No newline at end of file
563 self.var_step = 1
557 self.txtInfo.append("Recording process is complete") No newline at end of file
564
558 No newline at end of file
565 def function_final(self):
559 No newline at end of file
566 self.txtInfo.append("Recording process is complete")
560 No newline at end of file
567
561 #----------------------------------------------------- Detener proceso de grabacion --------------------------------------------------------------- No newline at end of file
568
562 No newline at end of file
569
563 @pyqtSignature("") No newline at end of file
570 #----------------------------------------------------- Detener proceso de grabacion ---------------------------------------------------------------
564 def on_btnStopburn_clicked(self): No newline at end of file
571
565 """ No newline at end of file
572 @pyqtSignature("")
566 Slot documentation goes here. No newline at end of file
573 def on_btnStopburn_clicked(self):
567 """ No newline at end of file
574 """
568 self.bool_state_burning = False No newline at end of file
575 Slot documentation goes here.
569 No newline at end of file
576 """
570 if self.var_step == 0: No newline at end of file
577 self.bool_state_burning = False
571 self.process_iso.terminate() #Termina el proceso, si puede No newline at end of file
578
572 # self.process_iso.kill() #Mata el proceso, no es la forma adecuada, solo usar si terminate() no funciona No newline at end of file
579 if self.var_step == 0:
573 elif self.var_step == 1: No newline at end of file
580 self.process_iso.terminate() #Termina el proceso, si puede
574 self.process_burn.terminate() No newline at end of file
581 # self.process_iso.kill() #Mata el proceso, no es la forma adecuada, solo usar si terminate() no funciona
575 elif self.var_step == 2: No newline at end of file
582 elif self.var_step == 1:
576 self.process_check.terminate() No newline at end of file
583 self.process_burn.terminate()
577 No newline at end of file
584 elif self.var_step == 2:
578 self.txtInfo.append("Stopped recording") No newline at end of file
585 self.process_check.terminate()
579 functions2.enabled_items2(False, self) No newline at end of file
586
580 self.bool_first_iso = True No newline at end of file
587 self.txtInfo.append("Stopped recording")
581 No newline at end of file
588 functions2.enabled_items2(False, self)
582 No newline at end of file
589 self.bool_first_iso = True
583 No newline at end of file
590
584 #============================================================================== No newline at end of file
591
585 # Proceso verificacion manual No newline at end of file
592
586 #============================================================================== No newline at end of file
593 #==============================================================================
587 No newline at end of file
594 # Proceso verificacion manual
588 No newline at end of file
595 #==============================================================================
589 #----------------------------------------------------- Proceso de verificaion manual --------------------------------------------------------------- No newline at end of file
596
590 No newline at end of file
597
591 No newline at end of file
598 #----------------------------------------------------- Proceso de verificaion manual ---------------------------------------------------------------
592 @pyqtSignature("") No newline at end of file
599
593 def on_btnTDpath_clicked(self): No newline at end of file
600
594 """ No newline at end of file
601 @pyqtSignature("")
595 Slot documentation goes here. No newline at end of file
602 def on_btnTDpath_clicked(self):
596 """ No newline at end of file
603 """
597 self.var_TDpath= str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly)) No newline at end of file
604 Slot documentation goes here.
598 self.txtTDpath.setText(self.var_TDpath) No newline at end of file
605 """
599 self.statusTDpath = functions.dir_exists(self.var_TDpath, self) No newline at end of file
606 self.var_TDpath= str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
600 No newline at end of file
607 self.txtTDpath.setText(self.var_TDpath)
601 No newline at end of file
608 self.statusTDpath = functions.dir_exists(self.var_TDpath, self)
602 @pyqtSignature("") No newline at end of file
609
603 def on_btnCHstart_clicked(self): No newline at end of file
610
604 """ No newline at end of file
611 @pyqtSignature("")
605 Slot documentation goes here. No newline at end of file
612 def on_btnCHstart_clicked(self):
606 """ No newline at end of file
613 """
607 pass No newline at end of file
614 Slot documentation goes here.
General Comments 0
You need to be logged in to leave comments. Login now