##// END OF EJS Templates
***
ralonso -
r86:87
parent child
Show More
@@ -1,300 +1,305
1 1 # -*- coding: utf-8 -*- No newline at end of file
2 2 No newline at end of file
3 3 No newline at end of file
4 4 from subprocess import * No newline at end of file
5 5 import sys No newline at end of file
6 6 import os No newline at end of file
7 7 import subprocess No newline at end of file
8 8 import commands No newline at end of file
9 9 No newline at end of file
10 10 #----------------------------------------------------- Deteccion de los dispositivos de grabacion --------------------------------------------------------------- No newline at end of file
11 11 No newline at end of file
12 12 def detect_devices(self): No newline at end of file
13 13 """ No newline at end of file
14 14 Deteccion de los dispositvos de grabacion No newline at end of file
15 15 """ No newline at end of file
16 16 #var_cmd="wodim --devices | grep /dev/ | awk -F\' '{print $2}'" #Funciona en consola pero no en python ΒΏ? No newline at end of file
17 17 var_cmd="wodim --devices | grep /dev/ | awk '{print $2}' | awk -F= '{print $2}'" No newline at end of file
18 18 No newline at end of file
19 19 var_output = commands.getstatusoutput(var_cmd) No newline at end of file
20 20 if var_output[0] != 0: No newline at end of file
21 21 self.txtInfo.append("No recording devices") No newline at end of file
22 22 else: No newline at end of file
23 23 var_devices = var_output[1].split('\n') No newline at end of file
24 24 No newline at end of file
25 25 var_tmp=[] No newline at end of file
26 26 for i in range(0, 4): No newline at end of file
27 27 if i < len(var_devices): No newline at end of file
28 28 var_len = len(var_devices[i]) No newline at end of file
29 29 var_tmp.append(var_devices[i][1:var_len - 1]) No newline at end of file
30 30 else: No newline at end of file
31 31 var_tmp.append('') No newline at end of file
32 32 No newline at end of file
33 33 #Se escriben los dispostivos correspodientes, si existen No newline at end of file
34 34 self.txtDeviceA.setText(str(var_tmp[0])) No newline at end of file
35 35 self.txtDeviceB.setText(str(var_tmp[1])) No newline at end of file
36 36 self.txtDeviceC.setText(str(var_tmp[2])) No newline at end of file
37 37 self.txtDeviceD.setText(str(var_tmp[3])) No newline at end of file
38 38 #Se desactivan los que no existen No newline at end of file
39 39 if len(var_tmp[0]) == 0 : No newline at end of file
40 40 self.chkDevA.setChecked(False) No newline at end of file
41 41 self.chkDevA.setEnabled(False) No newline at end of file
42 42 if len(var_tmp[1]) == 0 : No newline at end of file
43 43 self.chkDevB.setChecked(False) No newline at end of file
44 44 self.chkDevB.setEnabled(False) No newline at end of file
45 45 if len(var_tmp[2]) == 0 : No newline at end of file
46 46 self.chkDevC.setChecked(False) No newline at end of file
47 47 self.chkDevC.setEnabled(False) No newline at end of file
48 48 if len(var_tmp[3]) == 0 : No newline at end of file
49 49 self.chkDevD.setChecked(False) No newline at end of file
50 50 self.chkDevD.setEnabled(False) No newline at end of file
51 51 No newline at end of file
52 52 #----------------------------------- expulsa los dispositivos de grabacion -------------------------------------------- No newline at end of file
53 53 No newline at end of file
54 54 def eject_devices(self): No newline at end of file
55 55 for var_dev in self.var_devices: No newline at end of file
56 56 var_cmd = 'eject ' + var_dev No newline at end of file
57 57 commands.getstatusoutput(var_cmd) No newline at end of file
58 58 No newline at end of file
59 59 #Expulsa el dispositivo de grabacion actual No newline at end of file
60 60 def eject_one_device(self): No newline at end of file
61 61 var_index = ( ( (self.var_disc_n - 1) * self.var_Copys) + (self.var_copy_n - 1) - self.var_burned_discs ) % len(self.var_devices) No newline at end of file
62 62 var_dev = self.var_devices[var_index] No newline at end of file
63 63 var_cmd = 'eject ' + var_dev No newline at end of file
64 64 commands.getstatusoutput(var_cmd) No newline at end of file
65 65 No newline at end of file
66 66 def eject_t_one_device(self): No newline at end of file
67 67 var_index = ( ( (self.var_disc_n - 1) * self.var_Copys) + (self.var_copy_n - 1) - self.var_burned_discs ) % len(self.var_devices) No newline at end of file
68 68 var_dev = self.var_devices[var_index] No newline at end of file
69 69 var_cmd = 'eject -t ' + var_dev No newline at end of file
70 70 commands.getstatusoutput(var_cmd) No newline at end of file
71 71 No newline at end of file
72 72 def get_dev_sr(self): No newline at end of file
73 73 var_index = ( ( (self.var_disc_n - 1) * self.var_Copys) + (self.var_copy_n - 1) - self.var_burned_discs ) % len(self.var_devices) No newline at end of file
74 74 var_dev = self.var_devices[var_index] No newline at end of file
75 75 var_output=commands.getstatusoutput('ls -lh '+var_dev) No newline at end of file
76 76 if var_output[0] != 0: No newline at end of file
77 77 return "FATAL ERROR" No newline at end of file
78 78 else: No newline at end of file
79 79 var_dev_sr = "/dev/"+var_output[1] .split()[-1] No newline at end of file
80 80 return var_dev_sr No newline at end of file
81 81 No newline at end of file
82 82 No newline at end of file
83 83 #----------------------------------- devuelve una lista con las carpetas en las cuales estan montados los dispositivos -------------------------------------------- No newline at end of file
84 84 def mounted_devices(): No newline at end of file
85 85 No newline at end of file
86 86 var_type = "tmpfs" No newline at end of file
87 87 var_output=commands.getstatusoutput('df -hT | grep '+ var_type) No newline at end of file
88 88 No newline at end of file
89 89 if var_output[0] != 0: No newline at end of file
90 90 return "FATAL ERROR" No newline at end of file
91 91 No newline at end of file
92 92 else: No newline at end of file
93 93 if len(var_output[1]) == 0: No newline at end of file
94 94 return "FATAL ERROR" No newline at end of file
95 95 No newline at end of file
96 96 list_dirs = [] No newline at end of file
97 97 for var_dir in var_output[1].split('\n'): No newline at end of file
98 98 list_dirs.append(var_dir.split()[-1]) No newline at end of file
99 99 No newline at end of file
100 100 return list_dirs No newline at end of file
101 101 No newline at end of file
102 102 No newline at end of file
103 103 #----------------------------------- listado de los dispositivos de grabacion seleccionados -------------------------------------------- No newline at end of file
104 104 No newline at end of file
105 105 def selected_devices(self): No newline at end of file
106 106 self.var_devices=[] No newline at end of file
107 107 if self.chkDevA.isChecked(): No newline at end of file
108 108 self.var_devices.append(str(self.txtDeviceA.text())) No newline at end of file
109 109 if self.chkDevB.isChecked(): No newline at end of file
110 110 self.var_devices.append(str(self.txtDeviceB.text())) No newline at end of file
111 111 if self.chkDevC.isChecked(): No newline at end of file
112 112 self.var_devices.append(str(self.txtDeviceC.text())) No newline at end of file
113 113 if self.chkDevD.isChecked(): No newline at end of file
114 114 self.var_devices.append(str(self.txtDeviceD.text())) No newline at end of file
115 115 No newline at end of file
116 116 if len(self.var_devices) == 0: No newline at end of file
117 117 return False No newline at end of file
118 118 else: No newline at end of file
119 119 return True No newline at end of file
120 120 No newline at end of file
121 121 No newline at end of file
122 122 #----------------------------------------------------- Inicializacion para pruebas--------------------------------------------------------------- No newline at end of file
123 123 No newline at end of file
124 124 def set_parameters_test(self): No newline at end of file
125 125 """ No newline at end of file
126 126 Se usa para inicializar ciertos parametros para pruebas No newline at end of file
127 127 """ No newline at end of file
128 128 self.txtDpath.setText('/home/ricardoar/optional/STORAGE/EW_DRIFTS') No newline at end of file
129 129 self.txtRpath.setText('/home/ricardoar/optional/prueba1_jro_backup_manager') No newline at end of file
130 130 self.txtElabel.setText('EW_DRIFTS_pruebas') No newline at end of file
131 131 self.lstDcapacity.setCurrentIndex(4) No newline at end of file
132 132 self.txtDcapacity.setValue(100.0) No newline at end of file
133 133 self.txtDcapacity.setReadOnly(False) No newline at end of file
134 134 No newline at end of file
135 135 def set_devices_test(self): No newline at end of file
136 136 self.txtDeviceA.setText("/dev/scd0") No newline at end of file
137 137 self.txtDeviceB.setText("/dev/scd1") No newline at end of file
138 138 self.txtDeviceC.setText("/dev/scd2") No newline at end of file
139 139 self.txtDeviceD.setText("/dev/scd3") No newline at end of file
140 140 No newline at end of file
141 141 No newline at end of file
142 142 No newline at end of file
143 143 #----------------------------------------------------- crea parameters.conf --------------------------------------------------------------- No newline at end of file
144 144 No newline at end of file
145 145 def make_parameters_conf(self): No newline at end of file
146 146 var_file = open("parameters.conf","w") No newline at end of file
147 147 var_file.write(self.var_Dpath+"\n") #0 Ruta de los datos No newline at end of file
148 148 var_file.write(self.var_Rpath+"\n") #1 Ruta del proyecto No newline at end of file
149 149 var_file.write(str(self.var_lstDtype)+"\n") #2 opcion Data Type No newline at end of file
150 150 var_file.write(self.var_Dtype+"\n") #3 extension Data Type No newline at end of file
151 151 var_file.write(self.var_Elabel+"\n") #4 etiqueta No newline at end of file
152 152 var_file.write(str(self.var_Copys)+"\n") #5 Numero de copias No newline at end of file
153 153 var_file.write(str(self.var_lstDcapacity)+"\n") #6 opcion Device Capacity No newline at end of file
154 154 var_file.write(str(self.var_Dcapacity)+"\n") #7 tamaΓ±o Device Capacity No newline at end of file
155 155 var_file.write(str(self.var_Discs)+"\n") #8 Numero de discos a grabar No newline at end of file
156 156 # var_file.write(str(self.lstStartDay.currentIndex())+"\n") #9 Indice fecha inicial No newline at end of file
157 157 # var_file.write(str(self.lstStopDay.currentIndex())+"\n") #10 Indice fecha final No newline at end of file
158 158 var_file.close() No newline at end of file
159 159 No newline at end of file
160 160 #----------------------------------------------------- carga parameters.conf --------------------------------------------------------------- No newline at end of file
161 161 No newline at end of file
162 162 def get_parameters_conf(self): No newline at end of file
163 163 var_file = open("parameters.conf","r") No newline at end of file
164 164 lines = var_file.readlines() No newline at end of file
165 165 self.txtDpath.setText(lines[0][:-1]) #0 No newline at end of file
166 166 self.txtRpath.setText(lines[1][:-1]) #1 No newline at end of file
167 167 self.lstDtype.setCurrentIndex(int(lines[2])) #2 No newline at end of file
168 168 self.txtDtype.setText(lines[3][:-1]) #3 No newline at end of file
169 169 self.txtElabel.setText(lines[4][:-1]) #4 No newline at end of file
170 170 self.txtCopys.setValue(int(lines[5][:-1])) #5 No newline at end of file
171 171 self.lstDcapacity.setCurrentIndex(int(lines[6])) #6 No newline at end of file
172 172 self.txtDcapacity.setValue(float(lines[7])) #7 No newline at end of file
173 173 self.var_Discs = int(lines[8]) #8 No newline at end of file
174 174 # var_StartDay = int(lines[6]) #9 No newline at end of file
175 175 # var_StopDay = int(lines[7]) #10 No newline at end of file
176 176 ################################ No newline at end of file
177 177 self.var_Copys = self.txtCopys.value() #5 No newline at end of file
178 178 ################################ No newline at end of file
179 179 No newline at end of file
180 180 var_file.close() No newline at end of file
181 181 No newline at end of file
182 182 No newline at end of file
183 183 #-------------------------- actualiza el valor de las variables con los parametros seleccionados ----------------------------- No newline at end of file
184 184 No newline at end of file
185 185 def set_vars(self): No newline at end of file
186 186 self.var_Dpath = str(self.txtDpath.text()) #0 No newline at end of file
187 187 self.var_Rpath = str(self.txtRpath.text()) #1 No newline at end of file
188 188 self.var_lstDtype = self.lstDtype.currentIndex() #2 No newline at end of file
189 189 self.var_Dtype = str(self.txtDtype.text()) #3 No newline at end of file
190 190 self.var_Elabel = str(self.txtElabel.text()) #4 No newline at end of file
191 191 self.var_Copys = self.txtCopys.value() #5 No newline at end of file
192 192 self.var_lstDcapacity = self.lstDcapacity.currentIndex() #6 No newline at end of file
193 193 self.var_Dcapacity = self.txtDcapacity.value() #7 No newline at end of file
194 194 self.var_Discs = self.var_Discs #8 No newline at end of file
195 195 No newline at end of file
196 196 No newline at end of file
197 197 #-------------------------- crea burning.conf ----------------------------- No newline at end of file
198 198 No newline at end of file
199 199 def make_burning_conf(self): No newline at end of file
200 200 var_file = open("burning.conf","w") No newline at end of file
201 201 var_n_burned_discs = ( ( (self.var_disc_n - 1) * self.var_Copys) + self.var_copy_n - 1 ) No newline at end of file
202 202 var_file.write(str(var_n_burned_discs)+"\n") #0 Numero de discos ya grabados No newline at end of file
203 203 var_file.write(str(self.var_disc_n)+"\n") #1 Disco actual para grabar No newline at end of file
204 204 var_file.write(str(self.var_copy_n)+"\n") #2 Numero de copia actual para grabar No newline at end of file
205 205 var_file.close() No newline at end of file
206 206 No newline at end of file
207 207 #----------------------------------------------------- carga burning.conf --------------------------------------------------------------- No newline at end of file
208 208 No newline at end of file
209 209 def get_burning_conf(self): No newline at end of file
210 210 var_file = open("burning.conf","r") No newline at end of file
211 211 lines = var_file.readlines() No newline at end of file
212 212 self.var_burned_discs = int(lines[0]) #0 No newline at end of file
213 213 self.var_disc_n = int(lines[1]) No newline at end of file
214 214 self.var_copy_n = int(lines[2]) No newline at end of file
215 215 var_file.close() No newline at end of file
216 216 No newline at end of file
217 217 #---------------------------------------------- Habilitacion y deshabilitacion de items ------------------------------------------------------- No newline at end of file
218 218 No newline at end of file
219 219 def enabled_items1(var_bool, self): No newline at end of file
220 220 self.tabParameters.setEnabled(not(var_bool)) No newline at end of file
221 221 self.lstDcapacity.setEnabled(not(var_bool)) No newline at end of file
222 222 self.txtDcapacity.setEnabled(not(var_bool)) No newline at end of file
223 223 self.actionChange_Parameters.setEnabled(var_bool) No newline at end of file
224 224 self.btnGbkp.setEnabled(not(var_bool)) No newline at end of file
225 225 self.btnRestart.setEnabled(var_bool) No newline at end of file
226 226 self.btnStartburn.setEnabled(var_bool) No newline at end of file
227 227 No newline at end of file
228 228 No newline at end of file
229 229 def enabled_items2(var_bool, self): No newline at end of file
230 230 self.btnRestart.setEnabled(not(var_bool)) No newline at end of file
231 231 self.btnStartburn.setEnabled(not(var_bool)) No newline at end of file
232 232 self.btnStopburn.setEnabled(var_bool) No newline at end of file
233 233 self.chkCheck.setEnabled(not(var_bool)) No newline at end of file
234 234 self.chkCheck.setChecked(False) No newline at end of file
235 235 No newline at end of file
236 236 self.actionChange_Parameters.setEnabled(False) No newline at end of file
237 237 No newline at end of file
238 238 No newline at end of file
239 239 def enabled_items3(var_bool, self): No newline at end of file
240 240 self.btnRestart.setEnabled(not(var_bool)) No newline at end of file
241 241 self.btnStartburn.setEnabled(not(var_bool)) No newline at end of file
242 242 self.btnStopburn.setEnabled(var_bool) No newline at end of file
243 243 self.chkCheck.setEnabled(not(var_bool)) No newline at end of file
244 244 self.chkCheck.setChecked(False) No newline at end of file
245 245 No newline at end of file
246
No newline at end of file
247 self.actionChange_Parameters.setEnabled(False)
No newline at end of file
248
No newline at end of file
249 self.actionChange_Parameters.setEnabled(False)
No newline at end of file
250 No newline at end of file
246 251 self.actionChange_Parameters.setEnabled(False) No newline at end of file
247 252 No newline at end of file
248 253 No newline at end of file
249 254 #---------------------------------------------- Actualiza estado en los labels ------------------------------------------------------- No newline at end of file
250 255 No newline at end of file
251 256 def update_message(type, message, self, index=-1): No newline at end of file
252 257 if index == -1: No newline at end of file
253 258 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
254 259 else: No newline at end of file
255 260 var_index = index No newline at end of file
256 261 No newline at end of file
257 262 var_message = message No newline at end of file
258 263 # var_message = "BURNING" No newline at end of file
259 264 # var_message = "COMPLETED" No newline at end of file
260 265 # var_message = "ERROR" No newline at end of file
261 266 # var_message = "CHECKING" No newline at end of file
262 267 # var_message = "CHECKED" No newline at end of file
263 268 No newline at end of file
264 269 if type == 1: No newline at end of file
265 270 No newline at end of file
266 271 if var_index == 0: No newline at end of file
267 272 self.txtBstatusA.setText(var_message) No newline at end of file
268 273 self.txtBdiscA.setText(str(self.var_disc_n)) No newline at end of file
269 274 self.txtBcopyA.setText(str(self.var_copy_n)) No newline at end of file
270 275 No newline at end of file
271 276 if var_index == 1: No newline at end of file
272 277 self.txtBstatusB.setText(var_message) No newline at end of file
273 278 self.txtBdiscB.setText(str(self.var_disc_n)) No newline at end of file
274 279 self.txtBcopyB.setText(str(self.var_copy_n)) No newline at end of file
275 280 No newline at end of file
276 281 if var_index == 2: No newline at end of file
277 282 self.txtBstatusC.setText(var_message) No newline at end of file
278 283 self.txtBdiscC.setText(str(self.var_disc_n)) No newline at end of file
279 284 self.txtBcopyC.setText(str(self.var_copy_n)) No newline at end of file
280 285 No newline at end of file
281 286 if var_index == 3: No newline at end of file
282 287 self.txtBstatusD.setText(var_message) No newline at end of file
283 288 self.txtBdiscD.setText(str(self.var_disc_n)) No newline at end of file
284 289 self.txtBcopyD.setText(str(self.var_copy_n)) No newline at end of file
285 290 No newline at end of file
286 291 if type == 2: No newline at end of file
287 292 No newline at end of file
288 293 if var_index == 0: No newline at end of file
289 294 self.txtCHstatusA.setText(var_message) No newline at end of file
290 295 No newline at end of file
291 296 if var_index == 1: No newline at end of file
292 297 self.txtCHstatusB.setText(var_message) No newline at end of file
293 298 No newline at end of file
294 299 if var_index == 2: No newline at end of file
295 300 self.txtCHstatusC.setText(var_message) No newline at end of file
296 301 No newline at end of file
297 302 if var_index == 3: No newline at end of file
298 303 self.txtCHstatusD.setText(var_message) No newline at end of file
299 304 No newline at end of file
300 305 No newline at end of file
General Comments 0
You need to be logged in to leave comments. Login now