irie 0.0.16__py3-none-any.whl → 0.0.18__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of irie might be problematic. Click here for more details.

Files changed (35) hide show
  1. irie/apps/events/views_events.py +4 -6
  2. irie/apps/inventory/filters.py +37 -5
  3. irie/apps/inventory/models.py +14 -1
  4. irie/apps/inventory/sitemaps.py +19 -0
  5. irie/apps/inventory/views.py +2 -7
  6. irie/apps/prediction/forms.py +4 -1
  7. irie/apps/prediction/predictor.py +5 -274
  8. irie/apps/prediction/runners/__init__.py +17 -15
  9. irie/apps/prediction/runners/hazus.py +271 -182
  10. irie/apps/prediction/runners/opensees/__init__.py +88 -11
  11. irie/apps/prediction/runners/ssid.py +168 -9
  12. irie/apps/prediction/urls.py +3 -4
  13. irie/apps/prediction/views.py +8 -85
  14. irie/apps/sitemaps.py +14 -0
  15. irie/apps/static/assets/content_images/brace/mdof.svg +1 -0
  16. irie/apps/static/assets/content_images/brace/opensees.jpg +0 -0
  17. irie/apps/static/assets/content_images/brace/sdof.svg +327 -0
  18. irie/apps/static/assets/content_images/brace/sees.png +0 -0
  19. irie/apps/templates/accounts/login.html +50 -55
  20. irie/apps/templates/inventory/asset-profile.html +0 -15
  21. irie/apps/templates/inventory/asset-table.html +38 -15
  22. irie/apps/templates/prediction/asset-predictors.html +38 -5
  23. irie/apps/templates/prediction/new-runner.html +1 -1
  24. irie/apps/templates/prediction/predictor-profile.html +11 -0
  25. irie/apps/templates/site/index.html +5 -7
  26. irie/init/__main__.py +8 -5
  27. irie/init/data/cgs-stations.json +2967 -0
  28. irie/init/getCGSData.py +9 -4
  29. irie/init/management/commands/init_assets.py +1 -1
  30. irie/init/management/commands/init_cesmd.py +25 -0
  31. {irie-0.0.16.dist-info → irie-0.0.18.dist-info}/METADATA +1 -1
  32. {irie-0.0.16.dist-info → irie-0.0.18.dist-info}/RECORD +35 -27
  33. {irie-0.0.16.dist-info → irie-0.0.18.dist-info}/WHEEL +0 -0
  34. {irie-0.0.16.dist-info → irie-0.0.18.dist-info}/entry_points.txt +0 -0
  35. {irie-0.0.16.dist-info → irie-0.0.18.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,327 @@
1
+ <?xml version="1.0" encoding="utf-8" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
3
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+ <svg xmlns:xlink="http://www.w3.org/1999/xlink" width="150.42pt" height="81.6744pt" viewBox="0 0 150.42 81.6744" xmlns="http://www.w3.org/2000/svg" version="1.1">
5
+ <metadata>
6
+ <rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
7
+ <cc:Work>
8
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
9
+ <dc:date>2023-07-16T17:33:49.347259</dc:date>
10
+ <dc:format>image/svg+xml</dc:format>
11
+ <dc:creator>
12
+ <cc:Agent>
13
+ <dc:title>Matplotlib v3.7.1, https://matplotlib.org/</dc:title>
14
+ </cc:Agent>
15
+ </dc:creator>
16
+ </cc:Work>
17
+ </rdf:RDF>
18
+ </metadata>
19
+ <defs>
20
+ <style type="text/css">*{stroke-linejoin: round; stroke-linecap: butt}</style>
21
+ </defs>
22
+ <g id="figure_1">
23
+ <g id="patch_1">
24
+ <path d="M 0 81.6744
25
+ L 150.42 81.6744
26
+ L 150.42 0
27
+ L 0 0
28
+ z
29
+ " style="fill: #ffffff"/>
30
+ </g>
31
+ <g id="axes_1">
32
+ <g id="line2d_1">
33
+ <path d="M 10.11 63.395914
34
+ L 13.381357 63.367877
35
+ L 14.035628 63.355277
36
+ L 14.689899 62.288926
37
+ L 15.344171 63.25377
38
+ L 15.998442 60.46898
39
+ L 16.652714 60.785134
40
+ L 17.306985 63.469937
41
+ L 18.615528 60.918228
42
+ L 19.269799 54.090405
43
+ L 19.92407 53.053722
44
+ L 20.578342 47.814055
45
+ L 21.232613 44.369105
46
+ L 21.886884 47.544219
47
+ L 22.541156 45.826432
48
+ L 23.195427 41.816822
49
+ L 23.849698 40.163888
50
+ L 24.50397 36.909202
51
+ L 25.158241 38.092576
52
+ L 25.812513 36.088252
53
+ L 26.466784 13.070232
54
+ L 27.121055 18.016967
55
+ L 27.775327 24.562078
56
+ L 28.429598 6.9852
57
+ L 29.083869 29.355449
58
+ L 29.738141 41.1055
59
+ L 30.392412 31.3286
60
+ L 31.046683 27.261937
61
+ L 31.700955 21.052009
62
+ L 32.355226 33.042496
63
+ L 33.009497 37.639908
64
+ L 33.663769 30.877299
65
+ L 34.31804 29.223023
66
+ L 34.972312 32.433356
67
+ L 35.626583 31.358033
68
+ L 36.280854 28.568681
69
+ L 36.935126 32.814111
70
+ L 37.589397 30.499253
71
+ L 38.243668 27.288816
72
+ L 38.89794 18.572285
73
+ L 39.552211 18.45466
74
+ L 40.206482 23.672193
75
+ L 40.860754 23.474757
76
+ L 41.515025 19.192092
77
+ L 42.169296 16.829792
78
+ L 42.823568 34.096647
79
+ L 43.477839 36.975536
80
+ L 44.132111 40.438402
81
+ L 44.786382 40.674461
82
+ L 45.440653 42.941557
83
+ L 46.094925 46.279058
84
+ L 46.749196 45.955618
85
+ L 47.403467 51.563792
86
+ L 48.057739 52.812422
87
+ L 48.71201 44.171968
88
+ L 49.366281 38.679718
89
+ L 50.020553 37.103248
90
+ L 50.674824 39.693323
91
+ L 51.329095 45.454847
92
+ L 51.983367 45.58346
93
+ L 52.637638 47.435027
94
+ L 53.946181 51.761517
95
+ L 54.600452 52.777055
96
+ L 55.908995 55.362871
97
+ L 57.871809 59.98528
98
+ L 58.52608 61.67294
99
+ L 59.180352 62.952108
100
+ L 59.834623 61.655622
101
+ L 60.488894 61.345237
102
+ L 61.143166 62.26672
103
+ L 61.797437 62.551272
104
+ L 62.451709 63.069105
105
+ L 63.760251 64.523133
106
+ L 66.377337 67.952136
107
+ L 67.031608 68.32319
108
+ L 67.685879 68.084147
109
+ L 68.340151 67.56194
110
+ L 68.994422 67.376972
111
+ L 69.648693 67.485761
112
+ L 70.302965 67.85467
113
+ L 70.957236 68.467162
114
+ L 71.611508 69.246363
115
+ L 72.265779 69.654477
116
+ L 74.228593 68.871636
117
+ L 75.537136 68.515597
118
+ L 77.49995 68.128004
119
+ L 78.808492 67.641346
120
+ L 80.117035 67.400584
121
+ L 81.425578 67.430157
122
+ L 82.734121 67.89418
123
+ L 84.042663 68.476834
124
+ L 84.696935 68.552289
125
+ L 85.351206 68.773878
126
+ L 87.31402 68.975379
127
+ L 88.622563 68.743474
128
+ L 90.585377 68.782947
129
+ L 93.202462 69.139127
130
+ L 95.165276 69.691468
131
+ L 95.819548 69.916171
132
+ L 98.436633 69.785876
133
+ L 99.745176 69.766929
134
+ L 101.053719 70.007813
135
+ L 101.70799 70.251082
136
+ L 102.362261 70.28755
137
+ L 105.633618 69.47465
138
+ L 108.250704 69.032528
139
+ L 110.867789 68.796165
140
+ L 113.484874 68.763752
141
+ L 116.756231 68.927249
142
+ L 118.719045 69.032225
143
+ L 121.336131 69.119869
144
+ L 125.261759 69.52604
145
+ L 127.878844 68.66129
146
+ L 129.187387 68.413147
147
+ L 130.49593 68.332148
148
+ L 131.804472 68.416197
149
+ L 133.113015 68.655124
150
+ L 140.31 70.646991
151
+ L 140.31 70.646991
152
+ " clip-path="url(#p47a7f35569)" style="fill: none; stroke: #000000; stroke-width: 0.2; stroke-linecap: square"/>
153
+ </g>
154
+ <g id="line2d_2">
155
+ <path d="M 10.11 63.39635
156
+ L 13.381357 63.386384
157
+ L 14.035628 63.359201
158
+ L 14.689899 62.920154
159
+ L 15.344171 63.318559
160
+ L 15.998442 61.081902
161
+ L 16.652714 61.312579
162
+ L 17.306985 63.279801
163
+ L 17.961256 63.025001
164
+ L 18.615528 60.81318
165
+ L 19.269799 55.961682
166
+ L 19.92407 54.241133
167
+ L 20.578342 50.232362
168
+ L 21.232613 48.372946
169
+ L 21.886884 49.010066
170
+ L 22.541156 48.402895
171
+ L 23.195427 44.998739
172
+ L 23.849698 42.301966
173
+ L 24.50397 42.662441
174
+ L 25.158241 45.49552
175
+ L 25.812513 45.386182
176
+ L 26.466784 39.852532
177
+ L 27.121055 40.632247
178
+ L 27.775327 35.302848
179
+ L 28.429598 32.695364
180
+ L 29.083869 42.860789
181
+ L 29.738141 49.965664
182
+ L 30.392412 47.148537
183
+ L 31.046683 37.102271
184
+ L 31.700955 33.967454
185
+ L 32.355226 38.685914
186
+ L 33.009497 41.366417
187
+ L 33.663769 39.891674
188
+ L 34.31804 39.724369
189
+ L 34.972312 41.221746
190
+ L 35.626583 42.168487
191
+ L 36.280854 42.181237
192
+ L 36.935126 40.896111
193
+ L 38.243668 37.938559
194
+ L 38.89794 36.86517
195
+ L 39.552211 34.372341
196
+ L 40.206482 32.970569
197
+ L 40.860754 33.553225
198
+ L 42.169296 38.456503
199
+ L 42.823568 40.093005
200
+ L 43.477839 42.486956
201
+ L 45.440653 51.431684
202
+ L 46.094925 54.530164
203
+ L 46.749196 56.668896
204
+ L 47.403467 57.617793
205
+ L 48.057739 55.592554
206
+ L 48.71201 52.258457
207
+ L 49.366281 50.164666
208
+ L 50.020553 50.157328
209
+ L 50.674824 52.49605
210
+ L 51.329095 54.048962
211
+ L 51.983367 54.23103
212
+ L 53.29191 57.318032
213
+ L 54.600452 58.674704
214
+ L 55.908995 60.570872
215
+ L 59.180352 65.96876
216
+ L 59.834623 66.598989
217
+ L 60.488894 66.734161
218
+ L 61.143166 66.531157
219
+ L 61.797437 66.52523
220
+ L 62.451709 66.683304
221
+ L 63.760251 67.334757
222
+ L 67.685879 69.692677
223
+ L 68.994422 70.148628
224
+ L 70.302965 70.336923
225
+ L 72.265779 70.257937
226
+ L 76.191407 69.984942
227
+ L 78.154221 70.120733
228
+ L 80.117035 70.487085
229
+ L 86.005477 72.043682
230
+ L 89.276834 71.689517
231
+ L 91.239648 71.734197
232
+ L 93.202462 72.095296
233
+ L 95.165276 72.576308
234
+ L 96.473819 72.655963
235
+ L 105.633618 71.166367
236
+ L 108.904975 70.904557
237
+ L 120.027588 70.590818
238
+ L 123.953216 70.895682
239
+ L 133.767286 72.07771
240
+ L 139.655729 73.274628
241
+ L 140.31 73.37664
242
+ L 140.31 73.37664
243
+ " clip-path="url(#p47a7f35569)" style="fill: none; stroke-dasharray: 0.74,0.32; stroke-dashoffset: 0; stroke: #ff0000; stroke-width: 0.2"/>
244
+ </g>
245
+ <g id="line2d_3">
246
+ <path d="M 10.11 63.397081
247
+ L 13.381357 63.400477
248
+ L 15.344171 63.362579
249
+ L 15.998442 61.898973
250
+ L 16.652714 62.061068
251
+ L 17.306985 63.22968
252
+ L 17.961256 63.183937
253
+ L 18.615528 60.910262
254
+ L 19.269799 57.560841
255
+ L 19.92407 55.5912
256
+ L 20.578342 52.826529
257
+ L 21.232613 51.580274
258
+ L 22.541156 50.59511
259
+ L 23.849698 47.267098
260
+ L 24.50397 48.190272
261
+ L 25.158241 51.143685
262
+ L 25.812513 51.283149
263
+ L 26.466784 49.507916
264
+ L 27.121055 49.188813
265
+ L 27.775327 47.137251
266
+ L 28.429598 47.607139
267
+ L 29.083869 51.007847
268
+ L 29.738141 51.711803
269
+ L 30.392412 50.156789
270
+ L 31.046683 47.154757
271
+ L 31.700955 46.017454
272
+ L 32.355226 47.606478
273
+ L 33.009497 48.792732
274
+ L 33.663769 47.981785
275
+ L 34.31804 47.78251
276
+ L 34.972312 48.659946
277
+ L 35.626583 50.168262
278
+ L 36.280854 50.340372
279
+ L 36.935126 49.37834
280
+ L 38.89794 44.847834
281
+ L 39.552211 44.24897
282
+ L 40.206482 44.110445
283
+ L 40.860754 45.367972
284
+ L 42.169296 46.430771
285
+ L 42.823568 47.663056
286
+ L 43.477839 49.346924
287
+ L 44.786382 53.645806
288
+ L 46.749196 60.445683
289
+ L 47.403467 61.078869
290
+ L 48.057739 60.658342
291
+ L 48.71201 60.074161
292
+ L 49.366281 60.130089
293
+ L 50.020553 60.839549
294
+ L 50.674824 62.497096
295
+ L 51.329095 62.444537
296
+ L 51.983367 62.694233
297
+ L 52.637638 63.667444
298
+ L 53.29191 64.115461
299
+ L 53.946181 64.367637
300
+ L 55.254724 65.277019
301
+ L 57.217538 67.22937
302
+ L 58.52608 68.6787
303
+ L 60.488894 69.993558
304
+ L 63.760251 70.060988
305
+ L 70.302965 71.277281
306
+ L 80.771307 72.299184
307
+ L 88.622563 73.423107
308
+ L 91.89392 73.59674
309
+ L 95.819548 73.560969
310
+ L 104.325075 73.213952
311
+ L 110.213518 72.594405
312
+ L 114.793417 72.374358
313
+ L 119.373317 72.438746
314
+ L 123.298945 72.702993
315
+ L 129.841658 73.438537
316
+ L 140.31 74.6892
317
+ L 140.31 74.6892
318
+ " clip-path="url(#p47a7f35569)" style="fill: none; stroke-dasharray: 0.2,0.33; stroke-dashoffset: 0; stroke: #0000ff; stroke-width: 0.2"/>
319
+ </g>
320
+ </g>
321
+ </g>
322
+ <defs>
323
+ <clipPath id="p47a7f35569">
324
+ <rect x="3.6" y="3.6" width="143.22" height="74.4744"/>
325
+ </clipPath>
326
+ </defs>
327
+ </svg>
@@ -15,75 +15,70 @@
15
15
  <div class="col-12 d-flex align-items-center justify-content-center">
16
16
  <div class="bg-white shadow border-0 rounded border-light p-4 p-lg-5 w-100 fmxw-500">
17
17
  <div class="text-center text-md-center mb-4 mt-md-0">
18
- <h1 class="mb-0 h3">
19
- BRACE2 - Sign In
20
- </h1>
21
- <br />
22
- <p>
23
- {% if msg %}
24
- <span class="text-danger">{{ msg | safe }}</span>
25
- {% else %}
26
- Add your credentials
27
- {% endif %}
28
- </p>
18
+ <h1 class="mb-0 h3">Sign In</h1>
19
+ <br />
20
+ <p>
21
+ {% if msg %}
22
+ <span class="text-danger">{{ msg | safe }}</span>
23
+ {% else %}
24
+ Add your credentials
25
+ {% endif %}
26
+ </p>
29
27
  </div>
30
28
  <form method="post" action="" class="mt-4">
31
-
32
- {% csrf_token %}
33
-
34
- <!-- Form -->
29
+ {% csrf_token %}
30
+ <div class="form-group mb-4">
31
+ <label for="email">Username</label>
32
+ <div class="input-group">
33
+ <span class="input-group-text" id="basic-addon1">
34
+ <span class="fas fa-user-circle"></span>
35
+ </span>
36
+ {{ form.username }}
37
+ </div>
38
+ </div>
39
+ <div class="form-group">
35
40
  <div class="form-group mb-4">
36
- <label for="email">Username</label>
41
+ <label for="password">Your Password</label>
37
42
  <div class="input-group">
38
- <span class="input-group-text" id="basic-addon1">
39
- <span class="fas fa-user-circle"></span>
40
- </span>
41
- {{ form.username }}
43
+ <span class="input-group-text" id="basic-addon2">
44
+ <span class="fas fa-unlock-alt"></span>
45
+ </span>
46
+ {{ form.password }}
42
47
  </div>
43
48
  </div>
44
- <!-- End of Form -->
45
- <div class="form-group">
46
- <!-- Form -->
47
- <div class="form-group mb-4">
48
- <label for="password">Your Password</label>
49
- <div class="input-group">
50
- <span class="input-group-text" id="basic-addon2">
51
- <span class="fas fa-unlock-alt"></span>
52
- </span>
53
- {{ form.password }}
54
- </div>
55
- </div>
56
- <!-- End of Form -->
57
- <div class="d-flex justify-content-between align-items-top mb-4">
58
- <div class="form-check">
59
- <input class="form-check-input" type="checkbox" value="" id="remember">
60
- <label class="form-check-label mb-0" for="remember">
61
- Remember me
62
- </label>
63
- </div>
64
- <div><a href="/page-forgot-password.html" class="small text-right">Lost password?</a></div>
65
- </div>
66
- </div>
67
- <div class="d-grid">
68
- <button type="submit" name="login" class="btn btn-gray-800">Sign In</button>
49
+ <div class="d-flex justify-content-between align-items-top mb-4">
50
+ <div class="form-check">
51
+ <input class="form-check-input" type="checkbox" value="" id="remember">
52
+ <label class="form-check-label mb-0" for="remember">
53
+ Remember me
54
+ </label>
55
+ </div>
56
+ {% comment %}
57
+ <div><a href="/page-forgot-password.html" class="small text-right">Lost password?</a></div>
58
+ {% endcomment %}
69
59
  </div>
60
+ </div>
61
+ <div class="d-grid">
62
+ <button type="submit" name="login" class="btn btn-gray-800">Sign In</button>
63
+ </div>
70
64
  </form>
71
65
  <br />
72
-
66
+ {% comment %}
73
67
  <div class="mt-3 mb-4 text-center">
74
68
  <span class="fw-normal">or login with</span>
75
69
  </div>
76
70
  <div class="d-flex justify-content-center my-4">
77
- <a href="#" class="btn btn-icon-only btn-pill btn-outline-gray-500 me-2" aria-label="facebook button" title="facebook button">
78
- <svg class="icon icon-xxs" aria-hidden="true" focusable="false" data-prefix="fab" data-icon="facebook-f" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path fill="currentColor" d="M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z"></path></svg>
79
- </a>
80
- <a href="#" class="btn btn-icon-only btn-pill btn-outline-gray-500 me-2" aria-label="twitter button" title="twitter button">
81
- <svg class="icon icon-xxs" aria-hidden="true" focusable="false" data-prefix="fab" data-icon="twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"></path></svg>
82
- </a>
83
- <a href="#" class="btn btn-icon-only btn-pill btn-outline-gray-500" aria-label="github button" title="github button">
84
- <svg class="icon icon-xxs" aria-hidden="true" focusable="false" data-prefix="fab" data-icon="github" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><path fill="currentColor" d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg>
85
- </a>
71
+ <a href="#" class="btn btn-icon-only btn-pill btn-outline-gray-500 me-2" aria-label="facebook button" title="facebook button">
72
+ <svg class="icon icon-xxs" aria-hidden="true" focusable="false" data-prefix="fab" data-icon="facebook-f" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path fill="currentColor" d="M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z"></path></svg>
73
+ </a>
74
+ <a href="#" class="btn btn-icon-only btn-pill btn-outline-gray-500 me-2" aria-label="twitter button" title="twitter button">
75
+ <svg class="icon icon-xxs" aria-hidden="true" focusable="false" data-prefix="fab" data-icon="twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"></path></svg>
76
+ </a>
77
+ <a href="#" class="btn btn-icon-only btn-pill btn-outline-gray-500" aria-label="github button" title="github button">
78
+ <svg class="icon icon-xxs" aria-hidden="true" focusable="false" data-prefix="fab" data-icon="github" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><path fill="currentColor" d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg>
79
+ </a>
86
80
  </div>
81
+ {% endcomment %}
87
82
  </div>
88
83
  </div>
89
84
  </div>
@@ -230,21 +230,6 @@
230
230
  </div>
231
231
  </div>
232
232
  </div>
233
-
234
- {% if mountains %}
235
- <div class="col-8 card bg-white-100 border-0 shadow mb-4">
236
- <div class="card-body">
237
- <h4>Spectrum</h4>
238
- <div class="crop">
239
- <img src="data:image/jpeg;base64,{{ mountains }}" alt="Spectral content">
240
- </div>
241
- </div>
242
- <div class="card-footer">
243
- Powered by <a href="https://chrystalchern.github.io/mdof"><em>mdof</em></a>
244
- </div>
245
- </div>
246
- {% endif %}
247
-
248
233
  </details>
249
234
  <hr>
250
235
  {% endif %}
@@ -93,6 +93,44 @@ table a[href^="https://"]::after
93
93
  placeholder="Search assets"
94
94
  >
95
95
  </div>
96
+
97
+ <!-- Latest Year -->
98
+ <div class="input-group mb-3">
99
+ <span class="input-group-text">
100
+ <svg class="icon icon-xs" x-description="Heroicon name: solid/search" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true">
101
+ <path fill-rule="evenodd" d="M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z" clip-rule="evenodd"></path>
102
+ </svg>
103
+ </span>
104
+ <button type="button" class="btn input-group-text btn-outline dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown" aria-expanded="false">
105
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-caret-down-fill" viewBox="0 0 16 16">
106
+ <path d="M7.247 11.14l-4.796-5.481C2.014 5.334 2.482 4.5 3.25 4.5h9.5c.768 0 1.236.835.799 1.159l-4.796 5.481a1 1 0 0 1-1.506 0z"/>
107
+ </svg>
108
+ <span class="visually-hidden">Toggle Dropdown</span>
109
+ </button>
110
+ <ul class="dropdown-menu">
111
+ <li><a class="dropdown-item" href="#">Include fields:</a></li>
112
+ <li><hr class="dropdown-divider"></li>
113
+ <li><div class="form-check form-switch">
114
+ <input class="form-check-input" type="checkbox" role="switch" id="flexSwitchCheckDefault">
115
+ <label class="form-check-label" for="flexSwitchCheckDefault">Retrofit</label>
116
+ </div></li>
117
+ <li><div class="form-check form-switch">
118
+ <input class="form-check-input" type="checkbox" role="switch" id="flexSwitchCheckChecked" checked>
119
+ <label class="form-check-label" for="flexSwitchCheckChecked">Built</label>
120
+ </div></li>
121
+ </ul>
122
+ <input
123
+ id="max_year"
124
+ name="max_year"
125
+ type="number"
126
+ max="2024"
127
+ step="1"
128
+ class="form-control"
129
+ value="{{ filter.form.max_year.value|default_if_none:'2024' }}"
130
+ placeholder="Latest Year Built"
131
+ >
132
+ </div>
133
+
96
134
 
97
135
  <!-- CESMD Not Null Checkbox -->
98
136
  <div class="col-12">
@@ -108,21 +146,6 @@ table a[href^="https://"]::after
108
146
  </label>
109
147
  </div>
110
148
  </div>
111
-
112
- {# Is Complete Checkbox #}
113
- <div class="col-12">
114
- <div class="form-check">
115
- <input
116
- type="checkbox"
117
- name="is_complete"
118
- id="is_complete"
119
- class="form-check-input"
120
- {% if filter.form.is_complete.value %}checked{% endif %}>
121
- <label for="is_complete" class="form-check-label">
122
- {{ filter.form.is_complete.label }}
123
- </label>
124
- </div>
125
- </div>
126
149
 
127
150
  {# Buttons #}
128
151
  <div class="col-12 d-flex justify-content-between">
@@ -46,9 +46,7 @@ Claudio Perez, Summer 2023
46
46
  {% for predictor in asset.predictors.values %}
47
47
  <div class="accordion-item">
48
48
  <button class="btn {%if predictor.active %}btn-outline-success{%else%}btn-outline-dark{%endif%}" type="button">Active</button>
49
- {% if False %}
50
- <button class="btn btn-outline-danger" type="button">Delete</button>
51
- {% endif %}
49
+
52
50
  <button class="btn" type="button"
53
51
  data-bs-toggle="collapse"
54
52
  data-bs-target="#flush-collapse{{forloop.counter}}"
@@ -56,9 +54,11 @@ Claudio Perez, Summer 2023
56
54
  Details</button>
57
55
  &nbsp;
58
56
  <h6 class="accordion-header" style="display:inline" id="flush-heading{{forloop.counter}}">
57
+ <a href="./{{predictor.id}}" >
59
58
  {{predictor.name}}
59
+ </a>
60
60
  </h6>
61
- (<code>{{predictor.platform}}</code>)
61
+ (<code>{{ predictor.platform }}</code>)
62
62
  {% if False %}
63
63
  <button class="accordion-button btn collapsed" type="button"
64
64
  data-bs-toggle="collapse"
@@ -88,6 +88,8 @@ Claudio Perez, Summer 2023
88
88
  <script src="https://cdn.jsdelivr.net/npm/@json-editor/json-editor@latest/dist/jsoneditor.min.js"></script>
89
89
  <script>
90
90
 
91
+ const csrftoken = document.querySelector('[name=csrfmiddlewaretoken]').value;
92
+
91
93
  for (const element of document.querySelectorAll("form")) {
92
94
  let editor_elem = element.querySelector(`#${element.id}-editor`);
93
95
  let config = {
@@ -103,7 +105,38 @@ Claudio Perez, Summer 2023
103
105
 
104
106
  editor.on('change', function () {
105
107
  element.querySelector('#editor-input').value = JSON.stringify(editor.getValue())
106
- })
108
+ });
109
+
110
+
111
+ element.addEventListener('submit', async function (event) {
112
+ event.preventDefault(); // Prevent the default form submission
113
+
114
+ // Get the form data
115
+ // const formData = new FormData(event.target);
116
+ // const data = Object.fromEntries(formData.entries());
117
+
118
+ // Send the data to the API
119
+ try {
120
+ const response = await fetch(`./create?runner=${editor_elem.dataset.protocol}`, {
121
+ method: 'POST',
122
+ headers: {
123
+ 'Content-Type': 'application/json',
124
+ 'X-CSRFToken': csrftoken,
125
+ },
126
+ body: JSON.stringify(editor.getValue()),
127
+ });
128
+
129
+ // Handle the response
130
+ if (response.ok) {
131
+ document.getElementById('status').textContent = 'Form submitted successfully!';
132
+ } else {
133
+ document.getElementById('status').textContent = 'Error submitting the form.';
134
+ }
135
+ } catch (error) {
136
+ document.getElementById('status').textContent = 'An error occurred while submitting the form.';
137
+ }
138
+ });
139
+
107
140
  }
108
141
  </script>
109
142
  {% endblock %}
@@ -43,7 +43,7 @@
43
43
  {# form.as_p #}
44
44
 
45
45
  <div class="form-group"></div>
46
- <form id="{{runner.name}}" action="./" method="post" >
46
+ <form id="{{runner.name}}" action="./create/" method="post" >
47
47
  {% csrf_token %}
48
48
  <input id="editor-input" type="hidden" name="json">
49
49
  <div id="{{runner.name}}-editor"
@@ -132,9 +132,20 @@
132
132
  <div class="col-12 mb-4">
133
133
  </div>
134
134
  </div>
135
+
135
136
  </details>
136
137
  <hr>
137
138
 
139
+ <div class="col-10 card bg-white-100 border-0 shadow mb-4">
140
+ <div class="card-body">
141
+ <div class="crop">
142
+ <img src="data:image/jpeg;base64,{{ predictor.render }}" alt="Spectral content">
143
+ </div>
144
+ </div>
145
+ <div class="card-footer">
146
+ Powered by <a href="https://chrystalchern.github.io/mdof"><em>mdof</em></a>
147
+ </div>
148
+ </div>
138
149
  </div>
139
150
  {% endblock content %}
140
151