##// END OF EJS Templates
Task #95...
Fiorella Quino -
r33:965cfced2db7
parent child
Show More
@@ -1,160 +1,162
1 1 from django.shortcuts import redirect, render, get_object_or_404
2 2 from django.contrib import messages
3 3
4 4 from apps.main.models import Experiment, Configuration
5 5 from .models import CGSConfiguration
6 6
7 7 from .forms import CGSConfigurationForm
8 8 from apps.main.views import sidebar
9 9
10 10 import requests
11 11 # Create your views here.
12 12
13 13 def cgs_conf(request, id_conf):
14 14
15 15 conf = get_object_or_404(CGSConfiguration, pk=id_conf)
16 16
17 17 ip=conf.device.ip_address
18 18 port=conf.device.port_address
19 19
20 20 kwargs = {}
21 21 kwargs['dev_conf'] = conf
22 22 kwargs['dev_conf_keys'] = ['experiment', 'device',
23 23 'freq0', 'freq1',
24 24 'freq2', 'freq3']
25 25
26 26 kwargs['title'] = 'CGS Configuration'
27 27 kwargs['suptitle'] = 'Details'
28 28
29 29 kwargs['button'] = 'Edit Configuration'
30 30
31 31 ###### SIDEBAR ######
32 32 kwargs.update(sidebar(conf))
33 33
34 34 return render(request, 'cgs_conf.html', kwargs)
35 35
36 36 def cgs_conf_edit(request, id_conf):
37 37
38 38 conf = get_object_or_404(CGSConfiguration, pk=id_conf)
39 39
40 40 if request.method=='GET':
41 41 form = CGSConfigurationForm(instance=conf)
42 42
43 43 if request.method=='POST':
44 44 form = CGSConfigurationForm(request.POST, instance=conf)
45 45
46 46 if form.is_valid():
47 47 conf = form.save(commit=False)
48 48
49 49 if conf.verify_frequencies():
50 50
51 51 conf.save()
52 52 return redirect('url_cgs_conf', id_conf=conf.id)
53 53
54 54 ##ERRORS
55 55
56 56 kwargs = {}
57 57 kwargs['id_dev'] = conf.id
58 58 kwargs['form'] = form
59 59 kwargs['title'] = 'Device Configuration'
60 60 kwargs['suptitle'] = 'Edit'
61 61 kwargs['button'] = 'Save'
62 62
63 63 ###### SIDEBAR ######
64 64 kwargs.update(sidebar(conf))
65 65
66 66 return render(request, 'cgs_conf_edit.html', kwargs)
67 67
68 68 def cgs_conf_write(request, id_conf):
69 69
70 70 conf = get_object_or_404(CGSConfiguration, pk=id_conf)
71 71 ip=conf.device.ip_address
72 72 port=conf.device.port_address
73 73
74 74 #Frequencies from form
75 75 f0 = conf.freq0
76 76 f1 = conf.freq1
77 77 f2 = conf.freq2
78 78 f3 = conf.freq3
79
79 headers = {'User-Agent': 'Mozilla/5.0'}
80 80 post_data = {"f0":f0, "f1":f1, "f2":f2, "f3":f3}
81 81 route = "http://" + str(ip) + ":" + str(port) + "/frequencies/"
82 r = requests.post(route, post_data)
82 session = requests.session()
83
84 r = session.post(route, data= post_data,headers= headers)
83 85 print r.url
84 86 print r.text
85 87
86 88
87 89
88 90
89 91 return redirect('url_cgs_conf', id_conf=conf.id)
90 92
91 93 def cgs_conf_read(request, id_conf):
92 94
93 95 conf = get_object_or_404(CGSConfiguration, pk=id_conf)
94 96 ip=conf.device.ip_address
95 97 port=conf.device.port_address
96 98
97 99 if request.method=='POST':
98 100 form = CGSConfigurationForm(request.POST, instance=conf)
99 101
100 102 if form.is_valid():
101 103 cgs_model = form.save(commit=False)
102 104
103 105 if cgs_model.verify_frequencies():
104 106
105 107 cgs_model.save()
106 108 return redirect('url_cgs_conf', id_conf=conf.id)
107 109
108 110 messages.error(request, "Parameters could not be saved. Invalid parameters")
109 111
110 112 data = {}
111 113
112 114
113 115 if request.method=='GET':
114 116 #r: response = icon, status
115 117 route = "http://" + str(ip) + ":" + str(port) + "/status/ad9548"
116 118 r = requests.get(route)
117 119 response = str(r.text)
118 120 response = response.split(";")
119 121 icon = response[0]
120 122 status = response[-1]
121 123 #"icon" could be: "alert" or "okay"
122 124 if "okay" in icon:
123 125 messages.success(request, status)
124 126 else:
125 127 messages.error(request, status)
126 128 #Get Frequencies
127 129 frequencies = requests.get('http://10.10.10.175:8080/frequencies/')
128 130 frequencies = frequencies.json()
129 131 frequencies = frequencies.get("Frecuencias")
130 132 f0 = frequencies.get("f0")
131 133 f1 = frequencies.get("f1")
132 134 f2 = frequencies.get("f2")
133 135 f3 = frequencies.get("f3")
134 136 print f0,f1,f2,f3
135 137
136 138 if not response:
137 139 messages.error(request, "Could not read parameters from Device")
138 140 return redirect('url_cgs_conf', id_conf=conf.id)
139 141
140 142 data = {'experiment' : conf.experiment.id,
141 143 'device' : conf.device.id,
142 144 'freq0' : f0,
143 145 'freq1' : f1,
144 146 'freq2' : f2,
145 147 'freq3' : f3,
146 148 }
147 149
148 form = CGSConfigurationForm(data)
150 form = CGSConfigurationForm(initial = data)
149 151
150 152 kwargs = {}
151 153 kwargs['id_dev'] = conf.id
152 154 kwargs['form'] = form
153 155 kwargs['title'] = 'Device Configuration'
154 156 kwargs['suptitle'] = 'Parameters read from device'
155 157 kwargs['button'] = 'Save'
156 158
157 159 ###### SIDEBAR ######
158 160 kwargs.update(sidebar(conf))
159 161
160 162 return render(request, 'cgs_conf_edit.html', kwargs) No newline at end of file
General Comments 0
You need to be logged in to leave comments. Login now