##// END OF EJS Templates
***
ralonso -
r33:34
parent child
Show More
@@ -1,410 +1,472
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 Ui_MainWindow import Ui_MainWindow No newline at end of file
9 from Ui_MainWindow import Ui_MainWindow
10 from PyQt4 import QtGui No newline at end of file
10 from PyQt4 import QtGui
11 from subprocess import * No newline at end of file
11 from subprocess import *
12 import sys No newline at end of file
12 import sys
13 import os No newline at end of file
13 import os
14 import subprocess No newline at end of file
14 import subprocess
15 import commands No newline at end of file
15 import commands
16 No newline at end of file
16
17 class MainWindow(QMainWindow, Ui_MainWindow): No newline at end of file
17 class MainWindow(QMainWindow, Ui_MainWindow):
18 """ No newline at end of file
18 """
19 Class documentation goes here. No newline at end of file
19 Class documentation goes here.
20 """ No newline at end of file
20 """
21 No newline at end of file
21
22 def __init__(self, parent = None): No newline at end of file
22 def __init__(self, parent = None):
23 QMainWindow.__init__(self, parent) No newline at end of file
23 QMainWindow.__init__(self, parent)
24 self.setupUi(self) No newline at end of file
24 self.setupUi(self)
25 self.setupUi2() No newline at end of file
25 self.setupUi2()
26 No newline at end of file
26
27 #redirige salida estandar No newline at end of file
27 #redirige salida estandar
28 sys.stdout = self No newline at end of file
28 sys.stdout = self
29 No newline at end of file
29
30 No newline at end of file
30
31 def setupUi2(self): No newline at end of file
31 def setupUi2(self):
32 """ No newline at end of file
32 """
33 Se usa para inicializar ciertos parametros para pruebas No newline at end of file
33 Se usa para inicializar ciertos parametros para pruebas
34 """
34 """
No newline at end of file
35 self.txtDpath.setText('/home/ricardoar/optional/STORAGE/Data/RAW_EXP/JASMET/')
35 self.txtDpath.setText('/home/ricardoar/optional/STORAGE/EW_DRIFTS')
No newline at end of file
No newline at end of file
36 self.txtRpath.setText('/home/ricardoar/optional/STORAGE/prueba1_jro_backup_manager')
36 self.txtRpath.setText('/home/ricardoar/optional/STORAGE/prueba2_jro_backup_manager')
No newline at end of file
No newline at end of file
37 self.txtElabel.setText('JASMET')
37 self.txtElabel.setText('EW_DRIFTS')
No newline at end of file
No newline at end of file
38 self.statusDpath = True
38 self.statusDpath = False
No newline at end of file
No newline at end of file
39 self.statusRpath = True
39 self.statusRpath = False No newline at end of file
No newline at end of file
40 # self.statusDpath = False
No newline at end of file
41 # self.statusRpath = False
No newline at end of file
42 No newline at end of file
40 No newline at end of file
43
41 # No newline at end of file
44 #
42 #Deteccion de los dispositvos de grabacion No newline at end of file
45 #Deteccion de los dispositvos de grabacion
43 # No newline at end of file
46 #
44 #var_cmd="wodim --devices | grep /dev/ | awk -F\' '{print $2}'" #Funciona en consola pero no en python ΒΏ? No newline at end of file
47 #var_cmd="wodim --devices | grep /dev/ | awk -F\' '{print $2}'" #Funciona en consola pero no en python ΒΏ?
45 var_cmd="wodim --devices | grep /dev/ | awk '{print $2}' | awk -F= '{print $2}'" No newline at end of file
48 var_cmd="wodim --devices | grep /dev/ | awk '{print $2}' | awk -F= '{print $2}'"
46 var_output = commands.getstatusoutput(var_cmd) No newline at end of file
49 var_output = commands.getstatusoutput(var_cmd)
47 if var_output[0] != 0: No newline at end of file
50 if var_output[0] != 0:
48 self.txtInfo.setText("No se pudo encontrar los dispositivos de grabacion, output_error:" + str(var_output)) No newline at end of file
51 self.txtInfo.setText("No se pudo encontrar los dispositivos de grabacion, output_error:" + str(var_output))
49 else: No newline at end of file
52 else:
50 self.txtInfo.append("dispositivos encontrados") No newline at end of file
53 self.txtInfo.append("dispositivos encontrados")
51 var_devices = var_output[1].split('\n') No newline at end of file
54 var_devices = var_output[1].split('\n')
52 No newline at end of file
55
53 var_tmp=[] No newline at end of file
56 var_tmp=[]
54 for i in range(0, 4): No newline at end of file
57 for i in range(0, 4):
55 if i < len(var_devices): No newline at end of file
58 if i < len(var_devices):
56 var_len = len(var_devices[i]) No newline at end of file
59 var_len = len(var_devices[i])
57 var_tmp.append(var_devices[i][1:var_len - 1]) No newline at end of file
60 var_tmp.append(var_devices[i][1:var_len - 1])
58 else: No newline at end of file
61 else:
59 var_tmp.append('') No newline at end of file
62 var_tmp.append('')
60 No newline at end of file
63
61 #Se escriben los dispostivos correspodientes, si existen No newline at end of file
64 #Se escriben los dispostivos correspodientes, si existen
62 self.txtDeviceA.setText(str(var_tmp[0])) No newline at end of file
65 self.txtDeviceA.setText(str(var_tmp[0]))
63 self.txtDeviceB.setText(str(var_tmp[1])) No newline at end of file
66 self.txtDeviceB.setText(str(var_tmp[1]))
64 self.txtDeviceC.setText(str(var_tmp[2])) No newline at end of file
67 self.txtDeviceC.setText(str(var_tmp[2]))
65 self.txtDeviceD.setText(str(var_tmp[3])) No newline at end of file
68 self.txtDeviceD.setText(str(var_tmp[3]))
66 #Se desactivan los que no existen No newline at end of file
69 #Se desactivan los que no existen
67 if len(var_tmp[0]) == 0 : No newline at end of file
70 if len(var_tmp[0]) == 0 :
68 self.chkDevA.setChecked(False) No newline at end of file
71 self.chkDevA.setChecked(False)
69 self.chkDevA.setEnabled(False) No newline at end of file
72 self.chkDevA.setEnabled(False)
70 if len(var_tmp[1]) == 0 : No newline at end of file
73 if len(var_tmp[1]) == 0 :
71 self.chkDevB.setChecked(False) No newline at end of file
74 self.chkDevB.setChecked(False)
72 self.chkDevB.setEnabled(False) No newline at end of file
75 self.chkDevB.setEnabled(False)
73 if len(var_tmp[2]) == 0 : No newline at end of file
76 if len(var_tmp[2]) == 0 :
74 self.chkDevC.setChecked(False) No newline at end of file
77 self.chkDevC.setChecked(False)
75 self.chkDevC.setEnabled(False) No newline at end of file
78 self.chkDevC.setEnabled(False)
76 if len(var_tmp[3]) == 0 : No newline at end of file
79 if len(var_tmp[3]) == 0 :
77 self.chkDevD.setChecked(False) No newline at end of file
80 self.chkDevD.setChecked(False)
78 self.chkDevD.setEnabled(False) No newline at end of file
81 self.chkDevD.setEnabled(False)
79 No newline at end of file
82
80 No newline at end of file
83
81 def write(self, txt): No newline at end of file
84 def write(self, txt):
82 """ No newline at end of file
85 """
83 Escribe la salida estandar eb txtInfo No newline at end of file
86 Escribe la salida estandar eb txtInfo
84 """ No newline at end of file
87 """
85 self.txtInfo.append(str(txt)) No newline at end of file
88 self.txtInfo.append(str(txt))
86 No newline at end of file
89
87 No newline at end of file
90
88 @pyqtSignature("") No newline at end of file
91 @pyqtSignature("")
89 def on_btnDpath_clicked(self): No newline at end of file
92 def on_btnDpath_clicked(self):
90 """ No newline at end of file
93 """
91 Permite seleccionar graficamente el direcorio de los datos a grabar No newline at end of file
94 Permite seleccionar graficamente el direcorio de los datos a grabar
92 """ No newline at end of file
95 """
93 var_Dpath= QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly) No newline at end of file
96 var_Dpath= QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly)
94 self.txtDpath.setText(var_Dpath) No newline at end of file
97 self.txtDpath.setText(var_Dpath)
95 No newline at end of file
98
96 #llamada a funcion No newline at end of file
99 #llamada a funcion
97 self.on_txtDpath_editingFinished() No newline at end of file
100 self.on_txtDpath_editingFinished()
98 No newline at end of file
101
99 No newline at end of file
102
100 @pyqtSignature("") No newline at end of file
103 @pyqtSignature("")
101 def on_btnRpath_clicked(self): No newline at end of file
104 def on_btnRpath_clicked(self):
102 """ No newline at end of file
105 """
103 Permite seleccionar graficamente el direcorio del proyecto No newline at end of file
106 Permite seleccionar graficamente el direcorio del proyecto
104 """ No newline at end of file
107 """
105 var_Rpath = QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly) No newline at end of file
108 var_Rpath = QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly)
106 self.txtRpath.setText(var_Rpath) No newline at end of file
109 self.txtRpath.setText(var_Rpath)
107 No newline at end of file
110
108 #llamada a funcion No newline at end of file
111 #llamada a funcion
109 self.on_txtRpath_editingFinished() No newline at end of file
112 self.on_txtRpath_editingFinished()
110 No newline at end of file
113
111 No newline at end of file
114
112 @pyqtSignature("") No newline at end of file
115 @pyqtSignature("")
113 def on_txtDpath_editingFinished(self): No newline at end of file
116 def on_txtDpath_editingFinished(self):
114 """ No newline at end of file
117 """
115 Permite buscar los archivos de extension seleccionada en la ruta de de datos No newline at end of file
118 Permite buscar los archivos de extension seleccionada en la ruta de de datos
116 y cargar los valores para el rango de tiempo a ser grabado No newline at end of file
119 y cargar los valores para el rango de tiempo a ser grabado
117 """ No newline at end of file
120 """
118 No newline at end of file
121
119 #Usando el modulo "subprocess", eric4 pide seleccion del tipo de subproceso (padre o hijo) No newline at end of file
122 #Usando el modulo "subprocess", eric4 pide seleccion del tipo de subproceso (padre o hijo)
120 #por ello se prefiere usar el modulo "commands" No newline at end of file
123 #por ello se prefiere usar el modulo "commands"
121 #p1= Popen(['find', var_Dpath, '-name', '*.r'], stdout=PIPE) No newline at end of file
124 #p1= Popen(['find', var_Dpath, '-name', '*.r'], stdout=PIPE)
122 #p2= Popen(['awk', '-F/', '{print substr($NF,2,7)}'], stdin=p1.stdout, stdout=PIPE) No newline at end of file
125 #p2= Popen(['awk', '-F/', '{print substr($NF,2,7)}'], stdin=p1.stdout, stdout=PIPE)
123 #output_p2= p2.communicate()[0] No newline at end of file
126 #output_p2= p2.communicate()[0]
124 #self.txtInfo.setText(output_p2) No newline at end of file
127 #self.txtInfo.setText(output_p2)
125 No newline at end of file
128
126 #Se carga la variable con la ruta de datos No newline at end of file
129 #Se carga la variable con la ruta de datos
127 var_Dpath=self.txtDpath.text() No newline at end of file
130 var_Dpath=self.txtDpath.text()
128 No newline at end of file
131
129 #Se verifica que la ruta exista y sea un directorio No newline at end of file
132 #Se verifica que la ruta exista y sea un directorio
130 var_cmd="test -d "+str(var_Dpath) No newline at end of file
133 var_cmd="test -d "+str(var_Dpath)
131 var_output=commands.getstatusoutput(var_cmd)[0] No newline at end of file
134 var_output=commands.getstatusoutput(var_cmd)[0]
132 if var_output != 0: No newline at end of file
135 if var_output != 0:
133 self.statusDpath = False No newline at end of file
136 self.statusDpath = False
134 self.txtInfo.setText("Ruta no valida, output_error:" + str(var_output)) No newline at end of file
137 self.txtInfo.setText("Ruta no valida, output_error:" + str(var_output))
135 return No newline at end of file
138 return
136 else: No newline at end of file
139 else:
137 self.statusDpath = True No newline at end of file
140 self.statusDpath = True
138 self.txtInfo.append("Ruta valida, sin error:" + str(var_Dpath)) No newline at end of file
141 self.txtInfo.append("Ruta valida, sin error:" + str(var_Dpath))
139 No newline at end of file
142
140 #Se buscan los archivos del tipo especificado No newline at end of file
143 #Se buscan los archivos del tipo especificado
141 var_Dtype=self.txtDtype.text() No newline at end of file
144 var_Dtype=self.txtDtype.text()
142 var_cmd="find " + str(var_Dpath) + " -name *."+ str(var_Dtype) +" | awk -F/ '{print substr($NF,2,7)}' | sort| uniq" No newline at end of file
145 var_cmd="find " + str(var_Dpath) + " -name *."+ str(var_Dtype) +" | awk -F/ '{print substr($NF,2,7)}' | sort| uniq"
143 output_p2=commands.getstatusoutput(var_cmd)[1] No newline at end of file
146 output_p2=commands.getstatusoutput(var_cmd)[1]
144 No newline at end of file
147
145 #Se cargan las listas para seleccionar StartDay y StopDay (QComboBox) No newline at end of file
148 #Se cargan las listas para seleccionar StartDay y StopDay (QComboBox)
146 self.var_list=[] No newline at end of file
149 self.var_list=[]
147 for i in range(0, (len(output_p2)+1)/8): No newline at end of file
150 for i in range(0, (len(output_p2)+1)/8):
148 self.var_list.append(output_p2[8*i:8*(i+1)-1]) No newline at end of file
151 self.var_list.append(output_p2[8*i:8*(i+1)-1])
149 No newline at end of file
152
150 self.lstStartDay.clear() No newline at end of file
153 self.lstStartDay.clear()
151 self.lstStopDay.clear() No newline at end of file
154 self.lstStopDay.clear()
152 No newline at end of file
155
153 for i in self.var_list: No newline at end of file
156 for i in self.var_list:
154 self.lstStartDay.addItem(i) No newline at end of file
157 self.lstStartDay.addItem(i)
155 self.lstStopDay.addItem(i) No newline at end of file
158 self.lstStopDay.addItem(i)
156 No newline at end of file
159
157 self.lstStopDay.setCurrentIndex(self.lstStartDay.count()-1) No newline at end of file
160 self.lstStopDay.setCurrentIndex(self.lstStartDay.count()-1)
158 No newline at end of file
161
159 No newline at end of file
162
160 @pyqtSignature("") No newline at end of file
163 @pyqtSignature("")
161 def on_txtRpath_editingFinished(self): No newline at end of file
164 def on_txtRpath_editingFinished(self):
162 """ No newline at end of file
165 """
163 Valida la ruta del proyecto No newline at end of file
166 Valida la ruta del proyecto
164 """ No newline at end of file
167 """
165 #Se carga la variable con la ruta del proyecto No newline at end of file
168 #Se carga la variable con la ruta del proyecto
166 var_Rpath=self.txtRpath.text() No newline at end of file
169 var_Rpath=self.txtRpath.text()
167 No newline at end of file
170
168 #Se verifica que la ruta exista y sea un directorio No newline at end of file
171 #Se verifica que la ruta exista y sea un directorio
169 var_cmd="test -d "+str(var_Rpath) No newline at end of file
172 var_cmd="test -d "+str(var_Rpath)
170 var_output=commands.getstatusoutput(var_cmd)[0] No newline at end of file
173 var_output=commands.getstatusoutput(var_cmd)[0]
171 if var_output != 0: No newline at end of file
174 if var_output != 0:
172 self.statusRpath = False No newline at end of file
175 self.statusRpath = False
173 self.txtInfo.append("Ruta no valida, output_error:" + str(var_output)) No newline at end of file
176 self.txtInfo.append("Ruta no valida, output_error:" + str(var_output))
174 return No newline at end of file
177 return
175 else: No newline at end of file
178 else:
176 self.statusRpath = True No newline at end of file
179 self.statusRpath = True
177 self.txtInfo.append("Ruta valida, sin error:" + str(var_Rpath)) No newline at end of file
180 self.txtInfo.append("Ruta valida, sin error:" + str(var_Rpath))
178 No newline at end of file
181
179 No newline at end of file
182
180 @pyqtSignature("int") No newline at end of file
183 @pyqtSignature("int")
181 def on_lstDtype_activated(self, index): No newline at end of file
184 def on_lstDtype_activated(self, index):
182 """ No newline at end of file
185 """
183 Permite elegir entre los tipos de archivos No newline at end of file
186 Permite elegir entre los tipos de archivos
184 """ No newline at end of file
187 """
185 if index == 0: No newline at end of file
188 if index == 0:
186 var_type='r' No newline at end of file
189 var_type='r'
187 elif index == 1: No newline at end of file
190 elif index == 1:
188 var_type='pdata' No newline at end of file
191 var_type='pdata'
189 elif index == 2: No newline at end of file
192 elif index == 2:
190 var_type='sswma' No newline at end of file
193 var_type='sswma'
191 No newline at end of file
194
192 if index != 3: No newline at end of file
195 if index != 3:
193 self.txtDtype.setText(var_type) No newline at end of file
196 self.txtDtype.setText(var_type)
194 self.txtDtype.setReadOnly(True) No newline at end of file
197 self.txtDtype.setReadOnly(True)
195 self.on_txtDpath_editingFinished() No newline at end of file
198 self.on_txtDpath_editingFinished()
196 else: No newline at end of file
199 else:
197 self.txtDtype.setText('') No newline at end of file
200 self.txtDtype.setText('')
198 self.txtDtype.setReadOnly(False) No newline at end of file
201 self.txtDtype.setReadOnly(False)
199 No newline at end of file
202
200 No newline at end of file
203
201 @pyqtSignature("") No newline at end of file
204 @pyqtSignature("")
202 def on_txtDtype_editingFinished(self): No newline at end of file
205 def on_txtDtype_editingFinished(self):
203 """ No newline at end of file
206 """
204 Se activa cuando el tipo de archivo es ingresado manualmente No newline at end of file
207 Se activa cuando el tipo de archivo es ingresado manualmente
205 """ No newline at end of file
208 """
206 #llamada a funcion No newline at end of file
209 #llamada a funcion
207 self.on_txtDpath_editingFinished() No newline at end of file
210 self.on_txtDpath_editingFinished()
208 No newline at end of file
211
209 No newline at end of file
212
210 @pyqtSignature("int") #CLOSED No newline at end of file
213 @pyqtSignature("int") #CLOSED
211 def on_lstStartDay_activated(self, index): No newline at end of file
214 def on_lstStartDay_activated(self, index):
212 """ No newline at end of file
215 """
213 Cambia la lista de opciones en lstStopDay No newline at end of file
216 Cambia la lista de opciones en lstStopDay
214 """ No newline at end of file
217 """
215 var_StopDay_index=self.lstStopDay.count() - self.lstStopDay.currentIndex() No newline at end of file
218 var_StopDay_index=self.lstStopDay.count() - self.lstStopDay.currentIndex()
216 self.lstStopDay.clear() No newline at end of file
219 self.lstStopDay.clear()
217 No newline at end of file
220
218 for i in self.var_list[index:]: No newline at end of file
221 for i in self.var_list[index:]:
219 self.lstStopDay.addItem(i) No newline at end of file
222 self.lstStopDay.addItem(i)
220 No newline at end of file
223
221 self.lstStopDay.setCurrentIndex(self.lstStopDay.count() - var_StopDay_index) No newline at end of file
224 self.lstStopDay.setCurrentIndex(self.lstStopDay.count() - var_StopDay_index)
222 No newline at end of file
225
223 No newline at end of file
226
224 @pyqtSignature("int") #CLOSED No newline at end of file
227 @pyqtSignature("int") #CLOSED
225 def on_lstStopDay_activated(self, index): No newline at end of file
228 def on_lstStopDay_activated(self, index):
226 """ No newline at end of file
229 """
227 Cambia la lista de opciones en lstStartDay No newline at end of file
230 Cambia la lista de opciones en lstStartDay
228 """ No newline at end of file
231 """
229 var_StartDay_index=self.lstStartDay.currentIndex() No newline at end of file
232 var_StartDay_index=self.lstStartDay.currentIndex()
230 var_end_index = self.lstStopDay.count() - index No newline at end of file
233 var_end_index = self.lstStopDay.count() - index
231 self.lstStartDay.clear() No newline at end of file
234 self.lstStartDay.clear()
232 No newline at end of file
235
233 for i in self.var_list[:len(self.var_list) - var_end_index + 1]: No newline at end of file
236 for i in self.var_list[:len(self.var_list) - var_end_index + 1]:
234 self.lstStartDay.addItem(i) No newline at end of file
237 self.lstStartDay.addItem(i)
235 No newline at end of file
238
236 self.lstStartDay.setCurrentIndex(var_StartDay_index) No newline at end of file
239 self.lstStartDay.setCurrentIndex(var_StartDay_index)
237 No newline at end of file
240
238 No newline at end of file
241
239 @pyqtSignature("int") #CLOSED No newline at end of file
242 @pyqtSignature("int") #CLOSED
240 def on_lstDcapacity_activated(self, index): No newline at end of file
243 def on_lstDcapacity_activated(self, index):
241 """ No newline at end of file
244 """
242 Permite elegir el tamaΓ±o del disco No newline at end of file
245 Permite elegir el tamaΓ±o del disco
243 """ No newline at end of file
246 """
244 if index == 0: No newline at end of file
247 if index == 0:
245 var_size=25.0 No newline at end of file
248 var_size=25.0
246 elif index == 1: No newline at end of file
249 elif index == 1:
247 var_size=8.5 No newline at end of file
250 var_size=8.5
248 elif index == 2: No newline at end of file
251 elif index == 2:
249 var_size=4.7 No newline at end of file
252 var_size=4.7
250 elif index == 3: No newline at end of file
253 elif index == 3:
251 var_size=0.7 No newline at end of file
254 var_size=0.7
252 No newline at end of file
255
253 if index != 4: No newline at end of file
256 if index != 4:
254 self.txtDcapacity.setText(str(var_size*10**9/1024**2)) No newline at end of file
257 self.txtDcapacity.setText(str(var_size*10**9/1024**2))
255 self.txtDcapacity.setReadOnly(True) No newline at end of file
258 self.txtDcapacity.setReadOnly(True)
256 else: No newline at end of file
259 else:
257 self.txtDcapacity.setText('') No newline at end of file
260 self.txtDcapacity.setText('')
258 self.txtDcapacity.setReadOnly(False) No newline at end of file
261 self.txtDcapacity.setReadOnly(False)
259 No newline at end of file
262
260 No newline at end of file
263
261 @pyqtSignature("") No newline at end of file
264 @pyqtSignature("")
262 def on_btnGbkp_clicked(self): No newline at end of file
265 def on_btnGbkp_clicked(self):
263 """ No newline at end of file
266 """
264 Cuando se presiona el boton btnGbkp No newline at end of file
267 Cuando se presiona el boton btnGbkp
265 """ No newline at end of file
268 """
266 No newline at end of file
269
267 #Verifica que las rutas sean validas No newline at end of file
270 #Verifica que las rutas sean validas
268 if self.statusDpath == False or self.statusRpath == False: No newline at end of file
271 if self.statusDpath == False or self.statusRpath == False:
269 if self.statusDpath == False: No newline at end of file
272 if self.statusDpath == False:
270 self.txtInfo.append("Ruta de datos no valida") No newline at end of file
273 self.txtInfo.append("Ruta de datos no valida")
271 if self.statusRpath == False: No newline at end of file
274 if self.statusRpath == False:
272 self.txtInfo.append("Ruta de proyecto no valida") No newline at end of file
275 self.txtInfo.append("Ruta de proyecto no valida")
273 return No newline at end of file
276 return
274 No newline at end of file
277
275 #Crea las carpetas en la ruta del proyecto y verifica que se crearon correctamente No newline at end of file
278 #Crea las carpetas en la ruta del proyecto y verifica que se crearon correctamente
276 var_Rpath=self.txtRpath.text() No newline at end of file
279 var_Rpath=self.txtRpath.text()
277 var_dirs='/{gpath,iso,ppath}' No newline at end of file
280 var_dirs='/{gpath,iso,ppath}'
278 var_cmd="mkdir -p "+str(var_Rpath)+str(var_dirs) No newline at end of file
281 var_cmd="mkdir -p "+str(var_Rpath)+str(var_dirs)
279 var_output=commands.getstatusoutput(var_cmd)[0] No newline at end of file
282 var_output=commands.getstatusoutput(var_cmd)[0]
280 if var_output != 0: No newline at end of file
283 if var_output != 0:
281 self.txtInfo.append("No se pudieron crear los directorios, output_error:" + str(var_output)) No newline at end of file
284 self.txtInfo.append("No se pudieron crear los directorios, output_error:" + str(var_output))
282 return No newline at end of file
285 return
283 else: No newline at end of file
286 else:
284 self.txtInfo.append('Carpetas creadas correctamente') No newline at end of file
287 self.txtInfo.append('Carpetas creadas correctamente')
285 No newline at end of file
288
286 #Cargando variables con los parametros No newline at end of file
289 #Cargando variables con los parametros
287 var_Dpath=self.txtDpath.text() No newline at end of file
290 var_Dpath=self.txtDpath.text()
288 var_Rpath=self.txtRpath.text() No newline at end of file
291 var_Rpath=self.txtRpath.text()
289 var_Rpath_ppath=var_Rpath+"/ppath" #Ruta de los archivos a grabar No newline at end of file
292 var_Rpath_ppath=var_Rpath+"/ppath" #Ruta de los archivos a grabar
290 var_sublist=[] No newline at end of file
293 var_sublist=[]
291 for i in self.var_list[self.lstStartDay.currentIndex():self.lstStartDay.currentIndex() + self.lstStopDay.currentIndex()+1]: No newline at end of file
294 for i in self.var_list[self.lstStartDay.currentIndex():self.lstStartDay.currentIndex() + self.lstStopDay.currentIndex()+1]:
292 var_sublist.append(i) No newline at end of file
295 var_sublist.append(i)
293 if len(var_sublist) == 0: No newline at end of file
296 if len(var_sublist) == 0:
294 self.txtInfo.append("No existen archivos encontrados") No newline at end of file
297 self.txtInfo.append("No existen archivos encontrados")
295 return No newline at end of file
298 return
296 #self.txtInfo.append('elementos: '+str(len(var_sublist))) No newline at end of file
299 #self.txtInfo.append('elementos: '+str(len(var_sublist)))
297 No newline at end of file
300
298 No newline at end of file
301
299 var_Dtype=self.txtDtype.text() No newline at end of file
302 var_Dtype=self.txtDtype.text()
300 var_Dcapacity=float(self.txtDcapacity.text())*1024 #tamaΓ±o en KB No newline at end of file
303 var_Dcapacity=float(self.txtDcapacity.text())*1024 #tamaΓ±o en KB
301 No newline at end of file
304
302 #Busca los archivos con los parametros de busqueda No newline at end of file
305 #Busca los archivos con los parametros de busqueda
303 var_files_list=[] No newline at end of file
306 var_files_list=[]
304 for var_doy in var_sublist: No newline at end of file
307 for var_doy in var_sublist:
305 var_cmd="find " + str(var_Dpath) + " -name ?"+var_doy+"???."+ str(var_Dtype) + " |sort" No newline at end of file
308 var_cmd="find " + str(var_Dpath) + " -name ?"+var_doy+"???."+ str(var_Dtype) + " |sort"
306 var_output=commands.getstatusoutput(var_cmd)[1] No newline at end of file
309 var_output=commands.getstatusoutput(var_cmd)[1]
307 for var_file in var_output.split(): No newline at end of file
310 for var_file in var_output.split():
308 var_files_list.append(var_file) #Almacena cada archivo en la lista No newline at end of file
311 var_files_list.append(var_file) #Almacena cada archivo en la lista
309 No newline at end of file
312
310 # No newline at end of file
313 #
311 #Genera la lista de archivos .dat que contienen los archivos a grabar en cada DVD No newline at end of file
314 #Genera la lista de archivos .dat que contienen los archivos a grabar en cada DVD
312 #
315 #
No newline at end of file
316 var_n=0 #Numero del DVD actual No newline at end of file
313 var_n=0 #Se usa para contar el numero de archivos a grabar en el DVD No newline at end of file
314 var_tmp=0 #Se usa para acumulanr el tamaΓ±o de los archivos de la lista No newline at end of file
317 var_tmp=0 #Se usa para acumulanr el tamaΓ±o de los archivos de la lista
315 var_files_list_2=[] #Se usa para almacenar la lista de archivos agrbar en cada DVD No newline at end of file
318 var_files_list_2=[] #Se usa para almacenar la lista de archivos agrbar en cada DVD
316 No newline at end of file
319
317 for i in var_files_list: #Se asignan en i los archivos de la lista No newline at end of file
320 for i in var_files_list: #Se asignan en i los archivos de la lista
318 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
321 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
319 var_tmp += var_size_i #Se acumulan el tamaΓ±o de los archivos de la lista No newline at end of file
322 var_tmp += var_size_i #Se acumulan el tamaΓ±o de los archivos de la lista
320 No newline at end of file
323
321 #Si el tamaΓ±o acumulado es mayor que el de el DVD No newline at end of file
324 #Si el tamaΓ±o acumulado es mayor que el de el DVD
322 if var_tmp > var_Dcapacity: No newline at end of file
325 if var_tmp > var_Dcapacity:
323 var_tmp -= var_size_i #se quita el tamaΓ±o sumado para mostrar el tamaΓ±o real No newline at end of file
326 var_tmp -= var_size_i #se quita el tamaΓ±o sumado para mostrar el tamaΓ±o real
327 #se agregan los ceros necesarios
No newline at end of file
328 if len(str(var_n)) < 4:
No newline at end of file
329 var_n2=""
No newline at end of file
330 for k in range(0, 4-len(str(var_n))):
No newline at end of file
331 var_n2 = var_n2+"0" No newline at end of file
324 #se crea un archivo con numeral en el sufijo y extension .dat
332 #se crea un archivo con numeral en el sufijo y extension .dat
No newline at end of file
333 var_file = open(var_Rpath_ppath+"/"+self.txtElabel.text()+"_"+str(var_n2)+str(var_n)+".dat","w") No newline at end of file
325 var_file = open(var_Rpath_ppath+"/"+self.txtElabel.text()+"_"+str(var_n)+".dat","w") No newline at end of file
326 #Se aΓ±ade la lista de archivos a grabar en el DVD al archivo .dat No newline at end of file
334 #Se aΓ±ade la lista de archivos a grabar en el DVD al archivo .dat
327 for line in var_files_list_2:
335 for line in var_files_list_2:
No newline at end of file
336 var_tmp_path=(line.split(var_Dpath)[1]).split('/')
328 var_file.write(line.split(var_Dpath)[1]+'=') No newline at end of file
No newline at end of file
337 var_tmp_path2="/"
No newline at end of file
338 for l in range(0, len(var_tmp_path)-1):
No newline at end of file
339 var_tmp_path2=var_tmp_path2+str(var_tmp_path[l])+"/"
No newline at end of file
340 var_file.write(var_tmp_path2+'=') No newline at end of file
329 var_file.write(line+'\n') No newline at end of file
341 var_file.write(line+'\n')
330 var_file.close() No newline at end of file
342 var_file.close()
331 No newline at end of file
343
332 var_tmp = var_size_i #Se asigna a la variable el tamaΓ±o del archivo actual No newline at end of file
344 var_tmp = var_size_i #Se asigna a la variable el tamaΓ±o del archivo actual
333 var_files_list_2=[] #Se reinicia la lista No newline at end of file
345 var_files_list_2=[] #Se reinicia la lista
334 var_n += 1 No newline at end of file
346 var_n += 1
335 var_files_list_2.append(i) No newline at end of file
347 var_files_list_2.append(i)
336
348
No newline at end of file
349 #se agregan los ceros necesarios
337 var_file = open(var_Rpath_ppath+"/"+self.txtElabel.text()+"_"+str(var_n)+".dat","w") No newline at end of file
No newline at end of file
350 if len(str(var_n)) < 4:
No newline at end of file
351 var_n2=""
No newline at end of file
352 for k in range(0, 4-len(str(var_n))):
No newline at end of file
353 var_n2 = var_n2+"0"
No newline at end of file
354 #se crea un archivo con numeral en el sufijo y extension .dat
No newline at end of file
355 var_file = open(var_Rpath_ppath+"/"+self.txtElabel.text()+"_"+str(var_n2)+str(var_n)+".dat","w")
No newline at end of file
356 #Se aΓ±ade la lista de archivos a grabar en el DVD al archivo .dat No newline at end of file
338 for line in var_files_list_2:
357 for line in var_files_list_2:
No newline at end of file
358 var_tmp_path=(line.split(var_Dpath)[1]).split('/')
339 var_file.write(line.split(var_Dpath)[1]+'=') No newline at end of file
No newline at end of file
359 var_tmp_path2="/"
No newline at end of file
360 for l in range(0, len(var_tmp_path)-1):
No newline at end of file
361 var_tmp_path2=var_tmp_path2+str(var_tmp_path[l])+"/"
No newline at end of file
362 var_file.write(var_tmp_path2+'=') No newline at end of file
340 var_file.write(line+'\n') No newline at end of file
363 var_file.write(line+'\n')
341 var_file.close() No newline at end of file
364 var_file.close()
365
No newline at end of file
366 #
No newline at end of file
367 #Genera los archivos postscript
No newline at end of file
368 #
No newline at end of file
369 var_n_files = var_n
No newline at end of file
370 var_n = 0
No newline at end of file
371 for i in range(0, var_n_files+1):
No newline at end of file
372 print i
No newline at end of file
373 #se agregan los ceros necesarios
No newline at end of file
374 if len(str(var_n)) < 4:
No newline at end of file
375 var_n2=""
No newline at end of file
376 for k in range(0, 4-len(str(var_n))):
No newline at end of file
377 var_n2 = var_n2+"0"
No newline at end of file
378
No newline at end of file
379 #se abren los archivos .dat en modo lectura
No newline at end of file
380 var_file = open(var_Rpath_ppath+"/"+self.txtElabel.text()+"_"+str(var_n2)+str(var_n)+".dat","r")
No newline at end of file
381 lines=var_file.readlines()
No newline at end of file
382 print str(len(lines))
No newline at end of file
383 #Se crean los archivos .print con los cuales se crearan los archivos .ps
No newline at end of file
384
No newline at end of file
385 var_first_folder = lines[0].split('=')[0]
No newline at end of file
386 var_first_file = (lines[0].split('=')[1]).split('/')[-1][1:11]
No newline at end of file
387
No newline at end of file
388 for j in range(1, len(lines)-1):
No newline at end of file
389 var_tmp_folder = lines[j].split('=')[0]
No newline at end of file
390 var_tmp_file = (lines[j].split('=')[1]).split('/')[-1][1:11]
No newline at end of file
391
No newline at end of file
392 # Si el subfolder superior o la fecha del archivo cambia se genera una nueva linea
No newline at end of file
393 if (var_tmp_folder != var_first_folder) or (var_tmp_file[0:7] != var_first_file[0:7]):
No newline at end of file
394 if var_first_folder == '/':
No newline at end of file
395 var_folder = self.txtElabel.text()
No newline at end of file
396 else:
No newline at end of file
397 var_folder = var_first_folder.split('/')[1]
No newline at end of file
398
No newline at end of file
399 print var_first_folder[0:4]+" "+var_first_folder[4:7]+" "+var_folder +" "+\
No newline at end of file
400 var_first_folder[7:10]+" "+(lines[j-1].split('=')[1]).split('/')[-1][8:11]
No newline at end of file
401
No newline at end of file
402 var_n += 1
No newline at end of file
403 No newline at end of file
342 No newline at end of file
404
343 #Se deshabilita el Tab Parameters y el boton btnGbkp No newline at end of file
405 #Se deshabilita el Tab Parameters y el boton btnGbkp
344 self.tabParameters.setEnabled(False) No newline at end of file
406 self.tabParameters.setEnabled(False)
345 self.btnGbkp.setEnabled(False) No newline at end of file
407 self.btnGbkp.setEnabled(False)
346 No newline at end of file
408
347 No newline at end of file
409
348 @pyqtSignature("") No newline at end of file
410 @pyqtSignature("")
349 def on_btnStartburn_clicked(self): No newline at end of file
411 def on_btnStartburn_clicked(self):
350 """ No newline at end of file
412 """
351 Slot documentation goes here. No newline at end of file
413 Slot documentation goes here.
352 """ No newline at end of file
414 """
353 sys.stdout = self No newline at end of file
415 sys.stdout = self
354 #sys.stderr = self No newline at end of file
416 #sys.stderr = self
355 print "stdout_!!!" No newline at end of file
417 print "stdout_!!!"
356 var_Rpath=self.txtRpath.text() No newline at end of file
418 var_Rpath=self.txtRpath.text()
357 var_Rpath_ppath=var_Rpath+"/ppath" No newline at end of file
419 var_Rpath_ppath=var_Rpath+"/ppath"
358 var_Rpath_iso=var_Rpath+"/iso" No newline at end of file
420 var_Rpath_iso=var_Rpath+"/iso"
359 No newline at end of file
421
360 var_label=self.txtElabel.text() No newline at end of file
422 var_label=self.txtElabel.text()
361 No newline at end of file
423
362 file_iso=var_Rpath_iso+'/2.iso' No newline at end of file
424 file_iso=var_Rpath_iso+'/2.iso'
363 file_dat=var_Rpath_ppath+'/EW_DRIFTS_1.dat' No newline at end of file
425 file_dat=var_Rpath_ppath+'/EW_DRIFTS_1.dat'
364 No newline at end of file
426
365 var_cmd = 'genisoimage -hide-joliet-trans-tbl -joliet-long -r ' No newline at end of file
427 var_cmd = 'genisoimage -hide-joliet-trans-tbl -joliet-long -r '
366 var_cmd += ' -A '+var_label+' -V '+var_label No newline at end of file
428 var_cmd += ' -A '+var_label+' -V '+var_label
367 var_cmd += ' -graft-points -path-list '+ file_dat+' -o '+file_iso No newline at end of file
429 var_cmd += ' -graft-points -path-list '+ file_dat+' -o '+file_iso
368 self.txtInfo.append(var_cmd) No newline at end of file
430 self.txtInfo.append(var_cmd)
369 No newline at end of file
431
370 #var_output=commands.getstatusoutput(str(var_cmd))[1] No newline at end of file
432 #var_output=commands.getstatusoutput(str(var_cmd))[1]
371 #self.txtInfo.append(var_output) No newline at end of file
433 #self.txtInfo.append(var_output)
372 No newline at end of file
434
373 #os.system(str(var_cmd)) No newline at end of file
435 #os.system(str(var_cmd))
374 #p = subprocess.Popen(str('ls /'), shell=True, stdout=self) No newline at end of file
436 #p = subprocess.Popen(str('ls /'), shell=True, stdout=self)
375 #os.waitpid(p.pid, 0) No newline at end of file
437 #os.waitpid(p.pid, 0)
376 ####self.txtInfo.append(str(p.pid)) No newline at end of file
438 ####self.txtInfo.append(str(p.pid))
377 No newline at end of file
439
378 No newline at end of file
440
379 No newline at end of file
441
380 @pyqtSignature("") No newline at end of file
442 @pyqtSignature("")
381 def on_btnRestart_clicked(self): No newline at end of file
443 def on_btnRestart_clicked(self):
382 """ No newline at end of file
444 """
383 Slot documentation goes here. No newline at end of file
445 Slot documentation goes here.
384 """ No newline at end of file
446 """
385 self.tabParameters.setEnabled(True) No newline at end of file
447 self.tabParameters.setEnabled(True)
386 self.btnGbkp.setEnabled(True) No newline at end of file
448 self.btnGbkp.setEnabled(True)
387 No newline at end of file
449
388 @pyqtSignature("") No newline at end of file
450 @pyqtSignature("")
389 def on_btnTdevA_clicked(self): No newline at end of file
451 def on_btnTdevA_clicked(self):
390 var_dev = str(self.txtDeviceA.text()) No newline at end of file
452 var_dev = str(self.txtDeviceA.text())
391 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev No newline at end of file
453 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev
392 commands.getstatusoutput(var_cmd) No newline at end of file
454 commands.getstatusoutput(var_cmd)
393 No newline at end of file
455
394 @pyqtSignature("") No newline at end of file
456 @pyqtSignature("")
395 def on_btnTdevB_clicked(self): No newline at end of file
457 def on_btnTdevB_clicked(self):
396 var_dev = str(self.txtDeviceB.text()) No newline at end of file
458 var_dev = str(self.txtDeviceB.text())
397 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev No newline at end of file
459 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev
398 commands.getstatusoutput(var_cmd) No newline at end of file
460 commands.getstatusoutput(var_cmd)
399 No newline at end of file
461
400 @pyqtSignature("") No newline at end of file
462 @pyqtSignature("")
401 def on_btnTdevC_clicked(self): No newline at end of file
463 def on_btnTdevC_clicked(self):
402 var_dev = str(self.txtDeviceC.text()) No newline at end of file
464 var_dev = str(self.txtDeviceC.text())
403 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev No newline at end of file
465 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev
404 commands.getstatusoutput(var_cmd) No newline at end of file
466 commands.getstatusoutput(var_cmd)
405 No newline at end of file
467
406 @pyqtSignature("") No newline at end of file
468 @pyqtSignature("")
407 def on_btnTdevD_clicked(self): No newline at end of file
469 def on_btnTdevD_clicked(self):
408 var_dev = str(self.txtDeviceD.text()) No newline at end of file
470 var_dev = str(self.txtDeviceD.text())
409 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev No newline at end of file
471 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev
410 commands.getstatusoutput(var_cmd) No newline at end of file
472 commands.getstatusoutput(var_cmd)
General Comments 0
You need to be logged in to leave comments. Login now