##// END OF EJS Templates
- Generando el archivo para uso de las librerias del overjro....
jsalyrosas -
r201:202
parent child
Show More
1 NO CONTENT: new file 10644
NO CONTENT: new file 10644
@@ -0,0 +1,15
1 from django.db import models
2 from django.contrib.auth.models import User
3
4 class Revision(models.Model):
5
6 modified_by = models.ForeignKey(User, editable=False)
7 old_value = models.TextField(null=False, editable=False, verbose_name="Old Value")
8 new_value = models.TextField(null=False, editable=False, verbose_name="New Value")
9 date_create = models.DateTimeField(auto_now_add=True)
10
11 class Meta():
12 db_table = "sysweb_revision"
13
14 def __unicode__(self):
15 return u'Revision Number: %s' % self.pk No newline at end of file
@@ -0,0 +1,16
1 """
2 This file demonstrates writing tests using the unittest module. These will pass
3 when you run "manage.py test".
4
5 Replace this with more appropriate tests for your application.
6 """
7
8 from django.test import TestCase
9
10
11 class SimpleTest(TestCase):
12 def test_basic_addition(self):
13 """
14 Tests that 1 + 1 always equals 2.
15 """
16 self.assertEqual(1 + 1, 2)
@@ -0,0 +1,1
1 # Create your views here.
@@ -129,6 +129,7
129 # Uncomment the next line to enable admin documentation:
129 # Uncomment the next line to enable admin documentation:
130 # 'django.contrib.admindocs',
130 # 'django.contrib.admindocs',
131 'abscontrol',
131 'abscontrol',
132 'audit',
132 )
133 )
133
134
134 # A sample logging configuration. The only tangible logging
135 # A sample logging configuration. The only tangible logging
@@ -1,25 +1,15
1 from django.db import models
1 from django.db import models
2 from django.utils import timezone
3
2
4 class Profile(models.Model):
3 class Profile(models.Model):
5
4
6 name = models.CharField(max_length=250)
5 name = models.CharField(max_length=250)
7 date_create = models.DateTimeField()
6 date_create = models.DateTimeField(auto_now_add=True)
8 date_modified = models.DateTimeField(null=True)
7 date_modified = models.DateTimeField(auto_now=True)
9 hits = models.PositiveIntegerField()
8 hits = models.PositiveIntegerField(default=0)
10 state = models.PositiveSmallIntegerField()
9 state = models.PositiveSmallIntegerField(default=0)
11
10
12 class Meta:
11 class Meta:
13 db_table = "abs_profile_antenna"
12 db_table = "abs_profile_antenna"
14
15 def save(self):
16 if self.pk is None:
17 self.date_create = timezone.now()
18 self.hits = 0
19 self.state = 0
20 else:
21 self.date_modified = timezone.now()
22 super(Profile, self).save()
23
13
24 def __unicode__(self):
14 def __unicode__(self):
25 return u'%s' % self.name
15 return u'%s' % self.name
@@ -28,22 +18,13
28
18
29 profile = models.ForeignKey(Profile)
19 profile = models.ForeignKey(Profile)
30 value = models.PositiveIntegerField()
20 value = models.PositiveIntegerField()
31 date_create = models.DateTimeField()
21 date_create = models.DateTimeField(auto_now_add=True)
32 date_modified = models.DateTimeField(null=True)
22 date_modified = models.DateTimeField(auto_now=True)
33 hits = models.PositiveIntegerField()
23 hits = models.PositiveIntegerField(default=0)
34 state = models.PositiveSmallIntegerField()
24 state = models.PositiveSmallIntegerField(default=1)
35
25
36 class Meta:
26 class Meta:
37 db_table = "abs_pattern_antenna"
27 db_table = "abs_pattern_antenna"
38
39 def save(self, *args, **kwargs):
40 if not self.pk:
41 self.date_create = timezone.now()
42 self.hits = 0
43 self.state = 1
44 else:
45 self.date_modified = timezone.now()
46 super(Pattern, self).save(*args, **kwargs)
47
28
48 def __unicode__(self):
29 def __unicode__(self):
49 return u'%s' % self.value
30 return u'%s' % self.value
@@ -57,22 +38,13
57 rx = models.TextField(null=True)
38 rx = models.TextField(null=True)
58 ues = models.CharField(max_length=120, null=True)
39 ues = models.CharField(max_length=120, null=True)
59 only_rx = models.PositiveSmallIntegerField(default=0)
40 only_rx = models.PositiveSmallIntegerField(default=0)
60 date_create = models.DateTimeField()
41 date_create = models.DateTimeField(auto_now_add=True)
61 date_modified = models.DateTimeField(null=True)
42 date_modified = models.DateTimeField(auto_now=True)
62 hits = models.PositiveIntegerField()
43 hits = models.PositiveIntegerField(default=0)
63 state = models.PositiveSmallIntegerField()
44 state = models.PositiveSmallIntegerField(default=1)
64
45
65 class Meta:
46 class Meta:
66 db_table = "abs_antenna_up"
47 db_table = "abs_antenna_up"
67
68 def save(self, *args, **kwargs):
69 if self.pk is None:
70 self.date_create = timezone.now()
71 self.hits = 0
72 self.state = 1
73 else:
74 self.date_modified = timezone.now()
75 super(AntennaUp, self).save(*args, **kwargs)
76
48
77 def __unicode__(self):
49 def __unicode__(self):
78 return u'%s' % self.value
50 return u'%s' % self.value
@@ -86,21 +58,21
86 rx = models.TextField(null=True)
58 rx = models.TextField(null=True)
87 ues = models.CharField(max_length=120, null=True)
59 ues = models.CharField(max_length=120, null=True)
88 only_rx = models.PositiveSmallIntegerField(default=0)
60 only_rx = models.PositiveSmallIntegerField(default=0)
89 date_create = models.DateTimeField()
61 date_create = models.DateTimeField(auto_now_add=True)
90 date_modified = models.DateTimeField(null=True)
62 date_modified = models.DateTimeField(auto_now=True)
91 hits = models.PositiveIntegerField()
63 hits = models.PositiveIntegerField(default=0)
92 state = models.PositiveSmallIntegerField()
64 state = models.PositiveSmallIntegerField(default=1)
93
65
94 class Meta:
66 class Meta:
95 db_table = "abs_antenna_down"
67 db_table = "abs_antenna_down"
96
68
97 def save(self, *args, **kwargs):
69 def save(self, *args, **kwargs):
70 '''
98 if self.pk is None:
71 if self.pk is None:
99 self.date_create = timezone.now()
72 pass
100 self.hits = 0
101 self.state = 1
102 else:
73 else:
103 self.date_modified = timezone.now()
74 pass
75 '''
104 super(AntennaDown, self).save(*args, **kwargs)
76 super(AntennaDown, self).save(*args, **kwargs)
105
77
106 def __unicode__(self):
78 def __unicode__(self):
@@ -16,15 +16,6
16 from util.ABSData import ABSData
16 from util.ABSData import ABSData
17 from scripts.sendFile import sendFile
17 from scripts.sendFile import sendFile
18
18
19 txtAntenna = "[[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]," \
20 "[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]," \
21 "[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]," \
22 "[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]," \
23 "[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]," \
24 "[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]," \
25 "[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]," \
26 "[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]]"
27
28 arrayTx = [["0","0","0","0","0","0","0","0"],\
19 arrayTx = [["0","0","0","0","0","0","0","0"],\
29 ["0","0","0","0","0","0","0","0"],\
20 ["0","0","0","0","0","0","0","0"],\
30 ["0","0","0","0","0","0","0","0"],\
21 ["0","0","0","0","0","0","0","0"],\
@@ -124,8 +115,6
124 }, context_instance=RequestContext(request))
115 }, context_instance=RequestContext(request))
125
116
126 def view(request, profile_id):
117 def view(request, profile_id):
127 nextPattern = 0
128
129 if request.method == 'GET' and 'pattern' in request.GET:
118 if request.method == 'GET' and 'pattern' in request.GET:
130 pattern_value = request.GET["pattern"]
119 pattern_value = request.GET["pattern"]
131 else:
120 else:
@@ -139,16 +128,9
139 objAntennaUp = patternChoosen.antennaup_set.get()
128 objAntennaUp = patternChoosen.antennaup_set.get()
140 objAntennaDown = patternChoosen.antennadown_set.get()
129 objAntennaDown = patternChoosen.antennadown_set.get()
141
130
142 if len(lsPatterns) > 1:
143 if pattern_value == 1:
144 nextValuePattern = pattern_value + 1
145 nextPattern = objProfile.pattern_set.get(value=nextValuePattern)
146
147
148 return render_to_response('abscontrol/view.html', {'objProfile': objProfile, 'profile_list': profile_list,
131 return render_to_response('abscontrol/view.html', {'objProfile': objProfile, 'profile_list': profile_list,
149 'patternChoosen' : patternChoosen, 'lsPatterns' : lsPatterns,
132 'patternChoosen' : patternChoosen, 'lsPatterns' : lsPatterns,
150 'antennaUp' : objAntennaUp, 'antennaDown' : objAntennaDown,
133 'antennaUp' : objAntennaUp, 'antennaDown' : objAntennaDown,
151 'nextPattern' : nextPattern,
152 }, context_instance=RequestContext(request))
134 }, context_instance=RequestContext(request))
153
135
154 def edit(request, profile_id):
136 def edit(request, profile_id):
@@ -403,7 +385,10
403 ues_tx = objAntenna.ues
385 ues_tx = objAntenna.ues
404 only_rx = objAntenna.only_rx
386 only_rx = objAntenna.only_rx
405
387
406 return exp_name, phase_tx, gain_tx, gain_rx, ues_tx, only_rx
388 return render_to_response('abscontrol/error.html', {'exp_name': exp_name, 'phase_tx' : phase_tx,
389 'gain_tx' : gain_tx, 'gain_rx' : gain_rx,
390 'ues_tx' : ues_tx, 'only_rx' : only_rx,},
391 context_instance=RequestContext(request))
407
392
408 def export(request, profile_id):
393 def export(request, profile_id):
409 listPatterns = []
394 listPatterns = []
@@ -65,6 +65,11
65 /****************************************************************************************/
65 /****************************************************************************************/
66 /****** ESTILOS GENERALES *****************/
66 /****** ESTILOS GENERALES *****************/
67 /****************************************************************************************/
67 /****************************************************************************************/
68 a {
69 font-family: 'Droid Sans', sans-serif;
70 text-decoration: none;
71 color: #1494F6; }
72
68 .mnu {
73 .mnu {
69 height: 22px;
74 height: 22px;
70 border: 0px solid #c55 !important; }
75 border: 0px solid #c55 !important; }
@@ -92,6 +97,11
92 padding:10px;
97 padding:10px;
93 -webkit-box-flex:1;
98 -webkit-box-flex:1;
94 text-align:center; }*/
99 text-align:center; }*/
100
101 .link-disabled {
102 color: #666;
103 text-decoration: None;
104 cursor: default; }
95
105
96 /****************************************************************************************/
106 /****************************************************************************************/
97 /****** MENU DE NAVEGACION DE PERFILES *************/
107 /****** MENU DE NAVEGACION DE PERFILES *************/
@@ -452,8 +462,13
452
462
453 .overJRO a {
463 .overJRO a {
454 text-align: center;
464 text-align: center;
455 margin: 0 auto;
465 margin-left: 160px;
456 display: block; }
466 display: block; }
467
468 .activeOverJRO {
469 width: 60px;
470 padding: 0px 2px;
471 border-bottom: 1px solid #1494F6 !important; }
457
472
458 /****************************************************************************************/
473 /****************************************************************************************/
459 /****** MENU DE NAVEGACION DE PATRONES **********************************/
474 /****** MENU DE NAVEGACION DE PATRONES **********************************/
@@ -13,9 +13,10
13 profile_id = $('input[name=txtProfileId]').val();
13 profile_id = $('input[name=txtProfileId]').val();
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 field_value = $('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/"+field_value+"/?beam="+field_Id;
17 url = "/abscontrol/"+profile_id+"/"+pattern_id+"/overjro/"+antenna_id+"/?beam="+field_Id;
18 alert(url);
18 //alert(url);
19 location.href=url
19 });
20 });
20 $('#lnkSaveImport').click(function(){
21 $('#lnkSaveImport').click(function(){
21 $('#frmImportProfile').submit();
22 $('#frmImportProfile').submit();
@@ -85,7 +85,11
85 </div>
85 </div>
86 <div class="overJRO">
86 <div class="overJRO">
87 <img />
87 <img />
88 {% if antennaUp.value != None and antennaUp.tx != None and antennaUp.rx != None and antennaUp.ues != None %}
88 <a href="#" class="activeOverJRO" id="Up">Preview</a>
89 <a href="#" class="activeOverJRO" id="Up">Preview</a>
90 {% else %}
91 <a href="#" class="link-disabled">Preview</a>
92 {% endif %}
89 </div>
93 </div>
90 <div class="cleardivs"></div>
94 <div class="cleardivs"></div>
91
95
@@ -122,7 +126,11
122 </div>
126 </div>
123 <div class="overJRO">
127 <div class="overJRO">
124 <img />
128 <img />
129 {% if antennaDown.value != None and antennaDown.tx != None and antennaDown.rx != None and antennaDown.ues != None %}
125 <a href="#" class="activeOverJRO" id="Down">Preview</a>
130 <a href="#" class="activeOverJRO" id="Down">Preview</a>
131 {% else %}
132 <a href="#" class="link-disabled">Preview</a>
133 {% endif %}
126 </div>
134 </div>
127 <div class="cleardivs"></div>
135 <div class="cleardivs"></div>
128 </div>
136 </div>
@@ -1,67 +1,1
1 {% extends "abscontrol/view.html" %}
1 {% extends "abscontrol/view.html" %} No newline at end of file
2
3 {% block pattern %}
4 <div id="infoPattern">
5 {% if patternChoosen %}
6 <div id="navPatterns">
7 <nav class="" id="navPatternList">
8 <ul>
9 {% for element in lsPatterns %}
10 {% if patternChoosen.id == element.id %}
11 <li><a href="/abscontrol/{{ objProfile.id }}/view/{{ element.id }}" class="lnkPatternSelected">{{ element.value }}</a></li>
12 {% else %}
13 <li><a href="/abscontrol/{{ objProfile.id }}/view/{{ element.id }}" class="lnkPattern">{{ element.value }}</a></li>
14 {% endif %}
15 {% endfor %}
16 </ul>
17 </nav>
18 </div>
19 <div class="cleardivs"></div>
20 {% endif %}
21 <div id="antennaUp">
22 <fieldset class="flsAntenna">
23 <legend>UP</legend>
24 <div class="divAntenna">
25 <label for="lblAntenna">Antenna</label>
26 <p class="view-textAntenna">{{ antennaUp.value }}</p>
27 </div>
28 <div class="divTx">
29 <label for="lblTx">Tx</label>
30 <p>{{ antennaUp.tx }}</p>
31 </div>
32 <div class="divTx">
33 <label for="lblRx">Rx</label>
34 <p>{{ antennaUp.rx }}</p>
35 </div>
36 <div class="cleardivs"></div>
37 <div class="divUes">
38 <label for="lblUes">Ues:</label>
39 <label for="lblAntennaUpUes">{{ antennaUp.ues }}</label>
40 </div>
41 </fieldset>
42 </div>
43 <div id="antennaDown">
44 <fieldset class="flsAntenna">
45 <legend>DOWN</legend>
46 <div class="divAntenna">
47 <label for="lblAntenna">Antenna</label>
48 <p class="view-textAntenna">{{ antennaDown.value }}</p>
49 </div>
50 <div class="divTx">
51 <label for="lblTx">Tx</label>
52 <p>{{ antennaDown.tx }}</p>
53 </div>
54 <div class="divTx">
55 <label for="lblRx">Rx</label>
56 <p>{{ antennaDown.rx }}</p>
57 </div>
58 <div class="cleardivs"></div>
59 <div class="divUes">
60 <label for="lblUes">Ues:</label>
61 <label for="lblAntennaDownUes">{{ antennaDown.ues }}</label>
62 </div>
63 </fieldset>
64 </div>
65 <input type="hidden" name="profile_id" id="profile_id" value="{{ objProfile.id }}" />
66 </div>
67 {% endblock %}
@@ -6,6 +6,7
6 '''
6 '''
7
7
8 from datetime import datetime
8 from datetime import datetime
9 import os
9
10
10 class generate(object):
11 class generate(object):
11
12
@@ -14,44 +15,85
14 def __init__(self):
15 def __init__(self):
15 pass
16 pass
16
17
17 def setParameters(self, Profile, Pattern, Antenna):
18 def setParameters(self, path, exp_name, phase_tx, gain_tx, gain_rx, ues_tx, just_rx):
18 self.exp_name = Profile.name
19 self.path = path
19 self.pattern = Pattern.value
20 self.exp_name = exp_name
20 self.phase_tx = Antenna.value
21 self.phase_tx = phase_tx
21 self.gain_tx = Antenna.tx
22 self.gain_tx = gain_tx
22 self.gain_rx = Antenna.rx
23 self.gain_rx = gain_rx
23 self.ues_tx = Antenna.ues
24 self.ues_tx = ues_tx
25 self.just_rx = just_rx
24
26
25 def save(self, xmlFile, contentFile):
27 def save(self, xmlFile, contentFile):
26 f = open(xmlFile, 'w')
28 finalpath = os.path.join(self.path, xmlFile)
29 f = open(finalpath, 'w')
27 f.write(contentFile)
30 f.write(contentFile)
28 f.close()
31 f.close()
29
32
30 def setFilename(self):
33 def setFilename(self):
31 initialTime = datetime.today()
34 return datetime.today().strftime("%Y%m%d%H%M%S%f")
32 filename = str(initialTime)
33
34 filename = filename.replace("-","")
35 filename = filename.replace(":","")
36 filename = filename.replace(".","")
37 filename = filename.replace(" ","")
38
39 return filename
40
35
41 def setTextContent(self):
36 def setTextContent(self):
42 title = "title ='%s'" % self.exp_name
37 title = "title ='%s'" % self.exp_name
43 ues_tx = "ues_tx = %s" % self.ues_tx
38 ues_tx = "ues_tx = %s" % self.ues_tx
44 phase_tx = "phase_tx = "
39 phase_tx = "phase_tx = %s" % (self.convertValue(self.phase_tx))
45 lsValuesPhase = self.phase_tx.split(",")
40 gain_tx = "gain_tx = %s" % (self.convertValue(self.gain_tx))
46 for element in lsValuesPhase:
41 gain_rx = "gain_rx = %s" % (self.convertValue(self.gain_rx))
47 phase_tx += "%s,$\n" % element
42 just_rx = "just_rx = %d" % self.just_rx
48
43 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)
49 content = " %s\r\n\n %s\r\n\n %s" % (title, ues_tx, phase_tx)
50 return content
44 return content
51
45
52 def saveTextFile(self):
46 def setFileExtension(self):
53 filename = self.setFilename()
47 filename = self.setFilename()
54 txtFile = filename + "txt"
48 txtFile = filename + ".txt"
55 return txtFile
49 return txtFile
50
51 def convertValue(self, strAntenna):
52 value = ""
53 strAntenna = strAntenna.replace("],[","]+[")
54 lsAntenna = strAntenna.split("+")
55 for i,element in enumerate(lsAntenna):
56 if i == 0:
57 value += "%s,$\n" % element
58 else:
59 value += " %s,$\n" % element
56
60
61 return value
62
63
64 if __name__ == '__main__':
65 path = "/home/dev/workspace/abs_webapp_dev/media/"
66 exp_name = "MST-ISR 2009 (NS-Up)"
67 phase_tx = "[[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]," \
68 "[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]," \
69 "[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]," \
70 "[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]," \
71 "[1.0,1.0,1.0,1.0,1.5,1.5,1.5,1.5]," \
72 "[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]," \
73 "[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]," \
74 "[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]]"
75 gain_tx = "[[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 "[1,1,1,1,1,1,1,1]]"
83 gain_rx = "[[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 "[1,1,1,1,0,0,0,0]," \
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 "[0,0,0,0,1,1,1,1]]"
91 ues_tx = "[0.533333,0.00000,1.06667,0.00000]"
92 just_rx = 0
93 data = generate()
94 data.setParameters(path, exp_name, phase_tx, gain_tx, gain_rx, ues_tx, just_rx)
95 contentFile = data.setTextContent()
96 filename = data.setFileExtension()
97 data.save(filename, contentFile)
98
57 No newline at end of file
99
General Comments 0
You need to be logged in to leave comments. Login now