irie 0.0.27__py3-none-any.whl → 0.0.29__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.
- irie/apps/admin_dash/__init__.py +1 -0
- irie/apps/admin_dash/admin.py +0 -0
- irie/apps/admin_dash/apps.py +6 -0
- irie/apps/admin_dash/forms.py +67 -0
- irie/apps/admin_dash/models.py +1 -0
- irie/apps/admin_dash/templatetags/__init__.py +0 -0
- irie/apps/admin_dash/templatetags/admin_material.py +86 -0
- irie/apps/admin_dash/templatetags/replace_value.py +8 -0
- irie/apps/admin_dash/urls.py +36 -0
- irie/apps/admin_dash/utils.py +462 -0
- irie/apps/admin_dash/views.py +113 -0
- irie/apps/events/views.py +4 -5
- irie/apps/inventory/filters.py +1 -1
- irie/apps/inventory/migrations/0003_asset_notes.py +18 -0
- irie/apps/inventory/models.py +11 -5
- irie/apps/inventory/urls.py +1 -0
- irie/apps/inventory/views.py +72 -33
- irie/apps/static/assets/css/brace.css +22272 -14509
- irie/apps/static/assets/css/brace.css.map +1 -1
- irie/apps/static/assets/css/brace.min.css +32 -1
- irie/apps/static/assets/img/twin.png +0 -0
- irie/apps/static/assets/js/brace.js +858 -38
- irie/apps/templates/events/event-table.html +1 -2
- irie/apps/templates/includes/asset-event-table.html +1 -1
- irie/apps/templates/includes/navigation.html +1 -1
- irie/apps/templates/includes/sidebar.html +4 -4
- irie/apps/templates/inventory/asset-profile.html +6 -1
- irie/apps/templates/inventory/asset-table.html +12 -2
- irie/apps/templates/inventory/dashboard.html +0 -1
- irie/apps/templates/layouts/base.html +1 -0
- irie/apps/templates/site/index.html +10 -10
- irie/apps/templates/site/robots.txt +42 -1
- irie/core/settings.py +1 -0
- irie/init/calid.py +95 -95
- irie/init/management/commands/init_assets.py +1 -11
- irie/init/management/commands/init_cesmd.py +19 -8
- {irie-0.0.27.dist-info → irie-0.0.29.dist-info}/METADATA +3 -2
- {irie-0.0.27.dist-info → irie-0.0.29.dist-info}/RECORD +41 -28
- {irie-0.0.27.dist-info → irie-0.0.29.dist-info}/WHEEL +1 -1
- {irie-0.0.27.dist-info → irie-0.0.29.dist-info}/entry_points.txt +0 -0
- {irie-0.0.27.dist-info → irie-0.0.29.dist-info}/top_level.txt +0 -0
|
@@ -16,9 +16,8 @@
|
|
|
16
16
|
<svg class="icon icon-xxs" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"></path></svg>
|
|
17
17
|
</a>
|
|
18
18
|
</li>
|
|
19
|
-
<li class="breadcrumb-item"><a href="{% url 'dashboard' %}">BRACE2</a></li>
|
|
20
19
|
<li class="breadcrumb-item">Events</li>
|
|
21
|
-
<li class="breadcrumb-item
|
|
20
|
+
<li class="breadcrumb-item" aria-current="page">CGS</li>
|
|
22
21
|
</ol>
|
|
23
22
|
</nav>
|
|
24
23
|
<h2 class="h4">All Events</h2>
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
</table>
|
|
61
61
|
|
|
62
62
|
<div class="card-footer px-3 border-0 d-flex flex-column flex-lg-row align-items-center justify-content-between">
|
|
63
|
-
<nav aria-label="
|
|
63
|
+
<nav aria-label="Table page navigation">
|
|
64
64
|
<ul class="pagination mb-0">
|
|
65
65
|
<li class="page-item {% if not evaluations.has_previous %}disabled{% endif %}">
|
|
66
66
|
{% if evaluations.has_previous %}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<nav class="navbar navbar-top navbar-expand navbar-dashboard navbar-dark ps-0 pe-2 pb-0">
|
|
1
|
+
<nav class="navbar navbar-top navbar-expand navbar-dashboard navbar-dark ps-0 pe-2 pb-0">
|
|
2
2
|
<div class="container-fluid px-0">
|
|
3
3
|
<div class="d-flex justify-content-between w-100" id="navbarSupportedContent">
|
|
4
4
|
<div class="d-flex align-items-center">
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
</nav>
|
|
16
16
|
|
|
17
17
|
<!-- <nav id="sidebarMenu" class="sidebar d-lg-block bg-gray-800 text-white collapse" data-simplebar> -->
|
|
18
|
-
<
|
|
18
|
+
<aside id="sidebarMenu" class="sidebar d-lg-block collapse bg-white ms-2 my-2 navbar-vertical navbar-expand-xs" data-simplebar>
|
|
19
19
|
<div class="sidebar-inner px-4 pt-3">
|
|
20
20
|
<div class="user-card d-flex d-md-none align-items-center justify-content-between justify-content-md-center pb-4">
|
|
21
21
|
<div class="d-flex align-items-center">
|
|
@@ -26,7 +26,6 @@
|
|
|
26
26
|
</div>
|
|
27
27
|
{% endcomment %}
|
|
28
28
|
<div class="d-block">
|
|
29
|
-
<h2 class="h5 mb-3">Hi</h2>
|
|
30
29
|
<a href="/page-sign-in.html" class="btn btn-secondary btn-sm d-inline-flex align-items-center">
|
|
31
30
|
<svg class="icon icon-xxs me-1" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1"></path></svg>
|
|
32
31
|
Log Out
|
|
@@ -47,9 +46,10 @@
|
|
|
47
46
|
<span class="sidebar-icon">
|
|
48
47
|
<img src="{{ ASSETS_ROOT }}/img/brace2-no_text.png" height="20" width="20" alt="BRACE2 Logo">
|
|
49
48
|
</span>
|
|
50
|
-
<span class="mt-1 ms-1 sidebar-text">BRACE<sup class="superscript">2</sup></span>
|
|
49
|
+
<span class="mt-1 ms-1 sidebar-text center">BRACE<sup class="superscript">2</sup></span>
|
|
51
50
|
</a>
|
|
52
51
|
</li>
|
|
52
|
+
<hr class="horizontal dark mt-0">
|
|
53
53
|
|
|
54
54
|
<li role="separator" class="dropdown-divider mt-2 mb-2 border-gray-700"></li>
|
|
55
55
|
|
|
@@ -156,4 +156,4 @@
|
|
|
156
156
|
|
|
157
157
|
</ul>
|
|
158
158
|
</div>
|
|
159
|
-
</
|
|
159
|
+
</aside>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{% extends "layouts/base.html" %}
|
|
2
2
|
{% load get %}
|
|
3
3
|
{% load nbi %}
|
|
4
|
-
{% block title %} {{ asset.calid }} {% endblock %}
|
|
4
|
+
{% block title %} {{ asset.calid }} Digital Twin{% endblock %}
|
|
5
5
|
{% block meta %}
|
|
6
6
|
<meta name="description" content="{% if asset.id|divisibleby:2 %}Live-updating digital twin for health assessment of the {{ asset.name }} ({{ asset.calid }}).{% else %}Digital twin profile for real-time health monitoring of the {{ asset.name }} ({{ asset.calid }}) bridge{% endif %}">
|
|
7
7
|
{% endblock %}
|
|
@@ -137,6 +137,7 @@
|
|
|
137
137
|
</a>
|
|
138
138
|
</div>
|
|
139
139
|
</div>
|
|
140
|
+
{% if True %}
|
|
140
141
|
<div class="col-10">
|
|
141
142
|
<p>
|
|
142
143
|
{% if asset.id|divisibleby:3 %}
|
|
@@ -177,6 +178,7 @@
|
|
|
177
178
|
{% endif %}
|
|
178
179
|
</p>
|
|
179
180
|
</div>
|
|
181
|
+
{% endif %}
|
|
180
182
|
|
|
181
183
|
{# BRIDGE RENDERING #}
|
|
182
184
|
<details id="asset-sensors" open><summary><h3>Geometry</h3></summary>
|
|
@@ -207,6 +209,9 @@
|
|
|
207
209
|
style="width: 100%; height: 400px;">
|
|
208
210
|
</model-viewer>
|
|
209
211
|
</div>
|
|
212
|
+
<div class="card-footer">
|
|
213
|
+
Powered by <a href="https://veux.stairlab.io">veux</a>
|
|
214
|
+
</div>
|
|
210
215
|
</div>
|
|
211
216
|
</div>
|
|
212
217
|
</div>
|
|
@@ -37,12 +37,19 @@ table a[href^="https://"]::after
|
|
|
37
37
|
</nav>
|
|
38
38
|
<h2 class="h4">Inventory</h2>
|
|
39
39
|
</div>
|
|
40
|
+
<div class="btn-toolbar mb-2 mb-md-0">
|
|
41
|
+
<form action="{% url 'asset_table_export_csv' %}" method="get">
|
|
42
|
+
{% for key, value in request.GET.items %}
|
|
43
|
+
<input type="hidden" name="{{ key }}" value="{{ value }}">
|
|
44
|
+
{% endfor %}
|
|
45
|
+
<button type="submit" class="btn btn-sm btn-outline-primary">Export</button>
|
|
46
|
+
</form>
|
|
47
|
+
</div>
|
|
40
48
|
</div>
|
|
41
49
|
|
|
42
50
|
{# Content #}
|
|
43
51
|
<div class="row">
|
|
44
52
|
<div class="col-xl-4">
|
|
45
|
-
{# #}
|
|
46
53
|
<div class="card border-0 shadow">
|
|
47
54
|
<div class="card-header">
|
|
48
55
|
<div class="row align-items-center">
|
|
@@ -61,6 +68,7 @@ table a[href^="https://"]::after
|
|
|
61
68
|
<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>
|
|
62
69
|
</svg>
|
|
63
70
|
</span>
|
|
71
|
+
{% if False %}
|
|
64
72
|
<button type="button" class="btn input-group-text btn-outline dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown" aria-expanded="false">
|
|
65
73
|
<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">
|
|
66
74
|
<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"/>
|
|
@@ -83,6 +91,7 @@ table a[href^="https://"]::after
|
|
|
83
91
|
<label class="form-check-label" for="flexSwitchCheckDisabled">District</label>
|
|
84
92
|
</div></li>
|
|
85
93
|
</ul>
|
|
94
|
+
{% endif %}
|
|
86
95
|
<input
|
|
87
96
|
id="search"
|
|
88
97
|
name="search"
|
|
@@ -100,6 +109,7 @@ table a[href^="https://"]::after
|
|
|
100
109
|
<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>
|
|
101
110
|
</svg>
|
|
102
111
|
</span>
|
|
112
|
+
{% if False %}
|
|
103
113
|
<button type="button" class="btn input-group-text btn-outline dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown" aria-expanded="false">
|
|
104
114
|
<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">
|
|
105
115
|
<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"/>
|
|
@@ -118,6 +128,7 @@ table a[href^="https://"]::after
|
|
|
118
128
|
<label class="form-check-label" for="flexSwitchCheckChecked">Built</label>
|
|
119
129
|
</div></li>
|
|
120
130
|
</ul>
|
|
131
|
+
{% endif %}
|
|
121
132
|
<input
|
|
122
133
|
id="max_year"
|
|
123
134
|
name="max_year"
|
|
@@ -130,7 +141,6 @@ table a[href^="https://"]::after
|
|
|
130
141
|
>
|
|
131
142
|
</div>
|
|
132
143
|
|
|
133
|
-
|
|
134
144
|
<!-- CESMD Not Null Checkbox -->
|
|
135
145
|
<div class="col-12">
|
|
136
146
|
<div class="form-check">
|
|
@@ -15,7 +15,6 @@
|
|
|
15
15
|
<svg class="icon icon-xxs" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"></path></svg>
|
|
16
16
|
</a>
|
|
17
17
|
</li>
|
|
18
|
-
<li class="breadcrumb-item"><a href="{% url 'dashboard' %}">BRACE<sup>2</sup></a></li>
|
|
19
18
|
<li class="breadcrumb-item active" aria-current="page">Dashboard</li>
|
|
20
19
|
</ol>
|
|
21
20
|
</nav>
|
|
@@ -39,6 +39,7 @@
|
|
|
39
39
|
|
|
40
40
|
<link type="text/css" href="{{ ASSETS_ROOT }}/vendor/sweetalert2/dist/sweetalert2.min.css" rel="stylesheet">
|
|
41
41
|
<link type="text/css" href="{{ ASSETS_ROOT }}/vendor/notyf/notyf.min.css" rel="stylesheet">
|
|
42
|
+
<!-- <link type="text/css" href="{{ ASSETS_ROOT }}/css/brace.min.css" media="screen" rel="stylesheet"> -->
|
|
42
43
|
<link type="text/css" href="{{ ASSETS_ROOT }}/css/brace.css" media="screen" rel="stylesheet">
|
|
43
44
|
|
|
44
45
|
{% block stylesheets %}{% endblock stylesheets %}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
|
7
7
|
<meta name="title" content="BRACE2 Platform">
|
|
8
8
|
<meta name="author" content="Claudio M. Perez">
|
|
9
|
-
<meta name="description" content="BRACE2 platform for structural health monitoring.">
|
|
9
|
+
<meta name="description" content="Bridge rapid assessment center for extreme events (BRACE2) platform for real-time structural health monitoring.">
|
|
10
10
|
|
|
11
11
|
{# Open Graph and Facebook #}
|
|
12
12
|
<meta property="og:type" content="website">
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
{% endcomment %}
|
|
37
37
|
|
|
38
38
|
{# BRACE CSS #}
|
|
39
|
-
<link type="text/css" href="{{ ASSETS_ROOT }}/css/brace.css" rel="stylesheet">
|
|
39
|
+
<link type="text/css" href="{{ ASSETS_ROOT }}/css/brace.min.css" rel="stylesheet">
|
|
40
40
|
|
|
41
41
|
{# TODO: Use the _analytics.html partial to include production code specific code & trackers #}
|
|
42
42
|
</head>
|
|
@@ -171,7 +171,7 @@ td.left-text{vertical-align:middle}
|
|
|
171
171
|
</h2>
|
|
172
172
|
{# Button Modal #}
|
|
173
173
|
<div class="d-flex align-items-center justify-content-center mb-5">
|
|
174
|
-
<a href="{% url '
|
|
174
|
+
<a href="{% url 'asset_table' %}" class="btn btn-primary d-inline-flex align-items-center me-4">
|
|
175
175
|
<svg class="icon icon-xs me-2" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M3 3a1 1 0 000 2v8a2 2 0 002 2h2.586l-1.293 1.293a1 1 0 101.414 1.414L10 15.414l2.293 2.293a1 1 0 001.414-1.414L12.414 15H15a2 2 0 002-2V5a1 1 0 100-2H3zm11 4a1 1 0 10-2 0v4a1 1 0 102 0V7zm-3 1a1 1 0 10-2 0v3a1 1 0 102 0V8zM8 9a1 1 0 00-2 0v2a1 1 0 102 0V9z" clip-rule="evenodd"></path></svg>
|
|
176
176
|
Inventory
|
|
177
177
|
</a>
|
|
@@ -219,9 +219,9 @@ td.left-text{vertical-align:middle}
|
|
|
219
219
|
<div class="col-lg-5 order-lg-2 mb-5 mb-lg-0">
|
|
220
220
|
<h2 class="h1">Digital Twins</h2>
|
|
221
221
|
<p class="mb-4">The <em>IRiE</em> engine is used to realize high-fidelity digital twins that are backed by
|
|
222
|
-
state-of-the-art analysis platforms like <a href="pypi.org/project/opensees">OpenSees</a> for nonlinear finite element analysis and <em><a href="chrystalchern.github.io/mdof">mdof</a></em> for system identification.</p>
|
|
222
|
+
state-of-the-art analysis platforms like <a href="https://pypi.org/project/opensees">OpenSees</a> for nonlinear finite element analysis and <em><a href="https://chrystalchern.github.io/mdof">mdof</a></em> for system identification.</p>
|
|
223
223
|
</div>
|
|
224
|
-
<div class="col-lg-4 order-lg-1 card shadow"><img src="{{ ASSETS_ROOT }}/img/
|
|
224
|
+
<div class="col-lg-4 order-lg-1 card shadow"><img src="{{ ASSETS_ROOT }}/img/twin.png"
|
|
225
225
|
alt="Digital twins"></div>
|
|
226
226
|
</div>
|
|
227
227
|
{% comment %}
|
|
@@ -229,7 +229,7 @@ td.left-text{vertical-align:middle}
|
|
|
229
229
|
<h2 class="h1 d-flex align-items-center"> Corridors<span
|
|
230
230
|
class="badge-md mb-0 fs-6 badge ms-3 rounded-pill text-dark bg-secondary">New</span></h2>
|
|
231
231
|
<p class="mb-4">Corridor-level health analysis and recovery planning has been implemented through collaborations at UC Berkeley and
|
|
232
|
-
the <a href="https://dot.ca.gov/">California department of transportation</a
|
|
232
|
+
the <a href="https://dot.ca.gov/">California department of transportation</a> (Caltrans).</p>
|
|
233
233
|
<a href="https://dot.ca.gov/-/media/dot-media/programs/research-innovation-system-information/documents/research-notes/task3798-rns-05-24-a11y.pdf"
|
|
234
234
|
target="_blank" class="btn btn-outline-gray-600 d-inline-flex align-items-center"><svg
|
|
235
235
|
class="icon icon-xs me-2" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
|
@@ -258,7 +258,7 @@ td.left-text{vertical-align:middle}
|
|
|
258
258
|
<a href="https://stairlab.berkeley.edu/software/opensees/">
|
|
259
259
|
<img class="first-column-layout"
|
|
260
260
|
src="{{ ASSETS_ROOT }}/content_images/brace/opensees.jpg" alt="opensees"></a></td>
|
|
261
|
-
<td class=full-center-text><a href="https://pypi.org/project/opensees" >
|
|
261
|
+
<td class=full-center-text><a href="https://pypi.org/project/opensees" >sees</a></td>
|
|
262
262
|
<td class=left-text>Direct and idiomatic bindings to <a href="https://github.com/claudioperez/OpenSeesRT" >
|
|
263
263
|
<samp>OpenSeesRT</samp></a> kernel for finite element analysis.</td>
|
|
264
264
|
</tr>
|
|
@@ -282,9 +282,9 @@ td.left-text{vertical-align:middle}
|
|
|
282
282
|
</tr>
|
|
283
283
|
<tr>
|
|
284
284
|
<td style="text-align:center"><img class="first-column-layout"
|
|
285
|
-
src="{{ ASSETS_ROOT }}/content_images/brace/sees.png" alt="
|
|
286
|
-
<td class=full-center-text><a href="https://pypi.org/project/
|
|
287
|
-
<td class=left-text>A
|
|
285
|
+
src="{{ ASSETS_ROOT }}/content_images/brace/sees.png" alt="veux logo"></td>
|
|
286
|
+
<td class=full-center-text><a href="https://pypi.org/project/veux">veux</a></td>
|
|
287
|
+
<td class=left-text>A web-first visualization framework for structural simulation.</td>
|
|
288
288
|
</tr>
|
|
289
289
|
</table>
|
|
290
290
|
</div>
|
|
@@ -1,8 +1,49 @@
|
|
|
1
1
|
Sitemap: https://structures.live/sitemap.xml
|
|
2
2
|
|
|
3
3
|
User-Agent: *
|
|
4
|
-
Disallow: /inventory
|
|
4
|
+
Disallow: /inventory/*/[ep]*/
|
|
5
5
|
|
|
6
|
+
User-agent: AI2Bot
|
|
7
|
+
User-agent: Ai2Bot-Dolma
|
|
8
|
+
User-agent: Amazonbot
|
|
9
|
+
User-agent: anthropic-ai
|
|
10
|
+
User-agent: Applebot
|
|
11
|
+
User-agent: Applebot-Extended
|
|
12
|
+
User-agent: Bytespider
|
|
13
|
+
User-agent: CCBot
|
|
14
|
+
User-agent: ChatGPT-User
|
|
15
|
+
User-agent: Claude-Web
|
|
16
|
+
User-agent: ClaudeBot
|
|
17
|
+
User-agent: cohere-ai
|
|
18
|
+
User-agent: Diffbot
|
|
19
|
+
User-agent: DuckAssistBot
|
|
20
|
+
User-agent: FacebookBot
|
|
21
|
+
User-agent: FriendlyCrawler
|
|
22
|
+
User-agent: Google-Extended
|
|
23
|
+
User-agent: GoogleOther
|
|
24
|
+
User-agent: GoogleOther-Image
|
|
25
|
+
User-agent: GoogleOther-Video
|
|
6
26
|
User-agent: GPTBot
|
|
27
|
+
User-agent: iaskspider/2.0
|
|
28
|
+
User-agent: ICC-Crawler
|
|
29
|
+
User-agent: ImagesiftBot
|
|
30
|
+
User-agent: img2dataset
|
|
31
|
+
User-agent: ISSCyberRiskCrawler
|
|
32
|
+
User-agent: Kangaroo Bot
|
|
33
|
+
User-agent: Meta-ExternalAgent
|
|
34
|
+
User-agent: Meta-ExternalFetcher
|
|
35
|
+
User-agent: OAI-SearchBot
|
|
36
|
+
User-agent: omgili
|
|
37
|
+
User-agent: omgilibot
|
|
38
|
+
User-agent: PanguBot
|
|
39
|
+
User-agent: PerplexityBot
|
|
40
|
+
User-agent: PetalBot
|
|
41
|
+
User-agent: Scrapy
|
|
42
|
+
User-agent: Sidetrade indexer bot
|
|
43
|
+
User-agent: Timpibot
|
|
44
|
+
User-agent: VelenPublicWebCrawler
|
|
45
|
+
User-agent: Webzio-Extended
|
|
46
|
+
User-agent: YouBot
|
|
47
|
+
Disallow: /
|
|
7
48
|
Disallow: /
|
|
8
49
|
|
irie/core/settings.py
CHANGED
irie/init/calid.py
CHANGED
|
@@ -4,112 +4,112 @@
|
|
|
4
4
|
#
|
|
5
5
|
#===----------------------------------------------------------------------===#
|
|
6
6
|
CESMD = {
|
|
7
|
-
"56-0586G": "CE13705",
|
|
8
|
-
"53-1471": "CE14406",
|
|
9
|
-
"53-2791": "CE24704",
|
|
10
|
-
"53-1794": "CE24706",
|
|
11
|
-
"50-0271": "CE24775",
|
|
12
|
-
"43-0031E": "CE47315",
|
|
13
|
-
"28-0352L": "CE68185",
|
|
14
|
-
"23-0015R": "CE68184",
|
|
15
|
-
"10-0299": "CE79421",
|
|
16
|
-
"04-0170": "CE89708",
|
|
17
|
-
"04-0229": "CE89735",
|
|
18
|
-
"04-0230": "CE89736",
|
|
19
|
-
"04-0016R": "CE89973",
|
|
20
|
-
"50-0340": "CE33742",
|
|
21
|
-
"53-2795F": "CE24694",
|
|
22
|
-
"55-0225": "CE13795",
|
|
23
|
-
|
|
24
|
-
"58-0215": "CE01336",
|
|
25
|
-
"47-0048": "CE54730",
|
|
26
|
-
"04-0228": "CE89686",
|
|
27
|
-
"04-0236": "CE89324",
|
|
28
|
-
"54-0823G": "CE23631",
|
|
29
|
-
"33-0214L": "CE58658",
|
|
7
|
+
"56-0586G": ("CE13705", "08-RIV-15-R41.57" , "Corona - I15/Hwy91 Interchange Bridge"),
|
|
8
|
+
"53-1471": ("CE14406", "07-LA-47-0.86" , "Vincent Thomas Bridge"),
|
|
9
|
+
"53-2791": ("CE24704", "07-LA-10-8.8" , "La Cienega Bridge"),
|
|
10
|
+
"53-1794": ("CE24706", "07-LA-14-R57.37" , "Palmdale - Hwy 14/Barrel Springs Bridge"),
|
|
11
|
+
"50-0271": ("CE24775", "06-KER-5-4.1" , "Grapevine - I5/Lebec Rd Bridge"),
|
|
12
|
+
"43-0031E": ("CE47315", "05-SBT-156-0.00" , "San Juan Bautista - Hwy 101/156 Overpass"),
|
|
13
|
+
"28-0352L": ("CE68185", "04-SOL-80-0.01" , "Vallejo - Carquinez/I80 West Bridge"),
|
|
14
|
+
"23-0015R": ("CE68184", "04-SOL-80-12.8" , "Vallejo - Carquinez/I80 East Bridge"),
|
|
15
|
+
"10-0299": ("CE79421", "01-MEN-101-160.03" , "Confusion Hill Bridge (Leggett, Hwy 101)"),
|
|
16
|
+
"04-0170": ("CE89708", "01-HUM-101-R92.99" , "Arcata - Hwy 101/Murray Road Bridge"),
|
|
17
|
+
"04-0229": ("CE89735", "01-HUM-255-0.7" , "Eureka - Middle Channel Bridge"),
|
|
18
|
+
"04-0230": ("CE89736", "01-HUM-255-0.2" , "Eureka - Eureka Channel Bridge"),
|
|
19
|
+
"04-0016R": ("CE89973", "01-HUM-101-53.9" , "Rio Dell - Hwy 101/Eel River Bridge"),
|
|
20
|
+
"50-0340": ("CE33742", "09-KER-395-R25.08" , "Ridgecrest - Hwy 395/Brown Road Bridge"),
|
|
21
|
+
"53-2795F": ("CE24694", "07-LA-5-24.5" , "Sylmar - I5/14 Interchange Bridge"),
|
|
22
|
+
"55-0225": ("CE13795", "07-ORA-5-6.62" , "Capistrano Beach - I5/Via Calif. Bridge"),
|
|
23
|
+
|
|
24
|
+
"58-0215": ("CE01336", None, "El Centro - Hwy8/Meloland Overpass [Abandoned]"),
|
|
25
|
+
"47-0048": ("CE54730", None, "Lake Crowley - Hwy 395 Bridge"),
|
|
26
|
+
"04-0228": ("CE89686", None, "Eureka - Samoa Channel Bridge"),
|
|
27
|
+
"04-0236": ("CE89324", None, "Rio Dell - Hwy 101/Painter St. Overpass"),
|
|
28
|
+
"54-0823G": ("CE23631", None, "San Bernardino - I10/215 Interchange Br"),
|
|
29
|
+
"33-0214L": ("CE58658", None, "Hayward - Hwy 580/238 Interchange Bridge"),
|
|
30
30
|
|
|
31
31
|
#-------------------------------------
|
|
32
32
|
|
|
33
|
-
"34-0006": "CE58600",
|
|
34
|
-
# "34-0006": "CE58601",
|
|
35
|
-
# "34-0006": "CE58602",
|
|
36
|
-
# "34-0006": "CE58603",
|
|
37
|
-
"34-0003": "CE58632",
|
|
38
|
-
|
|
39
|
-
"35-0054": "CE58677",
|
|
40
|
-
# "35-0054": "CE58799",
|
|
41
|
-
"53-3032": "CE14709",
|
|
42
|
-
"51-0104": "CE25749",
|
|
43
|
-
"44-0298": "CE47646",
|
|
44
|
-
"44-0060": "CE47729",
|
|
45
|
-
# "37-0470L": "CE57748",
|
|
46
|
-
# "37-0470K": "CE57748",
|
|
47
|
-
"27-0013": "CE68778",
|
|
48
|
-
"17-0058L": "CE76741",
|
|
49
|
-
"06-0210": "CE88638",
|
|
50
|
-
"54-0474F": "CE12666",
|
|
51
|
-
"53-1185": "CE14690",
|
|
52
|
-
"50-0402R": "CE34715",
|
|
53
|
-
"33-0347S": "CE58656",
|
|
54
|
-
"33-0302H": "CE58657",
|
|
55
|
-
# "35-0285": "CE58678",
|
|
56
|
-
|
|
57
|
-
"01-0020": "CE99190",
|
|
58
|
-
"01-0028": "CE99710",
|
|
59
|
-
"10-0081": "CE69760",
|
|
60
|
-
"10-0134": "CE79683",
|
|
61
|
-
"10-0031": "CE79757",
|
|
62
|
-
"10-0030": "CE79761",
|
|
63
|
-
"10-0176": "CE79296",
|
|
64
|
-
|
|
65
|
-
"06-0021": "CE88194",
|
|
66
|
-
|
|
67
|
-
"24-0045": "CE67972",
|
|
68
|
-
|
|
69
|
-
"35-0038": "CE58596",
|
|
70
|
-
"35-0130": "CE58536",
|
|
71
|
-
"35-0031": "CE58754",
|
|
72
|
-
"28-0009": "CE67771",
|
|
73
|
-
"28-0153": "CE68682",
|
|
74
|
-
"28-0153R": "CE68322",
|
|
75
|
-
"28-0100": "CE58258",
|
|
76
|
-
"36-0088R": "CE47707",
|
|
77
|
-
"20-0195": "CE69671",
|
|
78
|
-
"20-0235": "CE68717",
|
|
79
|
-
|
|
80
|
-
"51-0090": "CE26917",
|
|
81
|
-
"49-0036": "CE36668",
|
|
82
|
-
"49-0046": "CE37728",
|
|
83
|
-
"51-0066": "CE25758",
|
|
84
|
-
|
|
85
|
-
"53-1630G": "CE24670",
|
|
86
|
-
"53-2318G": "CE24689",
|
|
87
|
-
"52-0449": "CE25324",
|
|
88
|
-
"52-0331L": "CE24738",
|
|
89
|
-
"52-0214L": "CE25725",
|
|
90
|
-
|
|
91
|
-
"54-1177": "CE22503",
|
|
92
|
-
"56-0452F": "CE12649",
|
|
93
|
-
"54-0783R": "CE23650",
|
|
94
|
-
|
|
95
|
-
"23-0064": "CE68065",
|
|
96
|
-
|
|
97
|
-
"57-0520L": "CE03731",
|
|
98
|
-
"57-0857": "CE03679",
|
|
99
|
-
"27-0052": "CE58700",
|
|
33
|
+
"34-0006": ("CE58600", None, "Oakland - SF Bay Bridge/East: SAS"),
|
|
34
|
+
# "34-0006": ("CE58601", "04-SF-80-8.7" , "Oakland - SF Bay Bridge/East: Skyway"),
|
|
35
|
+
# "34-0006": ("CE58602", None, "Oakland - SF Bay Bridge/East: YBITS"),
|
|
36
|
+
# "34-0006": ("CE58603", None, "Oakland - SF Bay Bridge/East: E Approach"),
|
|
37
|
+
"34-0003": ("CE58632", "04-SF-80-5.6" , "San Francisco - Bay Bridge/West"),
|
|
38
|
+
|
|
39
|
+
"35-0054": ("CE58677", None, "San Mateo Bridge"),
|
|
40
|
+
# "35-0054": ("CE58799", None, "San Mateo Bridge Trestle"),
|
|
41
|
+
"53-3032": ("CE14709", None, "Long Beach - Schuyler Heim Bridge"),
|
|
42
|
+
"51-0104": ("CE25749", None, "Santa Barbara - San Roque Canyon Bridge"),
|
|
43
|
+
"44-0298": ("CE47646", None, "Big Sur - New Hwy 1/Pfeiffer Cnyn Bridge"),
|
|
44
|
+
"44-0060": ("CE47729", None, "Big Sur - Hwy 1/Pfeiffer Canyon Bridge [Demolished]"),
|
|
45
|
+
# "37-0470L": ("CE57748", None, "Santa Clara - Hwy 237/Alviso Overpass"),
|
|
46
|
+
# "37-0470K": ("CE57748", None, "Santa Clara - Hwy 237/Alviso Overpass"),
|
|
47
|
+
"27-0013": ("CE68778", None, "Novato - Hwy37/Petaluma River Bridge"),
|
|
48
|
+
"17-0058L": ("CE76741", None, "Truckee - I80/Truckee River Bridge"),
|
|
49
|
+
"06-0210": ("CE88638", None, "Shasta Lake - I5/Antlers Bridge"),
|
|
50
|
+
"54-0474F": ("CE12666", None, "North Palm Springs - I10/Hwy 62 Bridge"),
|
|
51
|
+
"53-1185": ("CE14690", None, "Los Angeles - I405/San Gabriel River Br"),
|
|
52
|
+
"50-0402R": ("CE34715", None, "Mojave - Hwy 14/Railroad Bridge"),
|
|
53
|
+
"33-0347S": ("CE58656", None, "Oakland - Hwy 580/13 Interchange Bridge"),
|
|
54
|
+
"33-0302H": ("CE58657", None, "Oakland - Hwy 580/24 Interchange Bridge"),
|
|
55
|
+
# "35-0285": ("CE58678", None, "Belmont - I280 Pedestrian Bridge"),
|
|
56
|
+
|
|
57
|
+
"01-0020": ("CE99190", "01-DN-101-36.06" , "Crescent City - Hwy 101/Smith Rvr Bridge"),
|
|
58
|
+
"01-0028": ("CE99710", "01-DN-101-R4.04" , "Klamath - Hwy 101/Klamath River Bridge"),
|
|
59
|
+
"10-0081": ("CE69760", "01-MEN-101-R9.53" , "Hopland - Hwy 101/Railroad Bridge"),
|
|
60
|
+
"10-0134": ("CE79683", "01-MEN-1-43.00" , "Albion - Hwy 1/Salmon Creek Bridge"),
|
|
61
|
+
"10-0031": ("CE79757", "01-MEN-271-5.2" , "Leggett - Cedar Creek Bridge"),
|
|
62
|
+
"10-0030": ("CE79761", "01-MEN-271-4.9" , "Leggett - Big Dann Bridge"),
|
|
63
|
+
"10-0176": ("CE79296", "01-MEN-1-96.9" , "Fort Bragg - Hwy 1/Noyo River Bridge"),
|
|
64
|
+
|
|
65
|
+
"06-0021": ("CE88194", "02-SHA-5-R28.14" , "Redding - I5/Shasta Lake Bridge"),
|
|
66
|
+
|
|
67
|
+
"24-0045": ("CE67972", "03-YOL-80-7.25" , "West Sacramento - I80/Yolo Causeway"),
|
|
68
|
+
|
|
69
|
+
"35-0038": ("CE58596", "04-SM-84-29.0" , "Dumbarton Bridge"),
|
|
70
|
+
"35-0130": ("CE58536", "04-SM-101-23.7" , "South San Francisco - Sierra Pt Overpass"),
|
|
71
|
+
"35-0031": ("CE58754", "04-SM-1-20.82" , "Half Moon Bay - Hwy 1/Tunitas Cr. Bridge"),
|
|
72
|
+
"28-0009": ("CE67771", "04-CC-160-0.82" , "Antioch - San Joaquin River Bridge"),
|
|
73
|
+
"28-0153": ("CE68682", "04-CC-68-25.04" , "Benicia - Martinez"),
|
|
74
|
+
"28-0153R": ("CE68322", "04-CC,Sol-680-L0.0" , "Benicia - Martinez/I680 East Bridge"),
|
|
75
|
+
"28-0100": ("CE58258", "04-CC,MRN-580-6.1/7.8,0.0/2.6" , "Richmond - San Rafael Bridge"),
|
|
76
|
+
"36-0088R": ("CE47707", "04-SCR-1-R1.59" , "Watsonville - Hwy1/Struve Slough Bridge"),
|
|
77
|
+
"20-0195": ("CE69671", "04-SON-1-19.72" , "Jenner - Hwy 1/Russian River Bridge"),
|
|
78
|
+
"20-0235": ("CE68717", "04-SON-101-13.88" , "Rohnert Park - Hwy 101 Bridge"),
|
|
79
|
+
|
|
80
|
+
"51-0090": ("CE26917", "05-SB-01-R6.78" , "Lompoc - Hwy 1/El Jaro Creek Bridge"),
|
|
81
|
+
"49-0036": ("CE36668", "05-SLO-46-54.77" , "Parkfield - Hwy 46/Cholame Creek Bridge"),
|
|
82
|
+
"49-0046": ("CE37728", "05-SLO-52.92" , "San Simeon - Hwy 1/San Simeon Crk Bridge"),
|
|
83
|
+
"51-0066": ("CE25758", "05-SB-166-R69.94" , "Cuyama - Hwy 166/Cuyama River Bridge"),
|
|
84
|
+
|
|
85
|
+
"53-1630G": ("CE24670", "07-LS-405-29.43" , "Los Angeles - I10/405 Interchange Bridge"),
|
|
86
|
+
"53-2318G": ("CE24689", "07-LA-134-R13.25" , "Pasadena - I210/Hwy134 Interchnge Bridge"),
|
|
87
|
+
"52-0449": ("CE25324", "07-VEN-101-37.21" , "Oxnard - Hwy 101/Santa Clara Rvr Bridge"),
|
|
88
|
+
"52-0331L": ("CE24738", "07-VEN-023/118-21.0" , "Moorpark - Hwy 23/118 Bridge"),
|
|
89
|
+
"52-0214L": ("CE25725", "07-VEN-101-R26" , "Ventura - Hwy101/Telephone Rd. Bridge"),
|
|
90
|
+
|
|
91
|
+
"54-1177": ("CE22503", "08-SBd-18,38-44.4" , "Big Bear Lake - Hwys 18 & 38 Bridge"),
|
|
92
|
+
"56-0452F": ("CE12649", "08-RIV-10-6.67" , "Beaumont - I10/60 Interchange Bridge"),
|
|
93
|
+
"54-0783R": ("CE23650", "08-SBD-15-16.35" , "Devore - I15/215 Interchange Bridge"),
|
|
94
|
+
|
|
95
|
+
"23-0064": ("CE68065", "10-SOL-37-R7.39" , "Vallejo - Hwy 37/Napa River Bridge"),
|
|
96
|
+
|
|
97
|
+
"57-0520L": ("CE03731", "11-SD-5-25.91" , "San Diego - I5/Hwy 52 Interchange Bridge"),
|
|
98
|
+
"57-0857": ("CE03679", "11-SD-75-R20.49" , "San Diego - Coronado Bridge"),
|
|
99
|
+
"27-0052": ("CE58700", "" , "San Francisco - Golden Gate Bridge"),
|
|
100
100
|
}
|
|
101
101
|
|
|
102
102
|
"""
|
|
103
|
-
"": "CE24714",
|
|
104
|
-
"": "CE25697",
|
|
103
|
+
"": ("CE24714", None, "San Fernando - I210/Hwy 118 Bridge [Abandoned]"),
|
|
104
|
+
"": ("CE25697", None, "Cuyama Valley - Hwy 33/Quatal Cyn Bridge [Abandoned]"),
|
|
105
105
|
"": "NP5235", # "Riverside; Santa Ana River Bridge"
|
|
106
106
|
"": "NP1571", # "San Jose; Interchange 101/280/680"
|
|
107
107
|
|
|
108
|
-
"": "CE58414",
|
|
109
|
-
"": "CE57595",
|
|
108
|
+
"": ("CE58414", None, "Pacifica - Hwy1/Devils Slide Bridge"),
|
|
109
|
+
"": ("CE57595", None, "Fremont - Channel B Bridge"),
|
|
110
110
|
"": "CE14703", # "Long Beach - Gerald Desmond Bridge",
|
|
111
111
|
"": "CE58501", # "Hayward - BART Elevated Section",
|
|
112
112
|
"": "CE58633", # "San Francisco - Bay Bridge/East [Abandoned]",
|
|
113
113
|
"""
|
|
114
114
|
|
|
115
|
-
CALID = {v: k for k, v in CESMD.items()}
|
|
115
|
+
CALID = {v[0]: k for k, v in CESMD.items()}
|
|
@@ -111,7 +111,6 @@ def load_assets(NBI_DATA):
|
|
|
111
111
|
calid = item.replace(" ", "-")
|
|
112
112
|
nbi = get_nbi(item)
|
|
113
113
|
config = find_bridge(BRIDGES, calid)
|
|
114
|
-
cesmd = CESMD.get(calid, None)
|
|
115
114
|
try:
|
|
116
115
|
if skip(nbi, ROUTES) or item == "33 0726L":
|
|
117
116
|
continue
|
|
@@ -125,13 +124,9 @@ def load_assets(NBI_DATA):
|
|
|
125
124
|
try:
|
|
126
125
|
asset = Asset.objects.get(calid=calid)
|
|
127
126
|
if UPDATE_ASSETS:
|
|
128
|
-
if cesmd is not None:
|
|
129
|
-
asset.cesmd = cesmd
|
|
130
|
-
asset.cgs_data = CGS_DATA.get(cesmd, {})
|
|
131
127
|
asset.nbi_data = nbi
|
|
132
128
|
asset.save()
|
|
133
129
|
|
|
134
|
-
# print(">> Saved ", calid, f"({cesmd = })")
|
|
135
130
|
|
|
136
131
|
except Asset.DoesNotExist:
|
|
137
132
|
if nbi is None:
|
|
@@ -139,13 +134,10 @@ def load_assets(NBI_DATA):
|
|
|
139
134
|
continue
|
|
140
135
|
|
|
141
136
|
name = config.get("name", nbi["NBI_BRIDGE"]["Location"])
|
|
142
|
-
asset = Asset(
|
|
143
|
-
calid=calid,
|
|
137
|
+
asset = Asset(calid=calid,
|
|
144
138
|
name = name,
|
|
145
|
-
cgs_data = CGS_DATA.get(cesmd, {}),
|
|
146
139
|
nbi_data = nbi,
|
|
147
140
|
is_complete=False)
|
|
148
|
-
print(asset)
|
|
149
141
|
|
|
150
142
|
count += 1
|
|
151
143
|
|
|
@@ -194,5 +186,3 @@ class Command(BaseCommand):
|
|
|
194
186
|
|
|
195
187
|
except orjson.JSONDecodeError as e:
|
|
196
188
|
print(f"Failed to parse JSON in {member.name}: {e}")
|
|
197
|
-
|
|
198
|
-
|
|
@@ -1,25 +1,36 @@
|
|
|
1
1
|
import irie
|
|
2
2
|
import numpy as np
|
|
3
3
|
from irie.apps.inventory.models import Asset
|
|
4
|
+
from irie.init.calid import CALID, CESMD
|
|
4
5
|
from pathlib import Path
|
|
5
6
|
from django.core.management.base import BaseCommand
|
|
6
7
|
import json
|
|
7
8
|
|
|
8
9
|
DATA = Path(irie.__file__).parents[0]/"init"/"data"
|
|
9
10
|
|
|
11
|
+
with open(DATA/"cgs_data.json") as f:
|
|
12
|
+
CGS_DATA = json.loads(f.read())
|
|
13
|
+
|
|
10
14
|
class Command(BaseCommand):
|
|
11
15
|
def handle(self, *args, **kwargs):
|
|
12
16
|
with open(DATA/"cgs-stations.json") as f:
|
|
13
17
|
stations = json.load(f)
|
|
14
18
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
loc = [loc[1], loc[0]]
|
|
19
|
+
count = 0
|
|
20
|
+
try:
|
|
18
21
|
for asset in Asset.objects.all():
|
|
19
|
-
if
|
|
20
|
-
|
|
21
|
-
cesmd = f"{props['network']}{props['code']}"
|
|
22
|
+
if asset.calid not in CESMD:
|
|
23
|
+
continue
|
|
22
24
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
+
cesmd = CESMD[asset.calid][0]
|
|
26
|
+
asset.cesmd = CESMD[asset.calid][0]
|
|
27
|
+
asset.name = CESMD[asset.calid][2]
|
|
28
|
+
asset.cgs_data = CGS_DATA.get(cesmd, {})
|
|
29
|
+
asset.save()
|
|
30
|
+
print(asset)
|
|
31
|
+
count += 1
|
|
25
32
|
|
|
33
|
+
except Exception as e:
|
|
34
|
+
print(f"Updated {count} assets")
|
|
35
|
+
raise e
|
|
36
|
+
print(f"Updated {count} assets")
|