@@ -1,525 +1,531 | |||||
1 | from django.shortcuts import render_to_response, redirect |
|
1 | from django.shortcuts import render_to_response, redirect | |
2 | from django.http import HttpResponse |
|
2 | from django.http import HttpResponse | |
3 | from django.conf import settings |
|
3 | from django.conf import settings | |
4 | from django.utils.encoding import smart_str |
|
4 | from django.utils.encoding import smart_str | |
5 | from django.core.servers.basehttp import FileWrapper |
|
5 | from django.core.servers.basehttp import FileWrapper | |
6 | import mimetypes |
|
6 | import mimetypes | |
7 | from django.contrib.auth.decorators import login_required |
|
7 | from django.contrib.auth.decorators import login_required | |
8 | from django.template import RequestContext |
|
8 | from django.template import RequestContext | |
9 |
|
9 | |||
10 | from datetime import datetime |
|
10 | from datetime import datetime | |
11 | import os |
|
11 | import os | |
12 | from abscontrol.models import Profile, Pattern, AntennaDown, AntennaUp |
|
12 | from abscontrol.models import Profile, Pattern, AntennaDown, AntennaUp | |
13 |
|
13 | |||
14 | from util.readABSFile import readABSFile |
|
14 | from util.readABSFile import readABSFile | |
15 | from util.saveABSFile import saveABSFile |
|
15 | from util.saveABSFile import saveABSFile | |
16 | from util.ABSData import ABSData |
|
16 | from util.ABSData import ABSData | |
17 | from util.OverJRO import OverJRO |
|
17 | from util.OverJRO import OverJRO | |
18 | from scripts.sendFile import sendFile |
|
18 | from scripts.sendFile import sendFile | |
19 | from scripts.changeBeam import changeBeam |
|
19 | from scripts.changeBeam import changeBeam | |
20 | from overJroShow import overJroShow |
|
20 | from overJroShow import overJroShow | |
21 |
|
21 | |||
22 | arrayTx = [["0","0","0","0","0","0","0","0"],\ |
|
22 | arrayTx = [["0","0","0","0","0","0","0","0"],\ | |
23 | ["0","0","0","0","0","0","0","0"],\ |
|
23 | ["0","0","0","0","0","0","0","0"],\ | |
24 | ["0","0","0","0","0","0","0","0"],\ |
|
24 | ["0","0","0","0","0","0","0","0"],\ | |
25 | ["0","0","0","0","0","0","0","0"],\ |
|
25 | ["0","0","0","0","0","0","0","0"],\ | |
26 | ["0","0","0","0","0","0","0","0"],\ |
|
26 | ["0","0","0","0","0","0","0","0"],\ | |
27 | ["0","0","0","0","0","0","0","0"],\ |
|
27 | ["0","0","0","0","0","0","0","0"],\ | |
28 | ["0","0","0","0","0","0","0","0"],\ |
|
28 | ["0","0","0","0","0","0","0","0"],\ | |
29 | ["0","0","0","0","0","0","0","0"]] |
|
29 | ["0","0","0","0","0","0","0","0"]] | |
30 |
|
30 | |||
31 | arrayUes = ["0.533333","0.00000","1.06667","0.00000"] |
|
31 | arrayUes = ["0.533333","0.00000","1.06667","0.00000"] | |
32 |
|
32 | |||
33 | @login_required(login_url='/accounts/login/') |
|
33 | @login_required(login_url='/accounts/login/') | |
34 | def index(request): |
|
34 | def index(request): | |
35 | #latest_poll_list = profileAntenna.objects.all().order_by('-pub_date')[:5] |
|
35 | #latest_poll_list = profileAntenna.objects.all().order_by('-pub_date')[:5] | |
36 | profile_list = Profile.objects.filter(state=1) |
|
36 | profile_list = Profile.objects.filter(state=1) | |
37 | return render_to_response('abscontrol/index.html', {'profile_list': profile_list}, context_instance=RequestContext(request)) |
|
37 | return render_to_response('abscontrol/index.html', {'profile_list': profile_list}, context_instance=RequestContext(request)) | |
38 |
|
38 | |||
39 | def new(request): |
|
39 | def new(request): | |
40 | profile_list = Profile.objects.filter(state=1) |
|
40 | profile_list = Profile.objects.filter(state=1) | |
41 | txtProfile = datetime.now().strftime("%Y%m%d%H%M%S%f") |
|
41 | txtProfile = datetime.now().strftime("%Y%m%d%H%M%S%f") | |
42 | newprofile = Profile(name=txtProfile) |
|
42 | newprofile = Profile(name=txtProfile) | |
43 | newprofile.save() |
|
43 | newprofile.save() | |
44 |
|
44 | |||
45 | lsPatterns = None |
|
45 | lsPatterns = None | |
46 |
|
46 | |||
47 | return render_to_response('abscontrol/new.html', {'profile_list': profile_list, |
|
47 | return render_to_response('abscontrol/new.html', {'profile_list': profile_list, | |
48 | 'profile_name' : newprofile.name, |
|
48 | 'profile_name' : newprofile.name, | |
49 | 'profile_id' : newprofile.id, |
|
49 | 'profile_id' : newprofile.id, | |
50 | 'lsPatterns' : lsPatterns, |
|
50 | 'lsPatterns' : lsPatterns, | |
51 | 'range' : range(8), 'arrayUes' : arrayUes, |
|
51 | 'range' : range(8), 'arrayUes' : arrayUes, | |
52 | }, context_instance=RequestContext(request)) |
|
52 | }, context_instance=RequestContext(request)) | |
53 |
|
53 | |||
54 | def save(request): |
|
54 | def save(request): | |
55 |
|
55 | |||
56 | txtProfile = request.POST["txtProfile"] |
|
56 | txtProfile = request.POST["txtProfile"] | |
57 |
|
57 | |||
58 | txtAntennaUp = request.POST["txtAntennaUp"] |
|
58 | txtAntennaUp = request.POST["txtAntennaUp"] | |
59 | txtTxUp = request.POST["txtTxUp"] |
|
59 | txtTxUp = request.POST["txtTxUp"] | |
60 | txtRxUp = request.POST["txtRxUp"] |
|
60 | txtRxUp = request.POST["txtRxUp"] | |
61 | txtUesUp = request.POST["txtUesUp"] |
|
61 | txtUesUp = request.POST["txtUesUp"] | |
62 |
|
62 | |||
63 | txtAntennaDown = request.POST["txtAntennaDown"] |
|
63 | txtAntennaDown = request.POST["txtAntennaDown"] | |
64 | txtTxDown = request.POST["txtTxDown"] |
|
64 | txtTxDown = request.POST["txtTxDown"] | |
65 | txtRxDown = request.POST["txtRxDown"] |
|
65 | txtRxDown = request.POST["txtRxDown"] | |
66 | txtUesDown = request.POST["txtUesDown"] |
|
66 | txtUesDown = request.POST["txtUesDown"] | |
67 |
|
67 | |||
68 | newprofile = Profile(name=txtProfile) |
|
68 | newprofile = Profile(name=txtProfile) | |
69 | newprofile.save() |
|
69 | newprofile.save() | |
70 |
|
70 | |||
71 | newpattern = newprofile.pattern_set.create(value=1) |
|
71 | newpattern = newprofile.pattern_set.create(value=1) | |
72 | newpattern.antennaup_set.create(value=txtAntennaUp,tx=txtTxUp,rx=txtRxUp,ues=txtUesUp) |
|
72 | newpattern.antennaup_set.create(value=txtAntennaUp,tx=txtTxUp,rx=txtRxUp,ues=txtUesUp) | |
73 | newpattern.antennadown_set.create(value=txtAntennaDown,tx=txtTxDown,rx=txtRxDown,ues=txtUesDown) |
|
73 | newpattern.antennadown_set.create(value=txtAntennaDown,tx=txtTxDown,rx=txtRxDown,ues=txtUesDown) | |
74 |
|
74 | |||
75 | newurl = '/abscontrol/view/%d' % newprofile.id |
|
75 | newurl = '/abscontrol/view/%d' % newprofile.id | |
76 |
|
76 | |||
77 | return redirect(newurl) |
|
77 | return redirect(newurl) | |
78 |
|
78 | |||
79 | # Update temporal experiment |
|
79 | # Update temporal experiment | |
80 | def upgrade(request, profile_id): |
|
80 | def upgrade(request, profile_id): | |
81 | txtAntennaUp = request.POST["txtAntennaUp"] |
|
81 | txtAntennaUp = request.POST["txtAntennaUp"] | |
82 | txtTxUp = request.POST["txtTxUp"] |
|
82 | txtTxUp = request.POST["txtTxUp"] | |
83 | txtRxUp = request.POST["txtRxUp"] |
|
83 | txtRxUp = request.POST["txtRxUp"] | |
84 | txtUesUp = request.POST["txtUesUp"] |
|
84 | txtUesUp = request.POST["txtUesUp"] | |
85 |
|
85 | |||
86 | txtAntennaDown = request.POST["txtAntennaDown"] |
|
86 | txtAntennaDown = request.POST["txtAntennaDown"] | |
87 | txtTxDown = request.POST["txtTxDown"] |
|
87 | txtTxDown = request.POST["txtTxDown"] | |
88 | txtRxDown = request.POST["txtRxDown"] |
|
88 | txtRxDown = request.POST["txtRxDown"] | |
89 | txtUesDown = request.POST["txtUesDown"] |
|
89 | txtUesDown = request.POST["txtUesDown"] | |
90 |
|
90 | |||
91 | objProfile = Profile.objects.get(pk=profile_id) |
|
91 | objProfile = Profile.objects.get(pk=profile_id) | |
92 | newpattern = objProfile.pattern_set.create(value=1) |
|
92 | newpattern = objProfile.pattern_set.create(value=1) | |
93 | newpattern.antennaup_set.create(value=txtAntennaUp,tx=txtTxUp,rx=txtRxUp,ues=txtUesUp) |
|
93 | newpattern.antennaup_set.create(value=txtAntennaUp,tx=txtTxUp,rx=txtRxUp,ues=txtUesUp) | |
94 | newpattern.antennadown_set.create(value=txtAntennaDown,tx=txtTxDown,rx=txtRxDown,ues=txtUesDown) |
|
94 | newpattern.antennadown_set.create(value=txtAntennaDown,tx=txtTxDown,rx=txtRxDown,ues=txtUesDown) | |
95 |
|
95 | |||
96 | newurl = '/abscontrol/%d/edit/%d' % (int(profile_id), newpattern.id) |
|
96 | newurl = '/abscontrol/%d/edit/%d' % (int(profile_id), newpattern.id) | |
97 | return redirect(newurl) |
|
97 | return redirect(newurl) | |
98 |
|
98 | |||
99 | def update(request, profile_id): |
|
99 | def update(request, profile_id): | |
100 | txtProfile = request.POST["txtProfile"] |
|
100 | txtProfile = request.POST["txtProfile"] | |
101 |
|
101 | |||
102 | objProfile = Profile.objects.get(pk=profile_id) |
|
102 | objProfile = Profile.objects.get(pk=profile_id) | |
103 | objProfile.name = txtProfile |
|
103 | objProfile.name = txtProfile | |
104 | objProfile.state = 1 |
|
104 | objProfile.state = 1 | |
105 | objProfile.save() |
|
105 | objProfile.save() | |
106 |
|
106 | |||
107 | newurl = '/abscontrol/view/%d' % objProfile.id |
|
107 | newurl = '/abscontrol/view/%d' % objProfile.id | |
108 | return redirect(newurl) |
|
108 | return redirect(newurl) | |
109 |
|
109 | |||
110 | def changeName(request, profile_id): |
|
110 | def changeName(request, profile_id): | |
111 | profile_list = Profile.objects.filter(state=1) |
|
111 | profile_list = Profile.objects.filter(state=1) | |
112 | objProfile = Profile.objects.get(pk=profile_id) |
|
112 | objProfile = Profile.objects.get(pk=profile_id) | |
113 | lsPatterns = objProfile.pattern_set.all() |
|
113 | lsPatterns = objProfile.pattern_set.all() | |
114 |
|
114 | |||
115 | return render_to_response('abscontrol/changeName.html', {'profile_list': profile_list, |
|
115 | return render_to_response('abscontrol/changeName.html', {'profile_list': profile_list, | |
116 | 'objProfile': objProfile, |
|
116 | 'objProfile': objProfile, | |
117 | 'lsPatterns' : lsPatterns, |
|
117 | 'lsPatterns' : lsPatterns, | |
118 | }, context_instance=RequestContext(request)) |
|
118 | }, context_instance=RequestContext(request)) | |
119 |
|
119 | |||
120 | def view(request, profile_id): |
|
120 | def view(request, profile_id): | |
121 | if request.method == 'GET' and 'pattern' in request.GET: |
|
121 | if request.method == 'GET' and 'pattern' in request.GET: | |
122 | pattern_value = request.GET["pattern"] |
|
122 | pattern_value = request.GET["pattern"] | |
123 | else: |
|
123 | else: | |
124 | pattern_value = 1 |
|
124 | pattern_value = 1 | |
125 |
|
125 | |||
126 | profile_list = Profile.objects.filter(state=1) |
|
126 | profile_list = Profile.objects.filter(state=1) | |
127 | objProfile = Profile.objects.get(pk=profile_id) |
|
127 | objProfile = Profile.objects.get(pk=profile_id) | |
128 |
|
128 | |||
129 | lsPatterns = objProfile.pattern_set.all() |
|
129 | lsPatterns = objProfile.pattern_set.all() | |
130 | patternChoosen = objProfile.pattern_set.get(value=pattern_value) |
|
130 | patternChoosen = objProfile.pattern_set.get(value=pattern_value) | |
131 | objAntennaUp = patternChoosen.antennaup_set.get() |
|
131 | objAntennaUp = patternChoosen.antennaup_set.get() | |
132 | objAntennaDown = patternChoosen.antennadown_set.get() |
|
132 | objAntennaDown = patternChoosen.antennadown_set.get() | |
133 |
|
133 | |||
134 | return render_to_response('abscontrol/view.html', {'objProfile': objProfile, 'profile_list': profile_list, |
|
134 | return render_to_response('abscontrol/view.html', {'objProfile': objProfile, 'profile_list': profile_list, | |
135 | 'patternChoosen' : patternChoosen, 'lsPatterns' : lsPatterns, |
|
135 | 'patternChoosen' : patternChoosen, 'lsPatterns' : lsPatterns, | |
136 | 'antennaUp' : objAntennaUp, 'antennaDown' : objAntennaDown, |
|
136 | 'antennaUp' : objAntennaUp, 'antennaDown' : objAntennaDown, | |
137 | }, context_instance=RequestContext(request)) |
|
137 | }, context_instance=RequestContext(request)) | |
138 |
|
138 | |||
139 | def edit(request, profile_id): |
|
139 | def edit(request, profile_id): | |
140 | if request.method == 'GET' and 'pattern' in request.GET: |
|
140 | if request.method == 'GET' and 'pattern' in request.GET: | |
141 | pattern_value = request.GET["pattern"] |
|
141 | pattern_value = request.GET["pattern"] | |
142 | else: |
|
142 | else: | |
143 | pattern_value = 1 |
|
143 | pattern_value = 1 | |
144 |
|
144 | |||
145 | absData = ABSData() |
|
145 | absData = ABSData() | |
146 | profile_list = Profile.objects.filter(state=1) |
|
146 | profile_list = Profile.objects.filter(state=1) | |
147 | objProfile = Profile.objects.get(pk=profile_id) |
|
147 | objProfile = Profile.objects.get(pk=profile_id) | |
148 |
|
148 | |||
149 | lsPatterns = objProfile.pattern_set.all() |
|
149 | lsPatterns = objProfile.pattern_set.all() | |
150 | patternChoosen = objProfile.pattern_set.get(value=pattern_value) |
|
150 | patternChoosen = objProfile.pattern_set.get(value=pattern_value) | |
151 | objAntennaUp = patternChoosen.antennaup_set.get() |
|
151 | objAntennaUp = patternChoosen.antennaup_set.get() | |
152 | objAntennaDown = patternChoosen.antennadown_set.get() |
|
152 | objAntennaDown = patternChoosen.antennadown_set.get() | |
153 |
|
153 | |||
154 | arrayAntennaUp = absData.convertStringtoList2(objAntennaUp.value) |
|
154 | arrayAntennaUp = absData.convertStringtoList2(objAntennaUp.value) | |
155 | if objAntennaUp.tx != None: |
|
155 | if objAntennaUp.tx != None: | |
156 | arrayTxUp = absData.convertStringtoList2(objAntennaUp.tx) |
|
156 | arrayTxUp = absData.convertStringtoList2(objAntennaUp.tx) | |
157 | else: |
|
157 | else: | |
158 | arrayTxUp = arrayTx |
|
158 | arrayTxUp = arrayTx | |
159 | if objAntennaUp.rx != None: |
|
159 | if objAntennaUp.rx != None: | |
160 | arrayRxUp = absData.convertStringtoList2(objAntennaUp.rx) |
|
160 | arrayRxUp = absData.convertStringtoList2(objAntennaUp.rx) | |
161 | else: |
|
161 | else: | |
162 | arrayRxUp = arrayTx |
|
162 | arrayRxUp = arrayTx | |
163 | if objAntennaUp.ues != None: |
|
163 | if objAntennaUp.ues != None: | |
164 | arrayUesUp = absData.convertStringtoList1(objAntennaUp.ues) |
|
164 | arrayUesUp = absData.convertStringtoList1(objAntennaUp.ues) | |
165 | else: |
|
165 | else: | |
166 | arrayUesUp = arrayUes |
|
166 | arrayUesUp = arrayUes | |
167 |
|
167 | |||
168 | arrayAntennaDown = absData.convertStringtoList2(objAntennaDown.value) |
|
168 | arrayAntennaDown = absData.convertStringtoList2(objAntennaDown.value) | |
169 | if objAntennaDown.tx != None: |
|
169 | if objAntennaDown.tx != None: | |
170 | arrayTxDown = absData.convertStringtoList2(objAntennaDown.tx) |
|
170 | arrayTxDown = absData.convertStringtoList2(objAntennaDown.tx) | |
171 | else: |
|
171 | else: | |
172 | arrayTxDown = arrayTx |
|
172 | arrayTxDown = arrayTx | |
173 | if objAntennaDown.rx != None: |
|
173 | if objAntennaDown.rx != None: | |
174 | arrayRxDown = absData.convertStringtoList2(objAntennaDown.rx) |
|
174 | arrayRxDown = absData.convertStringtoList2(objAntennaDown.rx) | |
175 | else: |
|
175 | else: | |
176 | arrayRxDown = arrayTx |
|
176 | arrayRxDown = arrayTx | |
177 | if objAntennaDown.ues != None: |
|
177 | if objAntennaDown.ues != None: | |
178 | arrayUesDown = absData.convertStringtoList1(objAntennaDown.ues) |
|
178 | arrayUesDown = absData.convertStringtoList1(objAntennaDown.ues) | |
179 | else: |
|
179 | else: | |
180 | arrayUesDown = arrayUes |
|
180 | arrayUesDown = arrayUes | |
181 |
|
181 | |||
182 | return render_to_response('abscontrol/edit.html', {'objProfile': objProfile, 'profile_list': profile_list, |
|
182 | return render_to_response('abscontrol/edit.html', {'objProfile': objProfile, 'profile_list': profile_list, | |
183 | 'patternChoosen' : patternChoosen, 'lsPatterns' : lsPatterns, |
|
183 | 'patternChoosen' : patternChoosen, 'lsPatterns' : lsPatterns, | |
184 | 'antennaUp' : objAntennaUp, 'antennaDown' : objAntennaDown, |
|
184 | 'antennaUp' : objAntennaUp, 'antennaDown' : objAntennaDown, | |
185 | 'arrayAntennaUp' : arrayAntennaUp, 'arrayTxUp' : arrayTxUp, |
|
185 | 'arrayAntennaUp' : arrayAntennaUp, 'arrayTxUp' : arrayTxUp, | |
186 | 'arrayRxUp' : arrayRxUp, 'arrayRxDown' : arrayRxDown, |
|
186 | 'arrayRxUp' : arrayRxUp, 'arrayRxDown' : arrayRxDown, | |
187 | 'arrayAntennaDown' : arrayAntennaDown, 'arrayTxDown' : arrayTxDown, |
|
187 | 'arrayAntennaDown' : arrayAntennaDown, 'arrayTxDown' : arrayTxDown, | |
188 | 'arrayUesUp' : arrayUesUp, 'arrayUesDown' : arrayUesDown, |
|
188 | 'arrayUesUp' : arrayUesUp, 'arrayUesDown' : arrayUesDown, | |
189 | }, context_instance=RequestContext(request)) |
|
189 | }, context_instance=RequestContext(request)) | |
190 |
|
190 | |||
191 | def addPattern(request, profile_id): |
|
191 | def addPattern(request, profile_id): | |
192 | profile_list = Profile.objects.filter(state=1) |
|
192 | profile_list = Profile.objects.filter(state=1) | |
193 | objProfile = Profile.objects.get(pk=profile_id) |
|
193 | objProfile = Profile.objects.get(pk=profile_id) | |
194 |
|
194 | |||
195 | return render_to_response('abscontrol/addPattern.html', {'objProfile': objProfile, 'profile_list': profile_list, |
|
195 | return render_to_response('abscontrol/addPattern.html', {'objProfile': objProfile, 'profile_list': profile_list, | |
196 | 'range' : range(8), 'arrayUes' : arrayUes, |
|
196 | 'range' : range(8), 'arrayUes' : arrayUes, | |
197 | }, context_instance=RequestContext(request)) |
|
197 | }, context_instance=RequestContext(request)) | |
198 |
|
198 | |||
199 | def editPattern(request, profile_id, pattern_id): |
|
199 | def editPattern(request, profile_id, pattern_id): | |
200 | absData = ABSData() |
|
200 | absData = ABSData() | |
201 | profile_list = Profile.objects.filter(state=1) |
|
201 | profile_list = Profile.objects.filter(state=1) | |
202 | objProfile = Profile.objects.get(pk=profile_id) |
|
202 | objProfile = Profile.objects.get(pk=profile_id) | |
203 | lsPatterns = objProfile.pattern_set.all() |
|
203 | lsPatterns = objProfile.pattern_set.all() | |
204 | patternChoosen = Pattern.objects.get(pk=pattern_id) |
|
204 | patternChoosen = Pattern.objects.get(pk=pattern_id) | |
205 | objAntennaUp = patternChoosen.antennaup_set.get() |
|
205 | objAntennaUp = patternChoosen.antennaup_set.get() | |
206 | objAntennaDown = patternChoosen.antennadown_set.get() |
|
206 | objAntennaDown = patternChoosen.antennadown_set.get() | |
207 |
|
207 | |||
208 | arrayAntennaUp = absData.convertStringtoList2(objAntennaUp.value) |
|
208 | arrayAntennaUp = absData.convertStringtoList2(objAntennaUp.value) | |
209 | if objAntennaUp.tx != None: |
|
209 | if objAntennaUp.tx != None: | |
210 | arrayTxUp = absData.convertStringtoList2(objAntennaUp.tx) |
|
210 | arrayTxUp = absData.convertStringtoList2(objAntennaUp.tx) | |
211 | else: |
|
211 | else: | |
212 | arrayTxUp = arrayTx |
|
212 | arrayTxUp = arrayTx | |
213 | if objAntennaUp.rx != None: |
|
213 | if objAntennaUp.rx != None: | |
214 | arrayRxUp = absData.convertStringtoList2(objAntennaUp.rx) |
|
214 | arrayRxUp = absData.convertStringtoList2(objAntennaUp.rx) | |
215 | else: |
|
215 | else: | |
216 | arrayRxUp = arrayTx |
|
216 | arrayRxUp = arrayTx | |
217 | if objAntennaUp.ues != None: |
|
217 | if objAntennaUp.ues != None: | |
218 | arrayUesUp = absData.convertStringtoList1(objAntennaUp.ues) |
|
218 | arrayUesUp = absData.convertStringtoList1(objAntennaUp.ues) | |
219 | else: |
|
219 | else: | |
220 | arrayUesUp = arrayUes |
|
220 | arrayUesUp = arrayUes | |
221 |
|
221 | |||
222 | arrayAntennaDown = absData.convertStringtoList2(objAntennaDown.value) |
|
222 | arrayAntennaDown = absData.convertStringtoList2(objAntennaDown.value) | |
223 | if objAntennaDown.tx != None: |
|
223 | if objAntennaDown.tx != None: | |
224 | arrayTxDown = absData.convertStringtoList2(objAntennaDown.tx) |
|
224 | arrayTxDown = absData.convertStringtoList2(objAntennaDown.tx) | |
225 | else: |
|
225 | else: | |
226 | arrayTxDown = arrayTx |
|
226 | arrayTxDown = arrayTx | |
227 | if objAntennaDown.rx != None: |
|
227 | if objAntennaDown.rx != None: | |
228 | arrayRxDown = absData.convertStringtoList2(objAntennaDown.rx) |
|
228 | arrayRxDown = absData.convertStringtoList2(objAntennaDown.rx) | |
229 | else: |
|
229 | else: | |
230 | arrayRxDown = arrayTx |
|
230 | arrayRxDown = arrayTx | |
231 | if objAntennaDown.ues != None: |
|
231 | if objAntennaDown.ues != None: | |
232 | arrayUesDown = absData.convertStringtoList1(objAntennaDown.ues) |
|
232 | arrayUesDown = absData.convertStringtoList1(objAntennaDown.ues) | |
233 | else: |
|
233 | else: | |
234 | arrayUesDown = arrayUes |
|
234 | arrayUesDown = arrayUes | |
235 |
|
235 | |||
236 | return render_to_response('abscontrol/editPattern.html', {'objProfile': objProfile, 'profile_list': profile_list, |
|
236 | return render_to_response('abscontrol/editPattern.html', {'objProfile': objProfile, 'profile_list': profile_list, | |
237 | 'patternChoosen' : patternChoosen, 'lsPatterns' : lsPatterns, |
|
237 | 'patternChoosen' : patternChoosen, 'lsPatterns' : lsPatterns, | |
238 | 'antennaUp' : objAntennaUp, 'antennaDown' : objAntennaDown, |
|
238 | 'antennaUp' : objAntennaUp, 'antennaDown' : objAntennaDown, | |
239 | 'arrayAntennaUp' : arrayAntennaUp, 'arrayTxUp' : arrayTxUp, |
|
239 | 'arrayAntennaUp' : arrayAntennaUp, 'arrayTxUp' : arrayTxUp, | |
240 | 'arrayRxUp' : arrayRxUp, 'arrayRxDown' : arrayRxDown, |
|
240 | 'arrayRxUp' : arrayRxUp, 'arrayRxDown' : arrayRxDown, | |
241 | 'arrayAntennaDown' : arrayAntennaDown, 'arrayTxDown' : arrayTxDown, |
|
241 | 'arrayAntennaDown' : arrayAntennaDown, 'arrayTxDown' : arrayTxDown, | |
242 | 'arrayUesUp' : arrayUesUp, 'arrayUesDown' : arrayUesDown, |
|
242 | 'arrayUesUp' : arrayUesUp, 'arrayUesDown' : arrayUesDown, | |
243 | }, context_instance=RequestContext(request)) |
|
243 | }, context_instance=RequestContext(request)) | |
244 |
|
244 | |||
245 | def savePattern(request, profile_id): |
|
245 | def savePattern(request, profile_id): | |
246 | pattern_id = 0 |
|
246 | pattern_id = 0 | |
247 | method = "save" |
|
247 | method = "save" | |
248 |
|
248 | |||
249 | if 'pattern_id' in request.POST: |
|
249 | if 'pattern_id' in request.POST: | |
250 | pattern_id = request.POST["pattern_id"] |
|
250 | pattern_id = request.POST["pattern_id"] | |
251 | method = "update" |
|
251 | method = "update" | |
252 |
|
252 | |||
253 | maxValuePattern = 0 |
|
253 | maxValuePattern = 0 | |
254 | txtAntennaUp = request.POST["txtAntennaUp"] |
|
254 | txtAntennaUp = request.POST["txtAntennaUp"] | |
255 | txtTxUp = request.POST["txtTxUp"] |
|
255 | txtTxUp = request.POST["txtTxUp"] | |
256 | txtRxUp = request.POST["txtRxUp"] |
|
256 | txtRxUp = request.POST["txtRxUp"] | |
257 | txtUesUp = request.POST["txtUesUp"] |
|
257 | txtUesUp = request.POST["txtUesUp"] | |
258 |
|
258 | |||
259 | txtAntennaDown = request.POST["txtAntennaDown"] |
|
259 | txtAntennaDown = request.POST["txtAntennaDown"] | |
260 | txtTxDown = request.POST["txtTxDown"] |
|
260 | txtTxDown = request.POST["txtTxDown"] | |
261 | txtRxDown = request.POST["txtRxDown"] |
|
261 | txtRxDown = request.POST["txtRxDown"] | |
262 | txtUesDown = request.POST["txtUesDown"] |
|
262 | txtUesDown = request.POST["txtUesDown"] | |
263 |
|
263 | |||
264 | mode = request.POST["mode"] |
|
264 | mode = request.POST["mode"] | |
265 |
|
265 | |||
266 | if method == "save": |
|
266 | if method == "save": | |
267 | objProfile = Profile.objects.get(pk=profile_id) |
|
267 | objProfile = Profile.objects.get(pk=profile_id) | |
268 | lsPatterns = objProfile.pattern_set.all() |
|
268 | lsPatterns = objProfile.pattern_set.all() | |
269 | if len(lsPatterns) > 0: |
|
269 | if len(lsPatterns) > 0: | |
270 | for element in lsPatterns: |
|
270 | for element in lsPatterns: | |
271 | if element.value > maxValuePattern: |
|
271 | if element.value > maxValuePattern: | |
272 | maxPattern = element.value |
|
272 | maxPattern = element.value | |
273 | else: |
|
273 | else: | |
274 | maxPattern = 0 |
|
274 | maxPattern = 0 | |
275 |
|
275 | |||
276 | if maxPattern < 10 : |
|
276 | if maxPattern < 10 : | |
277 | newValuePattern = maxPattern + 1 |
|
277 | newValuePattern = maxPattern + 1 | |
278 | newpattern = objProfile.pattern_set.create(value=newValuePattern) |
|
278 | newpattern = objProfile.pattern_set.create(value=newValuePattern) | |
279 | newpattern.antennaup_set.create(value=txtAntennaUp,tx=txtTxUp,rx=txtRxUp,ues=txtUesUp) |
|
279 | newpattern.antennaup_set.create(value=txtAntennaUp,tx=txtTxUp,rx=txtRxUp,ues=txtUesUp) | |
280 | newpattern.antennadown_set.create(value=txtAntennaDown,tx=txtTxDown,rx=txtRxDown,ues=txtUesDown) |
|
280 | newpattern.antennadown_set.create(value=txtAntennaDown,tx=txtTxDown,rx=txtRxDown,ues=txtUesDown) | |
281 | error = 0 |
|
281 | error = 0 | |
282 | else: |
|
282 | else: | |
283 | error = 1 # Can not add more patterns |
|
283 | error = 1 # Can not add more patterns | |
284 |
|
284 | |||
285 | if mode == "e": |
|
285 | if mode == "e": | |
286 | newurl = '/abscontrol/%d/edit/%d' % (int(profile_id), newpattern.id) |
|
286 | newurl = '/abscontrol/%d/edit/%d' % (int(profile_id), newpattern.id) | |
287 | else: |
|
287 | else: | |
288 | newurl = '/abscontrol/%d/view/%d' % (int(profile_id), newpattern.id) |
|
288 | newurl = '/abscontrol/%d/view/%d' % (int(profile_id), newpattern.id) | |
289 | else: |
|
289 | else: | |
290 | txtAntennaUpId = request.POST["txtAntennaUpId"] |
|
290 | txtAntennaUpId = request.POST["txtAntennaUpId"] | |
291 | objAntennaUp = AntennaUp.objects.get(pk=txtAntennaUpId) |
|
291 | objAntennaUp = AntennaUp.objects.get(pk=txtAntennaUpId) | |
292 | objAntennaUp.value = txtAntennaUp |
|
292 | objAntennaUp.value = txtAntennaUp | |
293 | objAntennaUp.tx = txtTxUp |
|
293 | objAntennaUp.tx = txtTxUp | |
294 | objAntennaUp.rx = txtRxUp |
|
294 | objAntennaUp.rx = txtRxUp | |
295 | objAntennaUp.ues = txtUesUp |
|
295 | objAntennaUp.ues = txtUesUp | |
296 | objAntennaUp.save() |
|
296 | objAntennaUp.save() | |
297 |
|
297 | |||
298 | txtAntennaDownId = request.POST["txtAntennaDownId"] |
|
298 | txtAntennaDownId = request.POST["txtAntennaDownId"] | |
299 | objAntennaDown = AntennaDown.objects.get(pk=txtAntennaDownId) |
|
299 | objAntennaDown = AntennaDown.objects.get(pk=txtAntennaDownId) | |
300 | objAntennaDown.value = txtAntennaDown |
|
300 | objAntennaDown.value = txtAntennaDown | |
301 | objAntennaDown.tx = txtTxDown |
|
301 | objAntennaDown.tx = txtTxDown | |
302 | objAntennaDown.rx = txtRxDown |
|
302 | objAntennaDown.rx = txtRxDown | |
303 | objAntennaDown.ues = txtUesDown |
|
303 | objAntennaDown.ues = txtUesDown | |
304 | objAntennaDown.save() |
|
304 | objAntennaDown.save() | |
305 |
|
305 | |||
306 | if mode == "e": |
|
306 | if mode == "e": | |
307 | newurl = '/abscontrol/%d/edit/%d' % (int(profile_id), int(pattern_id)) |
|
307 | newurl = '/abscontrol/%d/edit/%d' % (int(profile_id), int(pattern_id)) | |
308 | else: |
|
308 | else: | |
309 | newurl = '/abscontrol/%d/view/%d' % (int(profile_id), int(pattern_id)) |
|
309 | newurl = '/abscontrol/%d/view/%d' % (int(profile_id), int(pattern_id)) | |
310 |
|
310 | |||
311 | return redirect(newurl) |
|
311 | return redirect(newurl) | |
312 |
|
312 | |||
313 | def viewPattern(request, profile_id, pattern_id): |
|
313 | def viewPattern(request, profile_id, pattern_id): | |
314 |
|
314 | |||
315 | profile_list = Profile.objects.filter(state=1) |
|
315 | profile_list = Profile.objects.filter(state=1) | |
316 | objProfile = Profile.objects.get(pk=profile_id) |
|
316 | objProfile = Profile.objects.get(pk=profile_id) | |
317 |
|
317 | |||
318 | patternChoosen = Pattern.objects.get(pk=pattern_id) |
|
318 | patternChoosen = Pattern.objects.get(pk=pattern_id) | |
319 |
|
319 | |||
320 | objAntennaUp = patternChoosen.antennaup_set.get() |
|
320 | objAntennaUp = patternChoosen.antennaup_set.get() | |
321 | objAntennaDown = patternChoosen.antennadown_set.get() |
|
321 | objAntennaDown = patternChoosen.antennadown_set.get() | |
322 |
|
322 | |||
323 | lsPatterns = objProfile.pattern_set.all() |
|
323 | lsPatterns = objProfile.pattern_set.all() | |
324 |
|
324 | |||
325 | return render_to_response('abscontrol/viewPattern.html', {'objProfile': objProfile, 'profile_list': profile_list, |
|
325 | return render_to_response('abscontrol/viewPattern.html', {'objProfile': objProfile, 'profile_list': profile_list, | |
326 | 'patternChoosen' : patternChoosen, 'lsPatterns' : lsPatterns, |
|
326 | 'patternChoosen' : patternChoosen, 'lsPatterns' : lsPatterns, | |
327 | 'antennaUp' : objAntennaUp, 'antennaDown' : objAntennaDown, |
|
327 | 'antennaUp' : objAntennaUp, 'antennaDown' : objAntennaDown, | |
328 | }, context_instance=RequestContext(request)) |
|
328 | }, context_instance=RequestContext(request)) | |
329 |
|
329 | |||
330 | def deletePattern(request, profile_id, pattern_id): |
|
330 | def deletePattern(request, profile_id, pattern_id): | |
331 | newurl = '/abscontrol/edit/%d' % int(profile_id) |
|
331 | newurl = '/abscontrol/edit/%d' % int(profile_id) | |
332 |
|
332 | |||
333 | return redirect(newurl) |
|
333 | return redirect(newurl) | |
334 |
|
334 | |||
335 | def importProfile(request): |
|
335 | def importProfile(request): | |
336 | profile_list = Profile.objects.filter(state=1) |
|
336 | profile_list = Profile.objects.filter(state=1) | |
337 | return render_to_response('abscontrol/import.html', {'profile_list': profile_list,}, context_instance=RequestContext(request)) |
|
337 | return render_to_response('abscontrol/import.html', {'profile_list': profile_list,}, context_instance=RequestContext(request)) | |
338 |
|
338 | |||
339 | def upload(request): |
|
339 | def upload(request): | |
340 | profile_list = Profile.objects.filter(state=1) |
|
340 | profile_list = Profile.objects.filter(state=1) | |
341 | if request.method == 'POST': |
|
341 | if request.method == 'POST': | |
342 | txtFilename = request.FILES['txtFile'] |
|
342 | txtFilename = request.FILES['txtFile'] | |
343 | if txtFilename: |
|
343 | if txtFilename: | |
344 | destination = open('/tmp/'+txtFilename.name, 'wb+') |
|
344 | destination = open('/tmp/'+txtFilename.name, 'wb+') | |
345 | for chunk in txtFilename.chunks(): |
|
345 | for chunk in txtFilename.chunks(): | |
346 | destination.write(chunk) |
|
346 | destination.write(chunk) | |
347 | destination.close() |
|
347 | destination.close() | |
348 | filename = '/tmp/'+txtFilename.name |
|
348 | filename = '/tmp/'+txtFilename.name | |
349 | readFile = readABSFile(filename) |
|
349 | readFile = readABSFile(filename) | |
350 | expName, num_patterns, patterns = readFile.getMetadata() |
|
350 | expName, num_patterns, patterns = readFile.getMetadata() | |
351 |
|
351 | |||
352 | if expName != "" and num_patterns > 0: |
|
352 | if expName != "" and num_patterns > 0: | |
353 | if len(Profile.objects.filter(name__iexact=expName)) > 0: |
|
353 | if len(Profile.objects.filter(name__iexact=expName)) > 0: | |
354 | txtError = "Experiment's name found." |
|
354 | txtError = "Experiment's name found." | |
355 | return render_to_response('abscontrol/error.html', {'profile_list': profile_list, |
|
355 | return render_to_response('abscontrol/error.html', {'profile_list': profile_list, | |
356 | 'txtError' : txtError, }, |
|
356 | 'txtError' : txtError, }, | |
357 | context_instance=RequestContext(request)) |
|
357 | context_instance=RequestContext(request)) | |
358 | else: |
|
358 | else: | |
359 | newprofile = Profile(name=expName) |
|
359 | newprofile = Profile(name=expName) | |
360 | newprofile.save() |
|
360 | newprofile.save() | |
361 | newprofile.state = 1 |
|
361 | newprofile.state = 1 | |
362 |
|
362 | |||
363 | for element in patterns: |
|
363 | for element in patterns: | |
364 | newpattern = newprofile.pattern_set.create(value=element["number"]) |
|
364 | newpattern = newprofile.pattern_set.create(value=element["number"]) | |
365 | newpattern.antennaup_set.create(value=element["up"]) |
|
365 | newpattern.antennaup_set.create(value=element["up"]) | |
366 | newpattern.antennadown_set.create(value=element["down"]) |
|
366 | newpattern.antennadown_set.create(value=element["down"]) | |
367 |
|
367 | |||
368 | newprofile.save() |
|
368 | newprofile.save() | |
369 |
|
369 | |||
370 | newurl = '/abscontrol/edit/%d' % int(newprofile.id) |
|
370 | newurl = '/abscontrol/edit/%d' % int(newprofile.id) | |
371 | return redirect(newurl) |
|
371 | return redirect(newurl) | |
372 | else: |
|
372 | else: | |
373 | txtError = "Experiment's name not found or the number of patterns is 0." |
|
373 | txtError = "Experiment's name not found or the number of patterns is 0." | |
374 | return render_to_response('abscontrol/error.html', {'profile_list': profile_list, |
|
374 | return render_to_response('abscontrol/error.html', {'profile_list': profile_list, | |
375 | 'txtError' : txtError, }, |
|
375 | 'txtError' : txtError, }, | |
376 | context_instance=RequestContext(request)) |
|
376 | context_instance=RequestContext(request)) | |
377 | else: |
|
377 | else: | |
378 | txtError = "No file." |
|
378 | txtError = "No file." | |
379 |
|
379 | |||
380 | return render_to_response('abscontrol/error.html', {'profile_list': profile_list, 'txtError' : txtError, }, |
|
380 | return render_to_response('abscontrol/error.html', {'profile_list': profile_list, 'txtError' : txtError, }, | |
381 | context_instance=RequestContext(request)) |
|
381 | context_instance=RequestContext(request)) | |
382 |
|
382 | |||
383 | def getImgfromOverJRO(profile_id, objAntenna): |
|
383 | def getImgfromOverJRO(profile_id, objAntenna): | |
384 | objProfile = Profile.objects.get(pk=profile_id) |
|
384 | objProfile = Profile.objects.get(pk=profile_id) | |
385 | exp_name = objProfile.name |
|
385 | exp_name = objProfile.name | |
386 | phase_tx = objAntenna.value |
|
386 | phase_tx = objAntenna.value | |
387 | gain_tx = objAntenna.tx |
|
387 | gain_tx = objAntenna.tx | |
388 | gain_rx = objAntenna.rx |
|
388 | gain_rx = objAntenna.rx | |
389 | ues_tx = objAntenna.ues |
|
389 | ues_tx = objAntenna.ues | |
390 | just_rx = objAntenna.only_rx |
|
390 | just_rx = objAntenna.only_rx | |
391 |
|
391 | |||
392 | overjro = OverJRO() |
|
392 | overjro = OverJRO() | |
393 | overjro.setParameters(settings.MEDIA_ROOT, exp_name, phase_tx, gain_tx, gain_rx, ues_tx, just_rx) |
|
393 | overjro.setParameters(settings.MEDIA_ROOT, exp_name, phase_tx, gain_tx, gain_rx, ues_tx, just_rx) | |
394 | contentFile = overjro.setTextContent() |
|
394 | contentFile = overjro.setTextContent() | |
395 | finalpath = overjro.saveFile(contentFile) |
|
395 | finalpath = overjro.saveFile(contentFile) | |
396 |
|
396 | |||
397 | currentdate = datetime.today() |
|
397 | currentdate = datetime.today() | |
398 | newOverJro = overJroShow() |
|
398 | newOverJro = overJroShow() | |
399 | newOverJro.setInputParameters(settings.MEDIA_ROOT, currentdate, finalpath) |
|
399 | newOverJro.setInputParameters(settings.MEDIA_ROOT, currentdate, finalpath) | |
400 | newOverJro.setupParameters() |
|
400 | newOverJro.setupParameters() | |
401 | newOverJro.execute() |
|
401 | newOverJro.execute() | |
402 | path = newOverJro.getPlot() |
|
402 | path = newOverJro.getPlot() | |
403 |
|
403 | |||
404 | return path |
|
404 | return path | |
405 |
|
405 | |||
406 | def overJROUp(request, profile_id, pattern_id, antenna_id): |
|
406 | def overJROUp(request, profile_id, pattern_id, antenna_id): | |
407 | objAntenna = AntennaUp.objects.get(pk=antenna_id) |
|
407 | objAntenna = AntennaUp.objects.get(pk=antenna_id) | |
408 | img_path = getImgfromOverJRO(profile_id, objAntenna) |
|
408 | img_path = getImgfromOverJRO(profile_id, objAntenna) | |
409 | filename = os.path.split(img_path)[1] |
|
409 | filename = os.path.split(img_path)[1] | |
410 | return render_to_response('abscontrol/overjro_up.html', {'img_up': filename,'antennaUp': objAntenna,}, |
|
410 | return render_to_response('abscontrol/overjro_up.html', {'img_up': filename,'antennaUp': objAntenna,}, | |
411 | context_instance=RequestContext(request)) |
|
411 | context_instance=RequestContext(request)) | |
412 |
|
412 | |||
413 | def overJRODown(request, profile_id, pattern_id, antenna_id): |
|
413 | def overJRODown(request, profile_id, pattern_id, antenna_id): | |
414 | objAntenna = AntennaDown.objects.get(pk=antenna_id) |
|
414 | objAntenna = AntennaDown.objects.get(pk=antenna_id) | |
415 | img_path = getImgfromOverJRO(profile_id, objAntenna) |
|
415 | img_path = getImgfromOverJRO(profile_id, objAntenna) | |
416 | filename = os.path.split(img_path)[1] |
|
416 | filename = os.path.split(img_path)[1] | |
417 | return render_to_response('abscontrol/overjro_down.html', {'img_down': filename, 'antennaDown': objAntenna,}, |
|
417 | return render_to_response('abscontrol/overjro_down.html', {'img_down': filename, 'antennaDown': objAntenna,}, | |
418 | context_instance=RequestContext(request)) |
|
418 | context_instance=RequestContext(request)) | |
419 |
|
419 | |||
420 | def export(request, profile_id): |
|
420 | def export(request, profile_id): | |
421 | listPatterns = [] |
|
421 | listPatterns = [] | |
422 | objProfile = Profile.objects.get(pk=profile_id) |
|
422 | objProfile = Profile.objects.get(pk=profile_id) | |
423 | exp_name = objProfile.name |
|
423 | exp_name = objProfile.name | |
424 | lsPatterns = objProfile.pattern_set.all() |
|
424 | lsPatterns = objProfile.pattern_set.all() | |
425 | for element in lsPatterns: |
|
425 | for element in lsPatterns: | |
426 | objAntennaUp = element.antennaup_set.get() |
|
426 | objAntennaUp = element.antennaup_set.get() | |
427 | objAntennaDown = element.antennadown_set.get() |
|
427 | objAntennaDown = element.antennadown_set.get() | |
428 | dicPatterns = {"number" : element.value, "up" : objAntennaUp.value, "down" : objAntennaDown.value} |
|
428 | dicPatterns = {"number" : element.value, "up" : objAntennaUp.value, "down" : objAntennaDown.value} | |
429 | listPatterns.append(dicPatterns) |
|
429 | listPatterns.append(dicPatterns) | |
430 |
|
430 | |||
431 | absFile = saveABSFile() |
|
431 | absFile = saveABSFile() | |
432 | absFile.setParameters(settings.MEDIA_ROOT, exp_name, listPatterns) |
|
432 | absFile.setParameters(settings.MEDIA_ROOT, exp_name, listPatterns) | |
433 | filename, filesize = absFile.save() |
|
433 | filename, filesize = absFile.save() | |
434 |
|
434 | |||
435 | wrapper = FileWrapper( open( filename, "r" ) ) |
|
435 | wrapper = FileWrapper( open( filename, "r" ) ) | |
436 | content_type = mimetypes.guess_type( filename )[0] |
|
436 | content_type = mimetypes.guess_type( filename )[0] | |
437 |
|
437 | |||
438 | response = HttpResponse(wrapper, content_type = content_type) |
|
438 | response = HttpResponse(wrapper, content_type = content_type) | |
439 | response['Content-Description'] = 'File Transfer' |
|
439 | response['Content-Description'] = 'File Transfer' | |
440 | response['Content-Disposition'] = 'attachment; filename=%s' % smart_str(filename) |
|
440 | response['Content-Disposition'] = 'attachment; filename=%s' % smart_str(filename) | |
441 | response['Content-Transfer-Encoding'] = 'binary' |
|
441 | response['Content-Transfer-Encoding'] = 'binary' | |
442 | response['Expires'] = '0' |
|
442 | response['Expires'] = '0' | |
443 | response['Cache-Control'] = 'must-revalidate' |
|
443 | response['Cache-Control'] = 'must-revalidate' | |
444 | response['Pragma'] = 'public' |
|
444 | response['Pragma'] = 'public' | |
445 | response['Content-Length'] = '%s' % str(filesize) |
|
445 | response['Content-Length'] = '%s' % str(filesize) | |
446 | response['X-Sendfile'] = '%s' % smart_str(filename) |
|
446 | response['X-Sendfile'] = '%s' % smart_str(filename) | |
447 |
|
447 | |||
448 | return response |
|
448 | return response | |
449 |
|
449 | |||
450 | def send(request, profile_id): |
|
450 | def send(request, profile_id): | |
451 | listPatterns = [] |
|
451 | listPatterns = [] | |
452 | objProfile = Profile.objects.get(pk=profile_id) |
|
452 | objProfile = Profile.objects.get(pk=profile_id) | |
453 | exp_name = objProfile.name |
|
453 | exp_name = objProfile.name | |
454 |
|
454 | |||
455 | lsPatterns = objProfile.pattern_set.all() |
|
455 | lsPatterns = objProfile.pattern_set.all() | |
456 | for element in lsPatterns: |
|
456 | for element in lsPatterns: | |
457 | objAntennaUp = element.antennaup_set.get() |
|
457 | objAntennaUp = element.antennaup_set.get() | |
458 | objAntennaDown = element.antennadown_set.get() |
|
458 | objAntennaDown = element.antennadown_set.get() | |
459 | dicPatterns = {"number" : element.value, "up" : objAntennaUp.value, "down" : objAntennaDown.value} |
|
459 | dicPatterns = {"number" : element.value, "up" : objAntennaUp.value, "down" : objAntennaDown.value} | |
460 | listPatterns.append(dicPatterns) |
|
460 | listPatterns.append(dicPatterns) | |
461 |
|
461 | |||
462 | absFile = saveABSFile() |
|
462 | absFile = saveABSFile() | |
463 | absFile.setParameters(settings.MEDIA_ROOT, exp_name, listPatterns) |
|
463 | absFile.setParameters(settings.MEDIA_ROOT, exp_name, listPatterns) | |
464 | filename, filesize = absFile.save() |
|
464 | filename, filesize = absFile.save() | |
465 |
|
465 | |||
466 | apiclient = sendFile() |
|
466 | apiclient = sendFile() | |
467 | apiclient.execute(filename) |
|
467 | apiclient.execute(filename) | |
468 | output = apiclient.getOutput() |
|
468 | output = apiclient.getOutput() | |
469 |
|
469 | |||
470 | if output == "OK": |
|
470 | if output == "OK": | |
471 | message = "File sent successfully." |
|
471 | message = "File sent successfully." | |
472 | lsProfilesActive = Profile.objects.filter(is_active=1) |
|
472 | lsProfilesActive = Profile.objects.filter(is_active=1) | |
473 | if len(lsProfilesActive) > 0: |
|
473 | if len(lsProfilesActive) > 0: | |
474 | objProfileActive = Profile.objects.get(is_active=1) |
|
474 | objProfileActive = Profile.objects.get(is_active=1) | |
475 | objProfileActive.is_active = 0 |
|
475 | objProfileActive.is_active = 0 | |
476 | objProfileActive.save() |
|
476 | objProfileActive.save() | |
477 |
|
477 | |||
|
478 | lsPatternsActive = Pattern.objects.filter(is_active=1) | |||
|
479 | if len(lsPatternsActive) > 0: | |||
|
480 | objPatternActive = Pattern.objects.get(is_active=1) | |||
|
481 | objPatternActive.is_active = 0 | |||
|
482 | objPatternActive.save() | |||
|
483 | ||||
478 | objProfile.hits += 1 |
|
484 | objProfile.hits += 1 | |
479 | objProfile.is_active = 1 |
|
485 | objProfile.is_active = 1 | |
480 | objProfile.save() |
|
486 | objProfile.save() | |
481 |
|
487 | |||
482 | pattern_value = 1 |
|
488 | pattern_value = 1 | |
483 | patternChoosen = objProfile.pattern_set.get(value=pattern_value) |
|
489 | patternChoosen = objProfile.pattern_set.get(value=pattern_value) | |
484 | patternChoosen.is_active = 1 |
|
490 | patternChoosen.is_active = 1 | |
485 | patternChoosen.save() |
|
491 | patternChoosen.save() | |
486 |
|
492 | |||
487 | newurl = '/abscontrol/view/%d' % int(profile_id) |
|
493 | newurl = '/abscontrol/view/%d' % int(profile_id) | |
488 |
|
494 | |||
489 | return redirect(newurl) |
|
495 | return redirect(newurl) | |
490 | else: |
|
496 | else: | |
491 | message = "Error sending file." |
|
497 | message = "Error sending file." | |
492 |
|
498 | |||
493 | profile_list = Profile.objects.all() |
|
499 | profile_list = Profile.objects.all() | |
494 |
|
500 | |||
495 | return render_to_response('abscontrol/sendFile.html', {'message': message, "profile_list" : profile_list, |
|
501 | return render_to_response('abscontrol/sendFile.html', {'message': message, "profile_list" : profile_list, | |
496 | 'objProfile': objProfile, |
|
502 | 'objProfile': objProfile, | |
497 | }, context_instance=RequestContext(request)) |
|
503 | }, context_instance=RequestContext(request)) | |
498 |
|
504 | |||
499 | def changePattern(request, profile_id, pattern_id): |
|
505 | def changePattern(request, profile_id, pattern_id): | |
500 | patternChoosen = Pattern.objects.get(id=pattern_id) |
|
506 | patternChoosen = Pattern.objects.get(id=pattern_id) | |
501 | beam = int(patternChoosen.value)-1 |
|
507 | beam = int(patternChoosen.value)-1 | |
502 |
|
508 | |||
503 | apiclient = changeBeam() |
|
509 | apiclient = changeBeam() | |
504 | apiclient.execute(str(beam)) |
|
510 | apiclient.execute(str(beam)) | |
505 | output = apiclient.getOutput() |
|
511 | output = apiclient.getOutput() | |
506 |
|
512 | |||
507 | if output == "OK": |
|
513 | if output == "OK": | |
508 | lsPatternsActive = Pattern.objects.filter(is_active=1) |
|
514 | lsPatternsActive = Pattern.objects.filter(is_active=1) | |
509 | if len(lsPatternsActive) > 0: |
|
515 | if len(lsPatternsActive) > 0: | |
510 | objPatternActive = Pattern.objects.get(is_active=1) |
|
516 | objPatternActive = Pattern.objects.get(is_active=1) | |
511 | objPatternActive.is_active = 0 |
|
517 | objPatternActive.is_active = 0 | |
512 | objPatternActive.save() |
|
518 | objPatternActive.save() | |
513 |
|
519 | |||
514 | patternChoosen.hits += 1 |
|
520 | patternChoosen.hits += 1 | |
515 | patternChoosen.is_active = 1 |
|
521 | patternChoosen.is_active = 1 | |
516 | patternChoosen.save() |
|
522 | patternChoosen.save() | |
517 |
|
523 | |||
518 | newurl = '/abscontrol/%d/view/%d/' % (int(profile_id), int(pattern_id)) |
|
524 | newurl = '/abscontrol/%d/view/%d/' % (int(profile_id), int(pattern_id)) | |
519 | return redirect(newurl) |
|
525 | return redirect(newurl) | |
520 | else: |
|
526 | else: | |
521 | message = "Error sending file." |
|
527 | message = "Error sending file." | |
522 | profile_list = Profile.objects.all() |
|
528 | profile_list = Profile.objects.all() | |
523 | return render_to_response('abscontrol/sendFile.html', {'message': message, "profile_list" : profile_list, |
|
529 | return render_to_response('abscontrol/sendFile.html', {'message': message, "profile_list" : profile_list, | |
524 | }, context_instance=RequestContext(request)) |
|
530 | }, context_instance=RequestContext(request)) | |
525 | No newline at end of file |
|
531 |
General Comments 0
You need to be logged in to leave comments.
Login now