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