##// END OF EJS Templates
redefiniendo parte grabacion
ralonso -
r56:57
parent child
Show More
@@ -1,214 +1,206
1 1 # -*- coding: utf-8 -*- No newline at end of file
2 2 No newline at end of file
3 3 #class BKmanager: No newline at end of file
4 4 # def __init__(self): No newline at end of file
5 5 No newline at end of file
6 6 from subprocess import * No newline at end of file
7 7 import sys No newline at end of file
8 8 import os No newline at end of file
9 9 import subprocess No newline at end of file
10 10 import commands No newline at end of file
11 11 No newline at end of file
12 12 No newline at end of file
13 13 #Entero a cadena agregando ceros delante No newline at end of file
14 14 def i2s(var_n, var_length=4): No newline at end of file
15 15 var_n2=str(var_n) No newline at end of file
16 16 while len(var_n2) < var_length: No newline at end of file
17 17 var_n2 = "0"+var_n2 No newline at end of file
18 18 return var_n2 No newline at end of file
19 19 No newline at end of file
20 20 No newline at end of file
21 21 #Crea directorios en la ruta indicada No newline at end of file
22 22 def make_dirs(list_dirs, self): No newline at end of file
23 23 var_cmd="mkdir -p "+str(self.var_Rpath) No newline at end of file
24 24 for var_dir in list_dirs: No newline at end of file
25 25 var_output=commands.getstatusoutput(var_cmd+'/'+var_dir)[0] No newline at end of file
26 26 if var_output != 0: No newline at end of file
27 27 self.txtInfo.append("Error al crear el directorio "+var_dir+", output_error:" + str(var_output)) No newline at end of file
28 28 return False No newline at end of file
29 29 self.txtInfo.append('Carpetas creadas correctamente') No newline at end of file
30 30 return True No newline at end of file
31 31 No newline at end of file
32 32 No newline at end of file
33 33 #Se verifica que la ruta exista y sea un directorio No newline at end of file
34 34 def dir_exists(var_dir, self): No newline at end of file
35 35 if os.path.isdir(var_dir): No newline at end of file
36 36 self.txtInfo.append("Ruta valida, sin error:" + str(var_dir)) No newline at end of file
37 37 return True No newline at end of file
38 38 else: No newline at end of file
39 39 self.txtInfo.append("Ruta no valida, output_error:" + str(var_dir)) No newline at end of file
40 40 return False No newline at end of file
41 41 No newline at end of file
42 42 No newline at end of file
43 43 #Se buscan los archivos del tipo especificado No newline at end of file
44 44 def load_days(self): No newline at end of file
45 45 No newline at end of file
46 46 self.var_list=[] No newline at end of file
47 47 self.lstStartDay.clear() No newline at end of file
48 48 self.lstStopDay.clear() No newline at end of file
49 49 No newline at end of file
50 50 if self.statusDpath == False: No newline at end of file
51 51 self.btnGbkp.setEnabled(False) No newline at end of file
52 52 return No newline at end of file
53 53 No newline at end of file
54 54 if self.var_Dtype == '': No newline at end of file
55 55 return No newline at end of file
56 56 No newline at end of file
57 57 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
58 58 output=commands.getstatusoutput(var_cmd)[1] No newline at end of file
59 59 No newline at end of file
60 60 #Si no se encuentra ningun archivo No newline at end of file
61 61 if len(output) == 0: No newline at end of file
62 62 self.txtInfo.append("No se encontraron archivos") No newline at end of file
63 63 self.btnGbkp.setEnabled(False) No newline at end of file
64 64 return No newline at end of file
65 65 No newline at end of file
66 66 #Se cargan las listas para seleccionar StartDay y StopDay (QComboBox) No newline at end of file
67 67 for i in range(0, (len(output)+1)/8): No newline at end of file
68 68 self.var_list.append(output[8*i:8*(i+1)-1]) No newline at end of file
69 69 No newline at end of file
70 70 for i in self.var_list: No newline at end of file
71 71 self.lstStartDay.addItem(i) No newline at end of file
72 72 self.lstStopDay.addItem(i) No newline at end of file
73 73 self.lstStopDay.setCurrentIndex(self.lstStartDay.count()-1) No newline at end of file
74 74 No newline at end of file
75 75 get_sub_list(self) No newline at end of file
76 76 self.btnGbkp.setEnabled(True) No newline at end of file
77 77 No newline at end of file
78 78 No newline at end of file
79 79 #Verifica que los parametros No newline at end of file
80 80 def validate_parameters(self): No newline at end of file
81 81 #Verifica que las rutas sean validas No newline at end of file
82 82 if self.statusRpath == False: No newline at end of file
83 83 self.txtInfo.append("Ruta de proyecto no valida") No newline at end of file
84 84 return False No newline at end of file
85 85 No newline at end of file
86 86 #Verifica la etiqueta No newline at end of file
87 87 if len(self.var_Elabel) == 0: No newline at end of file
88 88 self.txtInfo.append("Debe ingresar el nombre de la etiqueta") No newline at end of file
89 89 return False No newline at end of file
90 90 No newline at end of file
91 91 return True No newline at end of file
92 92 No newline at end of file
93 93 No newline at end of file
94 94 #Obtiene el rango de las fechas seleccionadas No newline at end of file
95 95 def get_sub_list(self): No newline at end of file
96 96 self.var_sublist=[] No newline at end of file
97 97 for i in self.var_list[self.lstStartDay.currentIndex():self.lstStartDay.currentIndex() + self.lstStopDay.currentIndex()+1]: No newline at end of file
98 98 self.var_sublist.append(i) No newline at end of file
99 99 if len(self.var_sublist) == 0: No newline at end of file
100 100 self.txtInfo.append("No existen archivos encontrados") No newline at end of file
101 101 No newline at end of file
102 102 No newline at end of file
103 103 #Busca los archivos con los parametros de busqueda No newline at end of file
104 104 def list_files(self): No newline at end of file
105 105 var_files_list=[] No newline at end of file
106 106 for var_doy in self.var_sublist: No newline at end of file
107 107 var_cmd="find " + str(self.var_Dpath) + " -name ?"+var_doy+"???."+ str(self.var_Dtype) + " |sort" No newline at end of file
108 108 var_output=commands.getstatusoutput(var_cmd)[1] No newline at end of file
109 109 for var_file in var_output.split(): No newline at end of file
110 110 var_files_list.append(var_file) #Almacena cada archivo en la lista No newline at end of file
111 111 return var_files_list No newline at end of file
112 112 No newline at end of file
113 113 No newline at end of file
114 114 #Genera la lista de archivos .dat que contienen los archivos a grabar en cada DVD No newline at end of file
115 115 def make_files_dat(var_files_list, self): No newline at end of file
116 116 var_Rpath_ppath=self.var_Rpath+"/ppath" #Ruta de los archivos a grabar No newline at end of file
117 117 var_n=1 #Numero del DVD actual No newline at end of file
118 118 var_tmp=0 #Se usa para acumular el tamaΓ±o de los archivos de la lista No newline at end of file
119 119 var_files_list_2=[] #Se usa para almacenar la lista de archivos agrbar en cada DVD No newline at end of file
120 120 No newline at end of file
121 121 for i in var_files_list: #Se asignan en i los archivos de la lista No newline at end of file
122 122 self.txtInfo.append(i) No newline at end of file
123 123 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
124 124 var_tmp += var_size_i #Se acumulan el tamaΓ±o de los archivos de la lista No newline at end of file
125 125 No newline at end of file
126 126 #Si el tamaΓ±o acumulado es mayor que el de el DVD No newline at end of file
127 127 if var_tmp > (self.var_Dcapacity * 1024): No newline at end of file
128 128 var_tmp -= var_size_i #se quita el tamaΓ±o sumado para mostrar el tamaΓ±o real No newline at end of file
129 129 #se crea un archivo con numeral en el sufijo y extension .dat No newline at end of file
130 130 var_file = open(var_Rpath_ppath+"/"+self.var_Elabel+"_"+i2s(var_n)+".dat","w") No newline at end of file
131 131 #Se aΓ±ade la lista de archivos a grabar en el DVD al archivo .dat No newline at end of file
132 132 for line in var_files_list_2:
133 No newline at end of file
133 var_tmp_path=(line.split(self.var_Dpath)[1]).split('/')
No newline at end of file
134 No newline at end of file
134 var_tmp_path2="/"
No newline at end of file
135 for l in range(0, len(var_tmp_path)-1):
No newline at end of file
136 var_tmp_path2=var_tmp_path2+str(var_tmp_path[l])+"/"
No newline at end of file
137 var_file.write(var_tmp_path2+'=')
No newline at end of file
138 var_file.write(line+'\n') No newline at end of file
139 135 var_file.close() No newline at end of file
140 136 No newline at end of file
141 137 var_tmp = var_size_i #Se asigna a la variable el tamaΓ±o del archivo actual No newline at end of file
142 138 var_files_list_2=[] #Se reinicia la lista No newline at end of file
143 139 var_n += 1 No newline at end of file
144 140 var_files_list_2.append(i) No newline at end of file
145 141 No newline at end of file
146 142 #se crea un archivo con numeral en el sufijo y extension .dat No newline at end of file
147 143 var_file = open(var_Rpath_ppath+"/"+self.var_Elabel+"_"+i2s(var_n)+".dat","w") No newline at end of file
148 144 #Se aΓ±ade la lista de archivos a grabar en el DVD al archivo .dat No newline at end of file
149 145 for line in var_files_list_2:
146 No newline at end of file
150 var_tmp_path=(line.split(self.var_Dpath)[1]).split('/')
No newline at end of file
147 No newline at end of file
151 var_tmp_path2="/"
No newline at end of file
152 for l in range(0, len(var_tmp_path)-1):
No newline at end of file
153 var_tmp_path2=var_tmp_path2+str(var_tmp_path[l])+"/"
No newline at end of file
154 var_file.write(var_tmp_path2+'=')
No newline at end of file
155 var_file.write(line+'\n') No newline at end of file
156 148 var_file.close() No newline at end of file
157 149 No newline at end of file
158 150 return var_n No newline at end of file
159 151 No newline at end of file
160 152 No newline at end of file
161 153 #Genera los archivos .print con los cuales se creara los postscript No newline at end of file
162 154 def make_files_print(self): No newline at end of file
163 155 No newline at end of file
164 156 var_Rpath_ppath=self.var_Rpath+"/ppath" #Ruta de los archivos a grabar No newline at end of file
165 157 No newline at end of file
166 158 # Se leen todos los archivos .dat creados para crear las etiquetas en los archivos .print No newline at end of file
167 159 for var_n in range(1, self.var_n_discs + 1): No newline at end of file
168 160 #se abren los archivos .dat en modo lectura No newline at end of file
169 161 var_file = open(var_Rpath_ppath+"/"+self.var_Elabel+"_"+i2s(var_n)+".dat","r") No newline at end of file
170 162 lines=var_file.readlines() # Se lee las lineas en el archivo y se almacenan en la lista No newline at end of file
171 163 # Se crea el archivo .print No newline at end of file
172 164 var_file_print = open(var_Rpath_ppath+"/"+self.var_Elabel+"_"+i2s(var_n)+".print","w") No newline at end of file
173 165 var_file_print.write(self.var_Elabel+" "+i2s(var_n)+"/"+i2s(self.var_n_discs)+"\n") No newline at end of file
174 166 var_file_print.write("Year Doy Folder Set Time range\n") No newline at end of file
175 167 No newline at end of file
176 168 var_first_folder = lines[0].split('=')[0] No newline at end of file
177 169 var_first_file = (lines[0].split('=')[1])[:-1] No newline at end of file
178 170 var_date_first_file=commands.getstatusoutput("date -r "+var_first_file+" +'%T'")[1] No newline at end of file
179 171 No newline at end of file
180 172 for j in range(1, len(lines)-1): No newline at end of file
181 173 var_tmp_folder = lines[j].split('=')[0] No newline at end of file
182 174 var_tmp_file = (lines[j].split('=')[1])[:-1] No newline at end of file
183 175 No newline at end of file
184 176 # Si el subfolder superior o la fecha del archivo cambia se genera una nueva linea No newline at end of file
185 177 if (var_tmp_folder != var_first_folder) or (var_tmp_file[0:-5] != var_first_file[0:-5]): No newline at end of file
186 178 var_last_file = (lines[j-1].split('=')[1])[:-1] No newline at end of file
187 179 var_date_last_file=commands.getstatusoutput("date -r "+var_last_file+" +'%T'")[1] No newline at end of file
188 180 # Si el archivo se grabara directamente en la / del DVD y no en un /directorio/ No newline at end of file
189 181 # se usa la etiqueta para indicar la parte de la etiqueta donde va el subdirectorio No newline at end of file
190 182 if var_first_folder == '/': No newline at end of file
191 183 var_folder = self.var_Elabel No newline at end of file
192 184 else:
185 No newline at end of file
193 var_folder = var_first_folder.split('/')[1] No newline at end of file
194 186 No newline at end of file
195 187 var_file_print.write(var_first_file[-12:-8]+" "+var_first_file[-8:-5]+" "+var_folder +" "+var_first_file[-5:-2]+" " No newline at end of file
196 188 +var_last_file[-5:-2]+" "+var_date_first_file+" "+var_date_last_file+"\n") No newline at end of file
197 189 No newline at end of file
198 190 var_first_folder = lines[j].split('=')[0] No newline at end of file
199 191 var_first_file = (lines[j].split('=')[1])[:-1] No newline at end of file
200 192 var_date_first_file=commands.getstatusoutput("date -r "+var_first_file+" +'%T'")[1] No newline at end of file
201 193 No newline at end of file
202 194 var_last_file = (lines[-1].split('=')[1])[:-1] No newline at end of file
203 195 var_date_last_file=commands.getstatusoutput("date -r "+var_last_file+" +'%T'")[1] No newline at end of file
204 196 No newline at end of file
205 197 if var_first_folder == '/': No newline at end of file
206 198 var_folder = self.txtElabel.text() No newline at end of file
207 199 else:
200 No newline at end of file
208 var_folder = var_first_folder.split('/')[1] No newline at end of file
209 201 No newline at end of file
210 202 var_file_print.write(var_first_file[-12:-8]+" "+var_first_file[-8:-5]+" "+var_folder +" "+var_first_file[-5:-2]+" " No newline at end of file
211 203 +var_last_file[-5:-2]+" "+var_date_first_file+" "+var_date_last_file+"\n") No newline at end of file
212 204 No newline at end of file
213 205 var_file.close() No newline at end of file
214 206 var_file_print.close() No newline at end of file
@@ -1,111 +1,115
1 1 # -*- coding: utf-8 -*- No newline at end of file
2 2 No newline at end of file
3 3 No newline at end of file
4 4 from subprocess import * No newline at end of file
5 5 import sys No newline at end of file
6 6 import os No newline at end of file
7 7 import subprocess No newline at end of file
8 8 import commands
No newline at end of file
9
No newline at end of file
10
No newline at end of file
11 def set_parameters(self):
No newline at end of file
12 """
No newline at end of file
13 Se usa para inicializar ciertos parametros para pruebas
No newline at end of file
14 """
No newline at end of file
15 self.txtDpath.setText('/home/ricardoar/optional/STORAGE/EW_DRIFTS')
No newline at end of file
16 self.txtRpath.setText('/home/ricardoar/optional/prueba1_jro_backup_manager')
No newline at end of file
17 self.txtElabel.setText('EW_DRIFTS_pruebas')
No newline at end of file
18 self.lstDcapacity.setCurrentIndex(4)
No newline at end of file
19 self.txtDcapacity.setValue(250.0)
No newline at end of file
20 self.txtDcapacity.setReadOnly(False) No newline at end of file
21 9 No newline at end of file
22 10 No newline at end of file
23 11 def detect_devices(self): No newline at end of file
24 12 """ No newline at end of file
25 13 Deteccion de los dispositvos de grabacion No newline at end of file
26 14 """ No newline at end of file
27 15 #var_cmd="wodim --devices | grep /dev/ | awk -F\' '{print $2}'" #Funciona en consola pero no en python ΒΏ? No newline at end of file
28 16 var_cmd="wodim --devices | grep /dev/ | awk '{print $2}' | awk -F= '{print $2}'" No newline at end of file
29 17 var_output = commands.getstatusoutput(var_cmd) No newline at end of file
30 18 if var_output[0] != 0: No newline at end of file
31 19 self.txtInfo.append("No se pudo encontrar los dispositivos de grabacion, output_error:" + str(var_output)) No newline at end of file
32 20 else: No newline at end of file
33 21 self.txtInfo.append("dispositivos encontrados") No newline at end of file
34 22 var_devices = var_output[1].split('\n') No newline at end of file
35 23 No newline at end of file
36 24 var_tmp=[] No newline at end of file
37 25 for i in range(0, 4): No newline at end of file
38 26 if i < len(var_devices): No newline at end of file
39 27 var_len = len(var_devices[i]) No newline at end of file
40 28 var_tmp.append(var_devices[i][1:var_len - 1]) No newline at end of file
41 29 else: No newline at end of file
42 30 var_tmp.append('') No newline at end of file
43 31 No newline at end of file
44 32 #Se escriben los dispostivos correspodientes, si existen No newline at end of file
45 33 self.txtDeviceA.setText(str(var_tmp[0])) No newline at end of file
46 34 self.txtDeviceB.setText(str(var_tmp[1])) No newline at end of file
47 35 self.txtDeviceC.setText(str(var_tmp[2])) No newline at end of file
48 36 self.txtDeviceD.setText(str(var_tmp[3])) No newline at end of file
49 37 #Se desactivan los que no existen No newline at end of file
50 38 if len(var_tmp[0]) == 0 : No newline at end of file
51 39 self.chkDevA.setChecked(False) No newline at end of file
52 40 self.chkDevA.setEnabled(False) No newline at end of file
53 41 if len(var_tmp[1]) == 0 : No newline at end of file
54 42 self.chkDevB.setChecked(False) No newline at end of file
55 43 self.chkDevB.setEnabled(False) No newline at end of file
56 44 if len(var_tmp[2]) == 0 : No newline at end of file
57 45 self.chkDevC.setChecked(False) No newline at end of file
58 46 self.chkDevC.setEnabled(False) No newline at end of file
59 47 if len(var_tmp[3]) == 0 : No newline at end of file
60 48 self.chkDevD.setChecked(False) No newline at end of file
61 49 self.chkDevD.setEnabled(False) No newline at end of file
62 50 No newline at end of file
51 def set_parameters_test(self):
No newline at end of file
52 """
No newline at end of file
53 Se usa para inicializar ciertos parametros para pruebas
No newline at end of file
54 """
No newline at end of file
55 self.txtDpath.setText('/home/ricardoar/optional/STORAGE/EW_DRIFTS')
No newline at end of file
56 self.txtRpath.setText('/home/ricardoar/optional/prueba1_jro_backup_manager')
No newline at end of file
57 self.txtElabel.setText('EW_DRIFTS_pruebas')
No newline at end of file
58 self.lstDcapacity.setCurrentIndex(4)
No newline at end of file
59 self.txtDcapacity.setValue(250.0)
No newline at end of file
60 self.txtDcapacity.setReadOnly(False)
No newline at end of file
61
No newline at end of file
62
No newline at end of file
63 def make_parameters_conf(self):
No newline at end of file
64 var_file = open("parameters.conf","w")
No newline at end of file
65 var_file.write(self.var_Dpath+"\n") #0
No newline at end of file
66 var_file.write(self.var_Rpath+"\n") #1
No newline at end of file
67 var_file.write(str(self.var_lstDtype)+"\n") #2
No newline at end of file
68 var_file.write(self.var_Dtype+"\n") #3
No newline at end of file
69 var_file.write(self.var_Elabel+"\n") #4
No newline at end of file
70 var_file.write(str(self.var_Copys)+"\n") #5
No newline at end of file
71 var_file.write(str(self.var_lstDcapacity)+"\n") #6
No newline at end of file
72 var_file.write(str(self.var_Dcapacity)+"\n") #7
No newline at end of file
73 var_file.write(str(self.var_n_discs)) #8
No newline at end of file
74 var_file.close()
No newline at end of file
75
No newline at end of file
76
No newline at end of file
77 def get_parameters_conf(self):
No newline at end of file
78 var_file = open("parameters.conf","r")
No newline at end of file
79 lines = var_file.readlines()
No newline at end of file
80 self.txtDpath.setText(lines[0][:-1]) #0
No newline at end of file
81 self.txtRpath.setText(lines[1][:-1]) #1
No newline at end of file
82 self.lstDtype.setCurrentIndex(int(lines[2])) #2
No newline at end of file
83 self.txtDtype.setText(lines[3][:-1]) #3
No newline at end of file
84 self.txtElabel.setText(lines[4][:-1]) #4
No newline at end of file
85 self.txtCopys.setValue(int(lines[5][:-1])) #5
No newline at end of file
86 self.lstDcapacity.setCurrentIndex(int(lines[6])) #6
No newline at end of file
87 self.txtDcapacity.setValue(float(lines[7])) #7
No newline at end of file
88 self.var_n_discs = int(lines[8]) # 8
No newline at end of file
89 var_file.close()
No newline at end of file
90
No newline at end of file
91
No newline at end of file
92 def set_vars(self):
No newline at end of file
93 self.var_Dpath = self.txtDpath.text() #0
No newline at end of file
94 self.var_Rpath = self.txtRpath.text() #1
No newline at end of file
95 self.var_lstDtype = self.lstDtype.currentIndex() #2
No newline at end of file
96 self.var_Dtype = self.txtDtype.text() #3
No newline at end of file
97 self.var_Elabel = self.txtElabel.text() #4
No newline at end of file
98 self.var_Copys = self.txtCopys.value() #5
No newline at end of file
99 self.var_lstDcapacity = self.lstDcapacity.currentIndex() #6
No newline at end of file
100 self.var_Dcapacity = self.txtDcapacity.value() #7
No newline at end of file
101
No newline at end of file
102 No newline at end of file
63 103 def enabled_items1(var_bool, self): No newline at end of file
64 104 self.tabParameters.setEnabled(not(var_bool)) No newline at end of file
65 105 self.lstDcapacity.setEnabled(not(var_bool)) No newline at end of file
66 106 self.txtDcapacity.setEnabled(not(var_bool)) No newline at end of file
67 107 self.btnGbkp.setEnabled(not(var_bool)) No newline at end of file
68 108 self.btnRestart.setEnabled(var_bool) No newline at end of file
69 109 self.btnStartburn.setEnabled(var_bool) No newline at end of file
70 110 No newline at end of file
71 111
112 No newline at end of file
72 def make_parameters_conf(self):
No newline at end of file
113 No newline at end of file
73 var_file = open("parameters.conf","w")
No newline at end of file
114 No newline at end of file
74
No newline at end of file
115 No newline at end of file
75 var_file.write(self.var_Dpath+"\n") #0
No newline at end of file
76 var_file.write(self.var_Rpath+"\n") #1
No newline at end of file
77 var_file.write(str(self.var_lstDtype)+"\n") #2
No newline at end of file
78 var_file.write(self.var_Dtype+"\n") #3
No newline at end of file
79 var_file.write(self.var_Elabel+"\n") #4
No newline at end of file
80 var_file.write(str(self.var_Copys)+"\n") #5
No newline at end of file
81 var_file.write(str(self.var_lstDcapacity)+"\n") #6
No newline at end of file
82 var_file.write(str(self.var_Dcapacity)+"\n") #7
No newline at end of file
83
No newline at end of file
84 var_file.close()
No newline at end of file
85
No newline at end of file
86
No newline at end of file
87 def get_parameters_conf(self):
No newline at end of file
88 var_file = open("parameters.conf","r")
No newline at end of file
89 lines = var_file.readlines()
No newline at end of file
90
No newline at end of file
91 self.txtDpath.setText(lines[0][:-1]) #0
No newline at end of file
92 self.txtRpath.setText(lines[1][:-1]) #1
No newline at end of file
93 self.lstDtype.setCurrentIndex(int(lines[2])) #2
No newline at end of file
94 self.txtDtype.setText(lines[3][:-1]) #3
No newline at end of file
95 self.txtElabel.setText(lines[4][:-1]) #4
No newline at end of file
96 self.txtCopys.setValue(int(lines[5][:-1])) #5
No newline at end of file
97 self.lstDcapacity.setCurrentIndex(int(lines[6])) #6
No newline at end of file
98 self.txtDcapacity.setValue(float(lines[7]))
No newline at end of file
99
No newline at end of file
100 var_file.close()
No newline at end of file
101
No newline at end of file
102 def set_vars(self):
No newline at end of file
103 self.var_Dpath = self.txtDpath.text()
No newline at end of file
104 self.var_Rpath = self.txtRpath.text()
No newline at end of file
105 self.var_lstDtype = self.lstDtype.currentIndex()
No newline at end of file
106 self.var_Dtype = self.txtDtype.text()
No newline at end of file
107 self.var_Elabel = self.txtElabel.text()
No newline at end of file
108 self.var_Copys = self.txtCopys.value()
No newline at end of file
109 self.var_lstDcapacity = self.lstDcapacity.currentIndex()
No newline at end of file
110 self.var_Dcapacity = self.txtDcapacity.value()
No newline at end of file
111 No newline at end of file
@@ -1,354 +1,344
1 1 # -*- coding: utf-8 -*- No newline at end of file
2 2 No newline at end of file
3 3 """ No newline at end of file
4 4 Module implementing MainWindow. No newline at end of file
5 5 """ No newline at end of file
6 6 No newline at end of file
7 7 from PyQt4.QtGui import QMainWindow No newline at end of file
8 8 from PyQt4.QtCore import pyqtSignature No newline at end of file
9 9 from PyQt4 import QtCore No newline at end of file
10 10 from Ui_MainWindow import Ui_MainWindow No newline at end of file
11 11 from PyQt4 import QtGui No newline at end of file
12 12 from subprocess import * No newline at end of file
13 13 import sys No newline at end of file
14 14 import os
15 No newline at end of file
15 import subprocess No newline at end of file
16 16 import commands No newline at end of file
17 17 from functions import functions No newline at end of file
18 18 from functions import functions2 No newline at end of file
19 19 No newline at end of file
20 20 class MainWindow(QMainWindow, Ui_MainWindow): No newline at end of file
21 21 """ No newline at end of file
22 22 Class documentation goes here. No newline at end of file
23 23 """ No newline at end of file
24 24 No newline at end of file
25 25 def __init__(self, parent = None): No newline at end of file
26 26 QMainWindow.__init__(self, parent) No newline at end of file
27 27 self.setupUi(self) No newline at end of file
28 28 self.setupUi2() No newline at end of file
29 29 #sys.stdout = self #redirige salida estandar No newline at end of file
30 30 No newline at end of file
31 31 def setupUi2(self): No newline at end of file
32 32 No newline at end of file
33 33 functions2.detect_devices(self) #busca los dispositivos de grabacion No newline at end of file
34 34 No newline at end of file
35 self.var_n_discs=0
No newline at end of file
36 self.var_list=[]
No newline at end of file
37 self.var_sublist=[]
No newline at end of file
38 No newline at end of file
35 39 #Revisa si existe el archivo de confirguracion No newline at end of file
36 40 if os.path.isfile("parameters.conf"): No newline at end of file
37 41 self.txtInfo.append("Archivo de configuracion encontrado") No newline at end of file
38 42 functions2.get_parameters_conf(self) No newline at end of file
43 self.txtInfo.append("El proyecto creara "+str(self.var_n_discs)+" DVDs") No newline at end of file
39 44 else: No newline at end of file
40 45 self.txtInfo.append("Elija los parametros de configuracion")
46 No newline at end of file
41 functions2.set_parameters(self) #Establece ciertos parametros, para pruebas No newline at end of file
42 47 No newline at end of file
43 48 functions2.set_vars(self) #Carga las variables de la clase con los parametros seleccionados No newline at end of file
44 49 No newline at end of file
45 50 self.statusDpath = functions.dir_exists(self.var_Dpath, self) No newline at end of file
46 51 self.statusRpath = functions.dir_exists(self.var_Rpath, self)
No newline at end of file
47
No newline at end of file
48 self.var_n_discs=0
No newline at end of file
49 self.var_list=[]
No newline at end of file
50 self.var_sublist=[]
No newline at end of file
51 No newline at end of file
52 52 functions.load_days(self) No newline at end of file
53 53 No newline at end of file
54 54 self.var_process = QtCore.QProcess() No newline at end of file
55 55 self.connect(self.var_process, QtCore.SIGNAL('readyReadStandardOutput()'), self.readOuput) No newline at end of file
56 56 self.connect(self.var_process, QtCore.SIGNAL('readyReadStandardError()'), self.readError) No newline at end of file
57 57 self.connect(self.var_process, QtCore.SIGNAL('finished(int,QProcess::ExitStatus)'), self.finished) No newline at end of file
58 58 No newline at end of file
59
No newline at end of file
60 def write(self, txt):
No newline at end of file
61 self.txtInfo.append(str(txt))
No newline at end of file
62
No newline at end of file
63
No newline at end of file
64 #----------------------------------------------------- Funciones del proceso ---------------------------------------------------------------
No newline at end of file
65 No newline at end of file
59 66 def readOuput(self): No newline at end of file
60 67 self.txtSburn.insertPlainText("stdout: " + QtCore.QString(self.var_process.readAllStandardOutput())) No newline at end of file
61 68 No newline at end of file
62 69 No newline at end of file
63 70 def readError(self): No newline at end of file
64 71 self.txtSburn.insertPlainText("stderr: " + QtCore.QString(self.var_process.readAllStandardError())) No newline at end of file
65 72 No newline at end of file
66 73 No newline at end of file
67 74 def finished(self):
75 No newline at end of file
68 self.txtInfo.append("proceso terminado finished()")
No newline at end of file
76 No newline at end of file
69 print self.var_process.exitCode()
No newline at end of file
70
No newline at end of file
71
No newline at end of file
72 def write(self, txt):
No newline at end of file
73 self.txtInfo.append(str(txt)) No newline at end of file
74 77 No newline at end of file
75 78 #----------------------------------------------------- Obtencion de las ruta de los datos --------------------------------------------------------------- No newline at end of file
76 79 No newline at end of file
77 80 @pyqtSignature("") No newline at end of file
78 81 def on_btnDpath_clicked(self): No newline at end of file
79 82 """ No newline at end of file
80 83 Permite seleccionar graficamente el direcorio de los datos a grabar No newline at end of file
81 84 """ No newline at end of file
82 85 self.var_Dpath= QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly) No newline at end of file
83 86 self.txtDpath.setText(self.var_Dpath) No newline at end of file
84 87 self.statusDpath = functions.dir_exists(self.var_Dpath, self) No newline at end of file
85 88 functions.load_days(self) No newline at end of file
86 89 No newline at end of file
87 90 No newline at end of file
88 91 @pyqtSignature("") No newline at end of file
89 92 def on_txtDpath_editingFinished(self): No newline at end of file
90 93 """ No newline at end of file
91 94 Carga la ruta editada y verifica que sea correcta y carga la lista de dias No newline at end of file
92 95 """ No newline at end of file
93 96 self.var_Dpath=self.txtDpath.text() #Se carga la variable con la ruta recien editada No newline at end of file
94 97 self.statusDpath = functions.dir_exists(self.var_Dpath, self) No newline at end of file
95 98 functions.load_days(self) No newline at end of file
96 99 No newline at end of file
97 100 No newline at end of file
98 101 #----------------------------------------------------- Obtencion de las ruta del proyecto --------------------------------------------------------------- No newline at end of file
99 102 No newline at end of file
100 103 @pyqtSignature("") No newline at end of file
101 104 def on_btnRpath_clicked(self): No newline at end of file
102 105 """ No newline at end of file
103 106 Permite seleccionar graficamente el direcorio del proyecto No newline at end of file
104 107 """ No newline at end of file
105 108 self.var_Rpath = QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly) No newline at end of file
106 109 self.txtRpath.setText(self.var_Rpath) No newline at end of file
107 110 self.statusRpath = functions.dir_exists(self.var_Rpath, self) No newline at end of file
108 111 No newline at end of file
109 112 No newline at end of file
110 113 @pyqtSignature("") No newline at end of file
111 114 def on_txtRpath_editingFinished(self): No newline at end of file
112 115 """ No newline at end of file
113 116 Valida la ruta del proyecto No newline at end of file
114 117 """ No newline at end of file
115 118 self.var_Rpath=self.txtRpath.text() #Se carga la variable con la ruta recien editada No newline at end of file
116 119 self.statusRpath = functions.dir_exists(self.var_Rpath, self) No newline at end of file
117 120 No newline at end of file
118 121 No newline at end of file
119 122 #----------------------------------------------------- Tipo de datos --------------------------------------------------------------- No newline at end of file
120 123 No newline at end of file
121 124 @pyqtSignature("int") No newline at end of file
122 125 def on_lstDtype_activated(self, index): No newline at end of file
123 126 """ No newline at end of file
124 127 Permite elegir entre los tipos de archivos No newline at end of file
125 128 """ No newline at end of file
126 129 self.txtDtype.setReadOnly(True) No newline at end of file
127 130 if index == 0: No newline at end of file
128 131 self.var_Dtype ='r' No newline at end of file
129 132 elif index == 1: No newline at end of file
130 133 self.var_Dtype ='pdata' No newline at end of file
131 134 elif index == 2: No newline at end of file
132 135 self.var_Dtype ='sswma' No newline at end of file
133 136 else : No newline at end of file
134 137 self.var_Dtype ='' No newline at end of file
135 138 self.txtDtype.setReadOnly(False) No newline at end of file
136 139 No newline at end of file
137 140 self.txtDtype.setText(self.var_Dtype) No newline at end of file
138 141 functions.load_days(self) #llamada a funcion No newline at end of file
139 142 No newline at end of file
140 143 @pyqtSignature("") No newline at end of file
141 144 def on_txtDtype_editingFinished(self): No newline at end of file
142 145 self.var_Dtype=self.txtDtype.text() No newline at end of file
143 146 functions.load_days(self) #llamada a funcion No newline at end of file
144 147 No newline at end of file
145 148 No newline at end of file
146 149 #----------------------------------------------------- Etiqueta --------------------------------------------------------------- No newline at end of file
147 150 No newline at end of file
148 151 @pyqtSignature("") No newline at end of file
149 152 def on_txtElabel_editingFinished(self): No newline at end of file
150 153 self.var_Elabel = self.txtElabel.text() No newline at end of file
151 154 No newline at end of file
152 155 #----------------------------------------------------- Numero de copias --------------------------------------------------------------- No newline at end of file
153 156 @pyqtSignature("") No newline at end of file
154 157 def on_txtCopys_editingFinished(self): No newline at end of file
155 158 self.var_Copys = self.txtCopys.value() No newline at end of file
156 159 No newline at end of file
157 160 #----------------------------------------------------- Seleccion del rango de fechas --------------------------------------------------------------- No newline at end of file
158 161 No newline at end of file
159 162 @pyqtSignature("int") #CLOSED No newline at end of file
160 163 def on_lstStartDay_activated(self, index): No newline at end of file
161 164 """ No newline at end of file
162 165 Cambia la lista de opciones en lstStopDay No newline at end of file
163 166 """ No newline at end of file
164 167 var_StopDay_index=self.lstStopDay.count() - self.lstStopDay.currentIndex() No newline at end of file
165 168 self.lstStopDay.clear() No newline at end of file
166 169 No newline at end of file
167 170 for i in self.var_list[index:]: No newline at end of file
168 171 self.lstStopDay.addItem(i) No newline at end of file
169 172 No newline at end of file
170 173 self.lstStopDay.setCurrentIndex(self.lstStopDay.count() - var_StopDay_index) No newline at end of file
171 174 No newline at end of file
172 175 functions.get_sub_list(self) No newline at end of file
173 176 No newline at end of file
174 177 No newline at end of file
175 178 @pyqtSignature("int") #CLOSED No newline at end of file
176 179 def on_lstStopDay_activated(self, index): No newline at end of file
177 180 """ No newline at end of file
178 181 Cambia la lista de opciones en lstStartDay No newline at end of file
179 182 """ No newline at end of file
180 183 var_StartDay_index=self.lstStartDay.currentIndex() No newline at end of file
181 184 var_end_index = self.lstStopDay.count() - index No newline at end of file
182 185 self.lstStartDay.clear() No newline at end of file
183 186 No newline at end of file
184 187 for i in self.var_list[:len(self.var_list) - var_end_index + 1]: No newline at end of file
185 188 self.lstStartDay.addItem(i) No newline at end of file
186 189 No newline at end of file
187 190 self.lstStartDay.setCurrentIndex(var_StartDay_index) No newline at end of file
188 191 No newline at end of file
189 192 functions.get_sub_list(self) No newline at end of file
190 193 No newline at end of file
191 194 No newline at end of file
192 195 #----------------------------------------------------- Capacidad del dispositivo de grabacion --------------------------------------------------------------- No newline at end of file
193 196 No newline at end of file
194 197 @pyqtSignature("") No newline at end of file
195 198 def on_txtDcapacity_editingFinished(self): No newline at end of file
196 199 self.var_Dcapacity = self.txtDcapacity.value() No newline at end of file
197 200 No newline at end of file
198 201 No newline at end of file
199 202 @pyqtSignature("int") #CLOSED No newline at end of file
200 203 def on_lstDcapacity_activated(self, index): No newline at end of file
201 204 """ No newline at end of file
202 205 Permite elegir el tamaΓ±o del disco No newline at end of file
203 206 """ No newline at end of file
204 207 if index == 0: No newline at end of file
205 208 var_size=25.0 No newline at end of file
206 209 elif index == 1: No newline at end of file
207 210 var_size=8.5 No newline at end of file
208 211 elif index == 2: No newline at end of file
209 212 var_size=4.7 No newline at end of file
210 213 elif index == 3: No newline at end of file
211 214 var_size=0.7 No newline at end of file
212 215 No newline at end of file
213 216 if index != 4: No newline at end of file
214 217 self.txtDcapacity.setValue(var_size*10**9/1024**2) No newline at end of file
215 218 self.txtDcapacity.setReadOnly(True) No newline at end of file
216 219 else: No newline at end of file
217 220 self.txtDcapacity.setValue(100.0) No newline at end of file
218 221 self.txtDcapacity.setReadOnly(False) No newline at end of file
219 222 No newline at end of file
220 223 self.var_Dcapacity = self.txtDcapacity.value() No newline at end of file
221 224 No newline at end of file
222 225 No newline at end of file
223 226 #============================================================================== No newline at end of file
224 227 # Botones para la generacion de los archivos de configuracion y el proceso de grabacion No newline at end of file
225 228 #============================================================================== No newline at end of file
226 229 No newline at end of file
227 230 #----------------------------------------------------- Generacion de la configuracion usando los parametros --------------------------------------------------------------- No newline at end of file
228 231 No newline at end of file
229 232 @pyqtSignature("") No newline at end of file
230 233 def on_btnGbkp_clicked(self): No newline at end of file
231 234 """ No newline at end of file
232 235 Generacion de archivos de configuracion usando los parametros No newline at end of file
233 236 """ No newline at end of file
234 237 No newline at end of file
235 238 if functions.validate_parameters(self) == False: No newline at end of file
236 239 return No newline at end of file
237 240 No newline at end of file
238 241 #Crea las carpetas en la ruta del proyecto y verifica que se crearon correctamente No newline at end of file
239 242 list_dirs=['gpath','iso','ppath'] No newline at end of file
240 243 bool_make_dirs = functions.make_dirs(list_dirs, self) No newline at end of file
241 244 if bool_make_dirs == False: No newline at end of file
242 245 return No newline at end of file
243 246 No newline at end of file
244 247 var_files_list = functions.list_files(self) #Se obtiene la lista de archivos a grabar No newline at end of file
245 248 self.var_n_discs = functions.make_files_dat(var_files_list, self) #Se crean los archivos .dat No newline at end of file
246 249 functions.make_files_print(self) # Se crean los archivos .print No newline at end of file
247 250 functions2.make_parameters_conf(self) # se crea el archivo parameters.conf No newline at end of file
248 251 No newline at end of file
249 252 #Se bloquean los parametros de configuracion No newline at end of file
250 253 functions2.enabled_items1(True, self) No newline at end of file
251 254 No newline at end of file
252 255 No newline at end of file
253 256 #----------------------------------------------------- Permite reiniciar la configuracion --------------------------------------------------------------- No newline at end of file
254 257 No newline at end of file
255 258 @pyqtSignature("") No newline at end of file
256 259 def on_btnRestart_clicked(self): No newline at end of file
257 260 """ No newline at end of file
258 261 Permite que se puedan cambiar los parametros No newline at end of file
259 262 """ No newline at end of file
260 263 functions2.enabled_items1(False, self) No newline at end of file
261 264 os.remove("parameters.conf") No newline at end of file
262 265 No newline at end of file
263 266 No newline at end of file
264 267 #----------------------------------------------------- Iniciar proceso de grabacion --------------------------------------------------------------- No newline at end of file
265 268 No newline at end of file
266 269 @pyqtSignature("") No newline at end of file
267 270 def on_btnStartburn_clicked(self): No newline at end of file
268 271 """ No newline at end of file
269 272 Se inicia el proceso de grabacion No newline at end of file
270 273 """
274 No newline at end of file
271 self.btnRestart.setEnabled(False)
No newline at end of file
272 self.btnStartburn.setEnabled(False)
No newline at end of file
273 self.btnStopburn.setEnabled(True) No newline at end of file
274 275 No newline at end of file
275 276 sys.stdout = self No newline at end of file
276 277 #sys.stderr = self No newline at end of file
277 278 print "stdout_!!!" No newline at end of file
278 279 No newline at end of file
279 280 #Inicializando variables No newline at end of file
280 281 var_Rpath_ppath=self.var_Rpath+"/ppath" No newline at end of file
281 282 var_Rpath_iso=self.var_Rpath+"/iso" No newline at end of file
282 283 No newline at end of file
283 284 var_n=1 No newline at end of file
284 285 file_iso=var_Rpath_iso+"/"+functions.i2s(var_n)+".iso" No newline at end of file
285 286 file_dat=var_Rpath_ppath+"/"+self.var_Elabel+"_"+functions.i2s(var_n)+".dat" No newline at end of file
286 287 No newline at end of file
287 288 var_cmd = 'genisoimage -hide-joliet-trans-tbl -joliet-long -r ' No newline at end of file
288 289 var_cmd += ' -A '+self.var_Elabel+' -V '+self.var_Elabel No newline at end of file
289 290 var_cmd += ' -graft-points -path-list '+ file_dat+' -o '+file_iso No newline at end of file
290 291
No newline at end of file
291 # self.process.start(var_cmd) No newline at end of file
292 292 self.var_process.start(var_cmd)
No newline at end of file
293 # self.var_process.waitForFinished() No newline at end of file
294 293 self.txtInfo.append("ejecutandose") No newline at end of file
295 294 No newline at end of file
296 295 No newline at end of file
297 296 # # Se leen todos los archivos .dat creados para crear las etiquetas en los archivos .ps No newline at end of file
298 297 # for var_n in range(1, self.var_n_discs+1): No newline at end of file
299 298 # self.txtInfo.append(str(var_n)) No newline at end of file
300 299 # file_iso=var_Rpath_iso+"/"+functions.i2s(var_n)+".iso" No newline at end of file
301 300 # file_dat=var_Rpath_ppath+"/"+self.var_Elabel+"_"+functions.i2s(var_n)+".dat" No newline at end of file
302 301 # No newline at end of file
303 302 # var_cmd = 'genisoimage -hide-joliet-trans-tbl -joliet-long -r ' No newline at end of file
304 303 # var_cmd += ' -A '+self.var_Elabel+' -V '+self.var_Elabel No newline at end of file
305 304 # var_cmd += ' -graft-points -path-list '+ file_dat+' -o '+file_iso No newline at end of file
306 305 # self.txtInfo.append(var_cmd) No newline at end of file
307 306 #
No newline at end of file
308 # var_output=commands.getstatusoutput(str(var_cmd))[0]
No newline at end of file
309 # self.txtInfo.append(str(var_output))
No newline at end of file
310
No newline at end of file
311 #os.system(str(var_cmd))
No newline at end of file
312 #p = subprocess.Popen(str('ls /'), shell=True, stdout=self)
No newline at end of file
313 #os.waitpid(p.pid, 0)
No newline at end of file
314 ####self.txtInfo.append(str(p.pid)) No newline at end of file
315 307 No newline at end of file
316 308 No newline at end of file
317 309 #----------------------------------------------------- Detener proceso de grabacion --------------------------------------------------------------- No newline at end of file
318 310 No newline at end of file
319 311 @pyqtSignature("") No newline at end of file
320 312 def on_btnStopburn_clicked(self): No newline at end of file
321 313 """ No newline at end of file
322 314 Slot documentation goes here. No newline at end of file
323 315 """
316 No newline at end of file
324 self.var_process.terminate()
No newline at end of file
317 No newline at end of file
325 self.btnRestart.setEnabled(True)
No newline at end of file
326 self.btnStartburn.setEnabled(True)
No newline at end of file
327 self.btnStopburn.setEnabled(False) No newline at end of file
328 318 No newline at end of file
329 319 No newline at end of file
330 320 #----------------------------------------------------- Testeo de las unidades de grabacion --------------------------------------------------------------- No newline at end of file
331 321 No newline at end of file
332 322 @pyqtSignature("") No newline at end of file
333 323 def on_btnTdevA_clicked(self): No newline at end of file
334 324 var_dev = str(self.txtDeviceA.text()) No newline at end of file
335 325 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev No newline at end of file
336 326 commands.getstatusoutput(var_cmd) No newline at end of file
337 327 No newline at end of file
338 328 @pyqtSignature("") No newline at end of file
339 329 def on_btnTdevB_clicked(self): No newline at end of file
340 330 var_dev = str(self.txtDeviceB.text()) No newline at end of file
341 331 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev No newline at end of file
342 332 commands.getstatusoutput(var_cmd) No newline at end of file
343 333 No newline at end of file
344 334 @pyqtSignature("") No newline at end of file
345 335 def on_btnTdevC_clicked(self): No newline at end of file
346 336 var_dev = str(self.txtDeviceC.text()) No newline at end of file
347 337 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev No newline at end of file
348 338 commands.getstatusoutput(var_cmd) No newline at end of file
349 339 No newline at end of file
350 340 @pyqtSignature("") No newline at end of file
351 341 def on_btnTdevD_clicked(self): No newline at end of file
352 342 var_dev = str(self.txtDeviceD.text()) No newline at end of file
353 343 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev No newline at end of file
354 344 commands.getstatusoutput(var_cmd) No newline at end of file
General Comments 0
You need to be logged in to leave comments. Login now