##// END OF EJS Templates
- Implementando la funcion Import. (Desarrollo no concluido)
jsalyrosas -
r147:148
parent child
Show More
@@ -0,0 +1,16
1 {% extends "abscontrol/index.html" %}
2 {% block title %}ABS CONTROL:::::IMPORT PROFILE{% endblock %}
3
4 {% block content %}
5 <div id="content">
6 <form action="/abscontrol/saveImport/" method="post" enctype="multipart/form-data">
7 <div id="divPattern">
8 <div class="divUes">
9 <label for="lblFile">Choose File:</label>
10 <input type="file" name="txtFile" />
11 <input type="submit" name="btnSend" value="Upload" />
12 </div>
13 </div>
14 </form>
15 </div>
16 {% endblock %}
@@ -0,0 +1,17
1 {% extends "abscontrol/index.html" %}
2 {% block title %}ABS CONTROL:::::IMPORT PROFILE{% endblock %}
3
4 {% block content %}
5 <div id="content">
6 <div id="divPattern">
7 <div class="divUes">
8 <label for="lblFile">File:</label>
9 <label for="lblFilename">{{ txtFilename }}</label>
10 </div>
11 <div class="divUes">
12 <label for="lblFile">content:</label>
13 <p>{{ content }}</p>
14 </div>
15 </div>
16 </div>
17 {% endblock %}
1 NO CONTENT: new file 10644
@@ -0,0 +1,20
1 '''
2 Created on May 2, 2013
3
4 @author: Jose Antonio Sal y Rosas Celi
5 @contact: jose.salyrosas@jro.igp.gob.pe
6 '''
7
8 class readABSFile(object):
9
10 __scriptName = "readABSFile.py"
11
12 def __init__(self, filename):
13 self.fileName = filename
14
15 def readFile(self):
16 destination = open(self.fileName, 'wb+')
17
18 destination.close()
19
20 No newline at end of file
@@ -1,33 +1,42
1 1 from abscontrol.models import Profile, Pattern, AntennaUp, AntennaDown
2 2 from django.contrib import admin
3 3
4 4 class AntennaUpInline(admin.StackedInline):
5 5 model = AntennaUp
6 6
7 7 class AntennaDownInline(admin.StackedInline):
8 8 model = AntennaDown
9 9
10 10 class PatternAdmin(admin.ModelAdmin):
11 11 fieldsets = [
12 12 (None, {'fields': ['value']}),
13 13 ('Date information', {'fields': ['date_create', 'date_modified'], 'classes': ['collapse']}),
14 14 ]
15 15 inlines = [AntennaUpInline]
16 16 inlines = [AntennaDownInline]
17 17
18 18 class PatternInline(admin.StackedInline):
19 19 model = Pattern
20 readonly_fields = ['date_create', 'date_modified', 'hits']
21
22 fieldsets = [
23 (None, {'fields': ['value']}),
24 ('Date information', {'fields': [('date_create', 'date_modified')], 'classes': ['collapse']}),
25 ('State', {'fields': ['hits', 'state'], 'classes': ['collapse', 'wide', 'extrapretty']}),
26 ]
20 27 extra = 0
21 28
22 29 class ProfileAdmin(admin.ModelAdmin):
30 readonly_fields = ['date_create', 'date_modified','hits']
23 31 fieldsets = [
24 32 (None, {'fields': ['name']}),
25 ('Date information', {'fields': ['date_create', 'date_modified'], 'classes': ['collapse']}),
33 ('Date information', {'fields': [('date_create', 'date_modified')], 'classes': ['collapse']}),
34 ('State', {'fields': ['hits', 'state'], 'classes': ['collapse']}),
26 35 ]
27 36 inlines = [PatternInline]
28 37
29 38
30 39 admin.site.register(Profile, ProfileAdmin)
31 admin.site.register(Pattern, PatternAdmin)
32 admin.site.register(AntennaUp)
33 admin.site.register(AntennaDown) No newline at end of file
40 #admin.site.register(Pattern, PatternAdmin)
41 #admin.site.register(AntennaUp)
42 #admin.site.register(AntennaDown) No newline at end of file
@@ -1,17 +1,19
1 1 from django.conf.urls import patterns, url
2 2
3 3 urlpatterns = patterns('abscontrol.views',
4 4 url(r'^$', 'index'),
5 5 url(r'^new/$', 'new'),
6 6 url(r'^save/$', 'save'),
7 7 url(r'^view/(?P<profile_id>\d+)/$', 'view'),
8 8 url(r'^edit/(?P<profile_id>\d+)/$', 'edit'),
9 9 #url(r'^(?P<profile_id>\d+)/$', 'detail'),
10 10 url(r'^(?P<profile_id>\d+)/add/$', 'addPattern'),
11 11 url(r'^(?P<profile_id>\d+)/save/$', 'savePattern'),
12 12 url(r'^(?P<profile_id>\d+)/edit/(?P<pattern_id>\d+)/$', 'editPattern'),
13 13 url(r'^(?P<profile_id>\d+)/view/(?P<pattern_id>\d+)/$', 'viewPattern'),
14 14 url(r'^(?P<profile_id>\d+)/delete/(?P<pattern_id>\d+)/$', 'deletePattern'),
15 15 #url(r'^(?P<poll_id>\d+)/results/$', 'results'),
16 16 #url(r'^(?P<poll_id>\d+)/vote/$', 'vote'),
17 url(r'^import/$', 'importProfile'),
18 url(r'^saveImport/$', 'saveImport'),
17 19 ) No newline at end of file
@@ -1,237 +1,261
1 1 from django.shortcuts import render_to_response, redirect
2 2 from abscontrol.models import Profile, Pattern, AntennaDown, AntennaUp
3 3
4 4 txtAntenna = "[[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]," \
5 5 "[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]," \
6 6 "[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]," \
7 7 "[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]," \
8 8 "[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]," \
9 9 "[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]," \
10 10 "[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]," \
11 11 "[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]]"
12 12
13 13 txtTxUp = "[[1,1,1,1,1,1,1,1]," \
14 14 "[1,1,1,1,1,1,1,1]," \
15 15 "[1,1,1,1,1,1,1,1]," \
16 16 "[1,1,1,1,1,1,1,1]," \
17 17 "[1,1,1,1,1,1,1,1]," \
18 18 "[1,1,1,1,1,1,1,1]," \
19 19 "[1,1,1,1,1,1,1,1]," \
20 20 "[1,1,1,1,1,1,1,1]]"
21 21
22 22 txtTxDown = "[[1,1,1,1,0,0,0,0]," \
23 23 "[1,1,1,1,0,0,0,0]," \
24 24 "[1,1,1,1,0,0,0,0]," \
25 25 "[1,1,1,1,0,0,0,0]," \
26 26 "[0,0,0,0,1,1,1,1]," \
27 27 "[0,0,0,0,1,1,1,1]," \
28 28 "[0,0,0,0,1,1,1,1]," \
29 29 "[0,0,0,0,1,1,1,1]]"
30 30
31 31 txtRxUp = "[[0,0,0,0,1,1,1,1]," \
32 32 "[0,0,0,0,1,1,1,1]," \
33 33 "[0,0,0,0,1,1,1,1]," \
34 34 "[0,0,0,0,1,1,1,1]," \
35 35 "[1,1,1,1,1,1,1,1]," \
36 36 "[1,1,1,1,1,1,1,1]," \
37 37 "[1,1,1,1,1,1,1,1]," \
38 38 "[1,1,1,1,1,1,1,1]]"
39 39
40 40 txtRxDown = "[[1,1,1,1,1,1,1,1]," \
41 41 "[1,1,1,1,1,1,1,1]," \
42 42 "[1,1,1,1,1,1,1,1]," \
43 43 "[1,1,1,1,1,1,1,1]," \
44 44 "[1,1,1,1,1,1,1,1]," \
45 45 "[1,1,1,1,1,1,1,1]," \
46 46 "[1,1,1,1,1,1,1,1]," \
47 47 "[1,1,1,1,1,1,1,1]]"
48 48
49 49 txtUes = "[0.533333,0.00000,1.06667,0.00000]"
50 50
51 51 def index(request):
52 52 #latest_poll_list = profileAntenna.objects.all().order_by('-pub_date')[:5]
53 53 profile_list = Profile.objects.all()
54 54 return render_to_response('abscontrol/index.html', {'profile_list': profile_list})
55 55
56 56 def new(request):
57 57 profile_list = Profile.objects.all()
58 58
59 59 return render_to_response('abscontrol/new.html', {'profile_list': profile_list,
60 60 'txtAntenna' : txtAntenna,
61 61 'txtUes' : txtUes, 'txtTxUp' : txtTxUp,
62 62 'txtTxDown' : txtTxDown, 'txtRxUp' : txtRxUp,
63 63 'txtRxDown' : txtRxDown,
64 64 })
65 65
66 66 def save(request):
67 67
68 68 txtProfile = request.POST["txtProfile"]
69 69
70 70 txtAntennaUp = request.POST["txtAntennaUp"]
71 71 txtTxUp = request.POST["txtTxUp"]
72 72 txtRxUp = request.POST["txtRxUp"]
73 73 txtUesUp = request.POST["txtUesUp"]
74 74
75 75 txtAntennaDown = request.POST["txtAntennaDown"]
76 76 txtTxDown = request.POST["txtTxDown"]
77 77 txtRxDown = request.POST["txtRxDown"]
78 78 txtUesDown = request.POST["txtUesDown"]
79 79
80 80 newprofile = Profile(name=txtProfile)
81 81 newprofile.save()
82 82
83 83 newpattern = newprofile.pattern_set.create(value=1)
84 84 newpattern.antennaup_set.create(value=txtAntennaUp,tx=txtTxUp,rx=txtRxUp,ues=txtUesUp)
85 85 newpattern.antennadown_set.create(value=txtAntennaDown,tx=txtTxDown,rx=txtRxDown,ues=txtUesDown)
86 86
87 87 newurl = '/abscontrol/view/%d' % newprofile.id
88 88
89 89 return redirect(newurl)
90 90
91 91 def view(request, profile_id):
92 92 nextPattern = 0
93 93
94 94 if request.method == 'GET' and 'pattern' in request.GET:
95 95 pattern_value = request.GET["pattern"]
96 96 else:
97 97 pattern_value = 1
98 98
99 99 profile_list = Profile.objects.all()
100 100 objProfile = Profile.objects.get(pk=profile_id)
101 101
102 102 lsPatterns = objProfile.pattern_set.all()
103 103 patternChoosen = objProfile.pattern_set.get(value=pattern_value)
104 104 objAntennaUp = patternChoosen.antennaup_set.get()
105 105 objAntennaDown = patternChoosen.antennadown_set.get()
106 106
107 107 if len(lsPatterns) > 1:
108 108 if pattern_value == 1:
109 109 nextValuePattern = pattern_value + 1
110 110 nextPattern = objProfile.pattern_set.get(value=nextValuePattern)
111 111
112 112
113 113 return render_to_response('abscontrol/view.html', {'objProfile': objProfile, 'profile_list': profile_list,
114 114 'patternChoosen' : patternChoosen, 'lsPatterns' : lsPatterns,
115 115 'antennaUp' : objAntennaUp, 'antennaDown' : objAntennaDown,
116 116 'nextPattern' : nextPattern,
117 117 })
118 118
119 119 def edit(request, profile_id):
120 120 if request.method == 'GET' and 'pattern' in request.GET:
121 121 pattern_value = request.GET["pattern"]
122 122 else:
123 123 pattern_value = 1
124 124
125 125 profile_list = Profile.objects.all()
126 126 objProfile = Profile.objects.get(pk=profile_id)
127 127
128 128 lsPatterns = objProfile.pattern_set.all()
129 129 patternChoosen = objProfile.pattern_set.get(value=pattern_value)
130 130 objAntennaUp = patternChoosen.antennaup_set.get()
131 131 objAntennaDown = patternChoosen.antennadown_set.get()
132 132
133 133 return render_to_response('abscontrol/edit.html', {'objProfile': objProfile, 'profile_list': profile_list,
134 134 'patternChoosen' : patternChoosen, 'lsPatterns' : lsPatterns,
135 135 'antennaUp' : objAntennaUp, 'antennaDown' : objAntennaDown,
136 136 })
137 137
138 138 def addPattern(request, profile_id):
139 139 profile_list = Profile.objects.all()
140 140 objProfile = Profile.objects.get(pk=profile_id)
141 141
142 142 return render_to_response('abscontrol/addPattern.html', {'objProfile': objProfile, 'profile_list': profile_list,
143 143 'txtAntenna' : txtAntenna, 'txtUes' : txtUes,
144 144 'txtTxUp' : txtTxUp, 'txtTxDown' : txtTxDown,
145 145 'txtRxUp' : txtRxUp, 'txtRxDown' : txtRxDown,
146 146 })
147 147
148 148 def editPattern(request, profile_id, pattern_id):
149 149 profile_list = Profile.objects.all()
150 150 objProfile = Profile.objects.get(pk=profile_id)
151 151 lsPatterns = objProfile.pattern_set.all()
152 152 patternChoosen = Pattern.objects.get(pk=pattern_id)
153 153 objAntennaUp = patternChoosen.antennaup_set.get()
154 154 objAntennaDown = patternChoosen.antennadown_set.get()
155 155
156 156 return render_to_response('abscontrol/editPattern.html', {'objProfile': objProfile, 'profile_list': profile_list,
157 157 'patternChoosen' : patternChoosen, 'lsPatterns' : lsPatterns,
158 158 'antennaUp' : objAntennaUp, 'antennaDown' : objAntennaDown,
159 159 })
160 160
161 161 def savePattern(request, profile_id):
162 162 pattern_id = 0
163 163 method = "save"
164 164
165 165 if 'pattern_id' in request.POST:
166 166 pattern_id = request.POST["pattern_id"]
167 167 method = "update"
168 168
169 169 maxValuePattern = 0
170 170 txtAntennaUp = request.POST["txtAntennaUp"]
171 171 txtTxUp = request.POST["txtTxUp"]
172 172 txtRxUp = request.POST["txtRxUp"]
173 173 txtUesUp = request.POST["txtUesUp"]
174 174
175 175 txtAntennaDown = request.POST["txtAntennaDown"]
176 176 txtTxDown = request.POST["txtTxDown"]
177 177 txtRxDown = request.POST["txtRxDown"]
178 178 txtUesDown = request.POST["txtUesDown"]
179 179
180 180 if method == "save":
181 181 objProfile = Profile.objects.get(pk=profile_id)
182 182 lsPatterns = objProfile.pattern_set.all()
183 183 for element in lsPatterns:
184 184 if element.value > maxValuePattern:
185 185 maxPattern = element.value
186 186
187 187 if maxPattern < 10 :
188 188 newValuePattern = maxPattern + 1
189 189 newpattern = objProfile.pattern_set.create(value=newValuePattern)
190 190 newpattern.antennaup_set.create(value=txtAntennaUp,tx=txtTxUp,rx=txtRxUp,ues=txtUesUp)
191 191 newpattern.antennadown_set.create(value=txtAntennaDown,tx=txtTxDown,rx=txtRxDown,ues=txtUesDown)
192 192
193 193 newurl = '/abscontrol/%d/view/%d' % (int(profile_id), newpattern.id)
194 194 else:
195 195 newurl = '/abscontrol/edit/%d' % (int(profile_id))
196 196 else:
197 197 txtAntennaUpId = request.POST["txtAntennaUpId"]
198 198 objAntennaUp = AntennaUp.objects.get(pk=txtAntennaUpId)
199 199 objAntennaUp.value = txtAntennaUp
200 200 objAntennaUp.tx = txtTxUp
201 201 objAntennaUp.rx = txtRxUp
202 202 objAntennaUp.ues = txtUesUp
203 203 objAntennaUp.save()
204 204
205 205 txtAntennaDownId = request.POST["txtAntennaDownId"]
206 206 objAntennaDown = AntennaDown.objects.get(pk=txtAntennaDownId)
207 207 objAntennaDown.value = txtAntennaDown
208 208 objAntennaDown.tx = txtTxDown
209 209 objAntennaDown.rx = txtRxDown
210 210 objAntennaDown.ues = txtUesDown
211 211 objAntennaDown.save()
212 212
213 213 newurl = '/abscontrol/%d/view/%d' % (int(profile_id), int(pattern_id))
214 214
215 215 return redirect(newurl)
216 216
217 217 def viewPattern(request, profile_id, pattern_id):
218 218
219 219 profile_list = Profile.objects.all()
220 220 objProfile = Profile.objects.get(pk=profile_id)
221 221
222 222 patternChoosen = Pattern.objects.get(pk=pattern_id)
223 223
224 224 objAntennaUp = patternChoosen.antennaup_set.get()
225 225 objAntennaDown = patternChoosen.antennadown_set.get()
226 226
227 227 lsPatterns = objProfile.pattern_set.all()
228 228
229 229 return render_to_response('abscontrol/viewPattern.html', {'objProfile': objProfile, 'profile_list': profile_list,
230 230 'patternChoosen' : patternChoosen, 'lsPatterns' : lsPatterns,
231 231 'antennaUp' : objAntennaUp, 'antennaDown' : objAntennaDown,
232 232 })
233 233
234 234 def deletePattern(request, profile_id, pattern_id):
235 235 newurl = '/abscontrol/edit/%d' % int(profile_id)
236 236
237 237 return redirect(newurl)
238
239 def importProfile(request):
240
241 return render_to_response('abscontrol/import.html', { })
242
243 def saveImport(request):
244 if request.method == 'POST':
245 txtFilename = request.FILES['txtFile']
246 if txtFilename:
247 destination = open('/tmp/'+txtFilename.name, 'wb+')
248 for chunk in txtFilename.chunks():
249 destination.write(chunk)
250 destination.close()
251 f = open('/tmp/'+txtFilename.name, 'r')
252 content = f.read()
253 #for line in f:
254 # lsLine = line.readline()
255 f.close()
256 #content = lsLine
257 else:
258 txtFilename = "Error"
259 content = "Error"
260 return render_to_response('abscontrol/upload.html', {'txtFilename': txtFilename, 'content' : content})
261
@@ -1,60 +1,60
1 1 {% extends "base.html" %}
2 2
3 3 {% block title %}ABS CONTROL:::::{% endblock %}
4 4 {% block scripting %}
5 5 {% if profile_list %}
6 6 <script src="/static/static/js/profiles.js"></script>
7 7 {% endif %}
8 8 {% endblock %}
9 9 {% block content %}
10 10 <div id="content">
11 11 {% block leftcolumn %}
12 12 <div id="leftcolumn">
13 13 <div id="lsProfiles">
14 14 <div id="infoProfiles">
15 15 <label for="lblProfile" class="lblInfo">Profiles:</label><br />
16 16 {% if profile_list %}
17 17 <select name="lsProfiles" id="listProfiles">
18 18 <option value="-1">Choose ...</option>
19 19 {% for entry in profile_list %}
20 20 {% if objProfile %}
21 21 {% if objProfile.id == entry.id %}
22 22 <option value="{{ entry.id }}" selected>{{ entry.name }}</option>
23 23 {% else %}
24 24 <option value="{{ entry.id }}">{{ entry.name }}</option>
25 25 {% endif %}
26 26 {% else %}
27 27 <option value="{{ entry.id }}">{{ entry.name }}</option>
28 28 {% endif %}
29 29 {% endfor %}
30 30 </select>
31 31 {% else %}
32 32 <label for="lblMessage" class="lblInfo">No profiles.</label>
33 33 {% endif %}
34 34 </div>
35 35 </div>
36 36 {% block mnu_profile %}
37 37 <nav class="MnuVertical" id="mnuProfiles">
38 38 <ul>
39 39 <li><a href="/abscontrol/new">New</a></li>
40 40 {% if objProfile %}
41 41 <li><a href="/abscontrol/edit/{{ objProfile.id }}">Edit</a></li>
42 42 <li><a href="#">Save</a></li>
43 43 {% endif %}
44 44 <li><a href="#">Save as</a></li>
45 <li><a href="#">Import</a></li>
45 <li><a href="/abscontrol/import">Import</a></li>
46 46 <li><a href="#">Export</a></li>
47 47 <li><a href="#">Apply</a></li>
48 48 </ul>
49 49 </nav>
50 50 {% endblock %}
51 51 </div>
52 52 {% endblock %}
53 53 {% block maincolumn %}
54 54 <div id="maincolumn">
55 55
56 56 </div>
57 57 {% endblock %}
58 58 <div class="cleardivs"></div>
59 59 </div>
60 60 {% endblock %} No newline at end of file
General Comments 0
You need to be logged in to leave comments. Login now