@@ -0,0 +1,12 | |||||
|
1 | <div class="overJRO" id="PictureOverJRODown"> | |||
|
2 | {% if img_down %} | |||
|
3 | <img src="/media/{{ img_down }}" /> | |||
|
4 | {% else %} | |||
|
5 | <img /> | |||
|
6 | {% endif %} | |||
|
7 | {% if antennaDown.value != None and antennaDown.tx != None and antennaDown.rx != None and antennaDown.ues != None %} | |||
|
8 | <a href="#" class="activeOverJRO" id="Down">Preview</a> | |||
|
9 | {% else %} | |||
|
10 | <a href="#" class="link-disabled">Preview</a> | |||
|
11 | {% endif %} | |||
|
12 | </div> No newline at end of file |
@@ -0,0 +1,12 | |||||
|
1 | <div class="overJRO" id="PictureOverJROUp"> | |||
|
2 | {% if img_up %} | |||
|
3 | <img src="/media/{{ img_up }}" /> | |||
|
4 | {% else %} | |||
|
5 | <img /> | |||
|
6 | {% endif %} | |||
|
7 | {% if antennaUp.value != None and antennaUp.tx != None and antennaUp.rx != None and antennaUp.ues != None %} | |||
|
8 | <a href="#" class="activeOverJRO" id="Up">Preview</a> | |||
|
9 | {% else %} | |||
|
10 | <a href="#" class="link-disabled">Preview</a> | |||
|
11 | {% endif %} | |||
|
12 | </div> No newline at end of file |
@@ -0,0 +1,19 | |||||
|
1 | ''' | |||
|
2 | Created on Jun 19, 2013 | |||
|
3 | ||||
|
4 | @author: Jose Antonio Sal y Rosas Celi | |||
|
5 | @contact: jose.salyrosas@jro.igp.gob.pe | |||
|
6 | ''' | |||
|
7 | ||||
|
8 | from datetime import datetime | |||
|
9 | ||||
|
10 | class Files(object): | |||
|
11 | ||||
|
12 | def setFilename(self): | |||
|
13 | return datetime.today().strftime("%Y%m%d%H%M%S%f") | |||
|
14 | ||||
|
15 | def save(self, filename, contentFile): | |||
|
16 | f = open(filename, 'a+') | |||
|
17 | f.write(contentFile) | |||
|
18 | f.close() | |||
|
19 | No newline at end of file |
@@ -0,0 +1,97 | |||||
|
1 | ''' | |||
|
2 | Created on May 8, 2013 | |||
|
3 | ||||
|
4 | @author: Jose Antonio Sal y Rosas Celi | |||
|
5 | @contact: jose.salyrosas@jro.igp.gob.pe | |||
|
6 | ''' | |||
|
7 | ||||
|
8 | import os | |||
|
9 | from Files import Files | |||
|
10 | ||||
|
11 | class OverJRO(Files): | |||
|
12 | ||||
|
13 | __scriptName = "OverJRO.py" | |||
|
14 | ||||
|
15 | def __init__(self): | |||
|
16 | pass | |||
|
17 | ||||
|
18 | def setParameters(self, path, exp_name, phase_tx, gain_tx, gain_rx, ues_tx, just_rx): | |||
|
19 | self.path = path | |||
|
20 | self.exp_name = exp_name | |||
|
21 | self.phase_tx = phase_tx | |||
|
22 | self.gain_tx = gain_tx | |||
|
23 | self.gain_rx = gain_rx | |||
|
24 | self.ues_tx = ues_tx | |||
|
25 | self.just_rx = just_rx | |||
|
26 | ||||
|
27 | def saveFile(self, contentFile): | |||
|
28 | filename = self.setFilename() | |||
|
29 | finalpath = os.path.join(self.path, self.setFileExtension(filename)) | |||
|
30 | self.save(finalpath, contentFile) | |||
|
31 | return finalpath | |||
|
32 | ||||
|
33 | def setTextContent(self): | |||
|
34 | title = "title ='%s'" % self.exp_name | |||
|
35 | ues_tx = "ues_tx = %s" % self.ues_tx | |||
|
36 | phase_tx = "phase_tx = %s" % (self.convertValue(self.phase_tx)) | |||
|
37 | gain_tx = "gain_tx = %s" % (self.convertValue(self.gain_tx)) | |||
|
38 | gain_rx = "gain_rx = %s" % (self.convertValue(self.gain_rx)) | |||
|
39 | just_rx = "just_rx = %d" % self.just_rx | |||
|
40 | content = " %s\r\n\n %s\r\n\n %s\r\n %s\r\n %s\r\n %s\r\n" % (title, ues_tx, phase_tx, gain_tx, gain_rx, just_rx) | |||
|
41 | return content | |||
|
42 | ||||
|
43 | def setFileExtension(self, filename): | |||
|
44 | txtFile = filename + ".txt" | |||
|
45 | ||||
|
46 | return txtFile | |||
|
47 | ||||
|
48 | def convertValue(self, strAntenna): | |||
|
49 | value = "" | |||
|
50 | strAntenna = strAntenna.replace("],[","]+[") | |||
|
51 | lsAntenna = strAntenna.split("+") | |||
|
52 | for i,element in enumerate(lsAntenna): | |||
|
53 | if i == 0: | |||
|
54 | value += "%s,$\n" % element | |||
|
55 | elif i == 7: | |||
|
56 | value += " %s\n" % element | |||
|
57 | else: | |||
|
58 | value += " %s,$\n" % element | |||
|
59 | ||||
|
60 | return value | |||
|
61 | ||||
|
62 | ||||
|
63 | if __name__ == '__main__': | |||
|
64 | path = "/home/dev/workspace/abs_webapp_dev/media/" | |||
|
65 | exp_name = "MST-ISR 2009 (NS-Up)" | |||
|
66 | phase_tx = "[[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]," \ | |||
|
67 | "[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]," \ | |||
|
68 | "[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]," \ | |||
|
69 | "[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]," \ | |||
|
70 | "[1.0,1.0,1.0,1.0,1.5,1.5,1.5,1.5]," \ | |||
|
71 | "[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]," \ | |||
|
72 | "[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]," \ | |||
|
73 | "[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]]" | |||
|
74 | gain_tx = "[[1,1,1,1,1,1,1,1]," \ | |||
|
75 | "[1,1,1,1,1,1,1,1]," \ | |||
|
76 | "[1,1,1,1,1,1,1,1]," \ | |||
|
77 | "[1,1,1,1,1,1,1,1]," \ | |||
|
78 | "[1,1,1,1,1,1,1,1]," \ | |||
|
79 | "[1,1,1,1,1,1,1,1]," \ | |||
|
80 | "[1,1,1,1,1,1,1,1]," \ | |||
|
81 | "[1,1,1,1,1,1,1,1]]" | |||
|
82 | gain_rx = "[[1,1,1,1,0,0,0,0]," \ | |||
|
83 | "[1,1,1,1,0,0,0,0]," \ | |||
|
84 | "[1,1,1,1,0,0,0,0]," \ | |||
|
85 | "[1,1,1,1,0,0,0,0]," \ | |||
|
86 | "[0,0,0,0,1,1,1,1]," \ | |||
|
87 | "[0,0,0,0,1,1,1,1]," \ | |||
|
88 | "[0,0,0,0,1,1,1,1]," \ | |||
|
89 | "[0,0,0,0,1,1,1,1]]" | |||
|
90 | ues_tx = "[0.533333,0.00000,1.06667,0.00000]" | |||
|
91 | just_rx = 0 | |||
|
92 | data = OverJRO() | |||
|
93 | data.setParameters(path, exp_name, phase_tx, gain_tx, gain_rx, ues_tx, just_rx) | |||
|
94 | contentFile = data.setTextContent() | |||
|
95 | data.saveFile(contentFile) | |||
|
96 | ||||
|
97 | No newline at end of file |
@@ -3,7 +3,9 | |||||
3 | import os, sys |
|
3 | import os, sys | |
4 | PROJECT_DIR = os.path.split(os.path.dirname(__file__))[0] |
|
4 | PROJECT_DIR = os.path.split(os.path.dirname(__file__))[0] | |
5 | API_DIR = "/home/dev/workspace/absclient" |
|
5 | API_DIR = "/home/dev/workspace/absclient" | |
|
6 | OVERJRO_DIR = "/home/dev/workspace/weboverjro" | |||
6 | sys.path.append(API_DIR) |
|
7 | sys.path.append(API_DIR) | |
|
8 | sys.path.append(OVERJRO_DIR) | |||
7 |
|
9 | |||
8 | DEBUG = True |
|
10 | DEBUG = True | |
9 | TEMPLATE_DEBUG = DEBUG |
|
11 | TEMPLATE_DEBUG = DEBUG |
@@ -20,7 +20,8 | |||||
20 | url(r'^import/$', 'importProfile'), |
|
20 | url(r'^import/$', 'importProfile'), | |
21 | url(r'^upload/$', 'upload'), |
|
21 | url(r'^upload/$', 'upload'), | |
22 | #url(r'^saveImport/$', 'saveImport'), |
|
22 | #url(r'^saveImport/$', 'saveImport'), | |
23 | url(r'^(?P<profile_id>\d+)/(?P<pattern_id>\d+)/overjro/(?P<antenna_id>\d+)/$', 'overJRO'), |
|
23 | url(r'^(?P<profile_id>\d+)/(?P<pattern_id>\d+)/overjroUp/(?P<antenna_id>\d+)/$', 'overJROUp'), | |
|
24 | url(r'^(?P<profile_id>\d+)/(?P<pattern_id>\d+)/overjroDown/(?P<antenna_id>\d+)/$', 'overJRODown'), | |||
24 | url(r'^export/(?P<profile_id>\d+)/$', 'export'), |
|
25 | url(r'^export/(?P<profile_id>\d+)/$', 'export'), | |
25 | url(r'^send/(?P<profile_id>\d+)/$', 'send'), |
|
26 | url(r'^send/(?P<profile_id>\d+)/$', 'send'), | |
26 | ) No newline at end of file |
|
27 | ) |
@@ -8,13 +8,15 | |||||
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 |
|
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 scripts.sendFile import sendFile |
|
18 | from scripts.sendFile import sendFile | |
|
19 | from overJroShow import overJroShow | |||
18 |
|
20 | |||
19 | arrayTx = [["0","0","0","0","0","0","0","0"],\ |
|
21 | arrayTx = [["0","0","0","0","0","0","0","0"],\ | |
20 | ["0","0","0","0","0","0","0","0"],\ |
|
22 | ["0","0","0","0","0","0","0","0"],\ | |
@@ -371,23 +373,42 | |||||
371 | return render_to_response('abscontrol/error.html', {'profile_list': profile_list, 'txtError' : txtError, }, |
|
373 | return render_to_response('abscontrol/error.html', {'profile_list': profile_list, 'txtError' : txtError, }, | |
372 | context_instance=RequestContext(request)) |
|
374 | context_instance=RequestContext(request)) | |
373 |
|
375 | |||
374 |
def overJRO( |
|
376 | def getImgfromOverJRO(profile_id, objAntenna): | |
375 | if request.GET["beam"] == "Up": |
|
|||
376 | objAntenna = AntennaUp.objects.get(pk=antenna_id) |
|
|||
377 | else: |
|
|||
378 | objAntenna = AntennaDown.objects.get(pk=antenna_id) |
|
|||
379 | objProfile = Profile.objects.get(pk=profile_id) |
|
377 | objProfile = Profile.objects.get(pk=profile_id) | |
380 | exp_name = objProfile.name |
|
378 | exp_name = objProfile.name | |
381 |
|
||||
382 | phase_tx = objAntenna.value |
|
379 | phase_tx = objAntenna.value | |
383 | gain_tx = objAntenna.tx |
|
380 | gain_tx = objAntenna.tx | |
384 | gain_rx = objAntenna.rx |
|
381 | gain_rx = objAntenna.rx | |
385 | ues_tx = objAntenna.ues |
|
382 | ues_tx = objAntenna.ues | |
386 |
|
|
383 | just_rx = objAntenna.only_rx | |
387 |
|
384 | |||
388 | return render_to_response('abscontrol/error.html', {'exp_name': exp_name, 'phase_tx' : phase_tx, |
|
385 | overjro = OverJRO() | |
389 | 'gain_tx' : gain_tx, 'gain_rx' : gain_rx, |
|
386 | overjro.setParameters(settings.MEDIA_ROOT, exp_name, phase_tx, gain_tx, gain_rx, ues_tx, just_rx) | |
390 | 'ues_tx' : ues_tx, 'only_rx' : only_rx,}, |
|
387 | contentFile = overjro.setTextContent() | |
|
388 | finalpath = overjro.saveFile(contentFile) | |||
|
389 | ||||
|
390 | currentdate = datetime.today() | |||
|
391 | newOverJro = overJroShow() | |||
|
392 | newOverJro.setInputParameters(settings.MEDIA_ROOT, currentdate, finalpath) | |||
|
393 | newOverJro.setupParameters() | |||
|
394 | newOverJro.execute() | |||
|
395 | path = newOverJro.getPlot() | |||
|
396 | ||||
|
397 | return path | |||
|
398 | ||||
|
399 | def overJROUp(request, profile_id, pattern_id, antenna_id): | |||
|
400 | objAntenna = AntennaUp.objects.get(pk=antenna_id) | |||
|
401 | img_path = getImgfromOverJRO(profile_id, objAntenna) | |||
|
402 | filename = os.path.split(img_path)[1] | |||
|
403 | return render_to_response('abscontrol/overjro_up.html', {'img_up': filename,'antennaUp': objAntenna,}, | |||
|
404 | context_instance=RequestContext(request)) | |||
|
405 | ||||
|
406 | ||||
|
407 | def overJRODown(request, profile_id, pattern_id, antenna_id): | |||
|
408 | objAntenna = AntennaDown.objects.get(pk=antenna_id) | |||
|
409 | img_path = getImgfromOverJRO(profile_id, objAntenna) | |||
|
410 | filename = os.path.split(img_path)[1] | |||
|
411 | return render_to_response('abscontrol/overjro_down.html', {'img_down': filename, 'antennaDown': objAntenna,}, | |||
391 | context_instance=RequestContext(request)) |
|
412 | context_instance=RequestContext(request)) | |
392 |
|
413 | |||
393 | def export(request, profile_id): |
|
414 | def export(request, profile_id): |
@@ -452,10 +452,10 | |||||
452 |
|
452 | |||
453 | .overJRO img { |
|
453 | .overJRO img { | |
454 | width: 400px; |
|
454 | width: 400px; | |
455 |
height: 2 |
|
455 | height: 250px; | |
456 | text-align: center; |
|
456 | text-align: center; | |
457 | vertical-align: middle; |
|
457 | vertical-align: middle; | |
458 |
margin: |
|
458 | margin: 10px 5px 5px 5px; | |
459 | display: block; |
|
459 | display: block; | |
460 | background: #fdfdfb; |
|
460 | background: #fdfdfb; | |
461 | border: 1px solid #eee !important; } |
|
461 | border: 1px solid #eee !important; } |
@@ -14,9 +14,17 | |||||
14 | pattern_id = $('input[name=txtPatternId]').val(); |
|
14 | pattern_id = $('input[name=txtPatternId]').val(); | |
15 | field_Id = $(this).attr("id"); |
|
15 | field_Id = $(this).attr("id"); | |
16 | antenna_id = $('input[name=txtAntenna'+field_Id+'Id]').val(); |
|
16 | antenna_id = $('input[name=txtAntenna'+field_Id+'Id]').val(); | |
17 |
url = "/abscontrol/"+profile_id+"/"+pattern_id+"/overjro/"+antenna_id+"/ |
|
17 | result_url = "/abscontrol/"+profile_id+"/"+pattern_id+"/overjro"+field_Id+"/"+antenna_id+"/"; | |
18 |
// |
|
18 | //location.href=url | |
19 | location.href=url |
|
19 | ///* | |
|
20 | $.ajax({ | |||
|
21 | url: result_url, | |||
|
22 | success: function(){ | |||
|
23 | //alert('overjro!'); | |||
|
24 | $('#PictureOverJRO'+field_Id).load(result_url); | |||
|
25 | }, | |||
|
26 | }); | |||
|
27 | ///* | |||
20 | }); |
|
28 | }); | |
21 | $('#lnkSaveImport').click(function(){ |
|
29 | $('#lnkSaveImport').click(function(){ | |
22 | $('#frmImportProfile').submit(); |
|
30 | $('#frmImportProfile').submit(); |
@@ -83,14 +83,7 | |||||
83 | </div> |
|
83 | </div> | |
84 | </fieldset> |
|
84 | </fieldset> | |
85 | </div> |
|
85 | </div> | |
86 | <div class="overJRO"> |
|
86 | {% include 'abscontrol/overjro_up.html' %} | |
87 | <img /> |
|
|||
88 | {% if antennaUp.value != None and antennaUp.tx != None and antennaUp.rx != None and antennaUp.ues != None %} |
|
|||
89 | <a href="#" class="activeOverJRO" id="Up">Preview</a> |
|
|||
90 | {% else %} |
|
|||
91 | <a href="#" class="link-disabled">Preview</a> |
|
|||
92 | {% endif %} |
|
|||
93 | </div> |
|
|||
94 | <div class="cleardivs"></div> |
|
87 | <div class="cleardivs"></div> | |
95 |
|
88 | |||
96 | <div id="antennaDown" class="antenna" style="float: left"> |
|
89 | <div id="antennaDown" class="antenna" style="float: left"> | |
@@ -124,14 +117,7 | |||||
124 |
|
117 | |||
125 | </fieldset> |
|
118 | </fieldset> | |
126 | </div> |
|
119 | </div> | |
127 | <div class="overJRO"> |
|
120 | {% include 'abscontrol/overjro_down.html' %} | |
128 | <img /> |
|
|||
129 | {% if antennaDown.value != None and antennaDown.tx != None and antennaDown.rx != None and antennaDown.ues != None %} |
|
|||
130 | <a href="#" class="activeOverJRO" id="Down">Preview</a> |
|
|||
131 | {% else %} |
|
|||
132 | <a href="#" class="link-disabled">Preview</a> |
|
|||
133 | {% endif %} |
|
|||
134 | </div> |
|
|||
135 | <div class="cleardivs"></div> |
|
121 | <div class="cleardivs"></div> | |
136 | </div> |
|
122 | </div> | |
137 | <input type="hidden" name="txtAntennaUpId" value="{{ antennaUp.id }}"/> |
|
123 | <input type="hidden" name="txtAntennaUpId" value="{{ antennaUp.id }}"/> |
1 | NO CONTENT: file was removed |
|
NO CONTENT: file was removed |
General Comments 0
You need to be logged in to leave comments.
Login now