irie 0.0.55__tar.gz → 0.0.57__tar.gz

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 (510) hide show
  1. {irie-0.0.55 → irie-0.0.57}/PKG-INFO +6 -5
  2. {irie-0.0.55 → irie-0.0.57}/pyproject.toml +8 -10
  3. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/inventory/models.py +22 -1
  4. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/inventory/urls.py +3 -0
  5. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/inventory/views.py +67 -2
  6. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/prediction/models.py +7 -5
  7. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/prediction/runners/opensees/__init__.py +179 -177
  8. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/prediction/runners/opensees/metrics.py +37 -34
  9. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/prediction/views.py +13 -12
  10. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/includes/asset-event-table.html +1 -1
  11. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/inventory/asset-profile.html +8 -3
  12. irie-0.0.57/src/irie/apps/templates/inventory/asset-sensors.html +94 -0
  13. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/inventory/sensor-upload.html +88 -54
  14. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/prediction/asset-predictors.html +5 -1
  15. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/sensors/render-sensors.js +1 -1
  16. {irie-0.0.55 → irie-0.0.57}/src/irie/rest/__main__.py +5 -1
  17. {irie-0.0.55 → irie-0.0.57}/src/irie.egg-info/PKG-INFO +6 -5
  18. {irie-0.0.55 → irie-0.0.57}/src/irie.egg-info/requires.txt +4 -3
  19. irie-0.0.55/src/irie/apps/templates/inventory/asset-sensors.html +0 -73
  20. {irie-0.0.55 → irie-0.0.57}/README.md +0 -0
  21. {irie-0.0.55 → irie-0.0.57}/setup.cfg +0 -0
  22. {irie-0.0.55 → irie-0.0.57}/src/irie/__init__.py +0 -0
  23. {irie-0.0.55 → irie-0.0.57}/src/irie/__main__.py +0 -0
  24. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/__init__.py +0 -0
  25. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/admin_dash/__init__.py +0 -0
  26. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/admin_dash/admin.py +0 -0
  27. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/admin_dash/apps.py +0 -0
  28. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/admin_dash/forms.py +0 -0
  29. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/admin_dash/models.py +0 -0
  30. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/admin_dash/templatetags/__init__.py +0 -0
  31. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/admin_dash/templatetags/admin_material.py +0 -0
  32. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/admin_dash/templatetags/replace_value.py +0 -0
  33. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/admin_dash/urls.py +0 -0
  34. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/admin_dash/utils.py +0 -0
  35. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/admin_dash/views.py +0 -0
  36. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/authentication/__init__.py +0 -0
  37. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/authentication/admin.py +0 -0
  38. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/authentication/config.py +0 -0
  39. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/authentication/forms.py +0 -0
  40. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/authentication/migrations/__init__.py +0 -0
  41. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/authentication/models.py +0 -0
  42. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/authentication/tests.py +0 -0
  43. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/authentication/urls.py +0 -0
  44. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/authentication/views.py +0 -0
  45. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/config.py +0 -0
  46. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/context_processors.py +0 -0
  47. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/documents/__init__.py +0 -0
  48. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/documents/apps.py +0 -0
  49. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/documents/documents.py +0 -0
  50. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/documents/migrations/__init__.py +0 -0
  51. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/documents/tests.py +0 -0
  52. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/documents/urls.py +0 -0
  53. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/documents/views.py +0 -0
  54. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/evaluation/__init__.py +0 -0
  55. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/evaluation/admin.py +0 -0
  56. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/evaluation/apps.py +0 -0
  57. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/evaluation/daemon.py +0 -0
  58. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/evaluation/identification.py +0 -0
  59. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/evaluation/migrations/0001_initial.py +0 -0
  60. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/evaluation/migrations/0002_evaluation_status.py +0 -0
  61. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/evaluation/migrations/__init__.py +0 -0
  62. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/evaluation/models.py +0 -0
  63. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/evaluation/urls.py +0 -0
  64. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/evaluation/views.py +0 -0
  65. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/events/__init__.py +0 -0
  66. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/events/admin.py +0 -0
  67. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/events/apps.py +0 -0
  68. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/events/migrations/0001_initial.py +0 -0
  69. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/events/migrations/0002_rename_event_eventrecord.py +0 -0
  70. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/events/migrations/0003_hazardevent.py +0 -0
  71. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/events/migrations/__init__.py +0 -0
  72. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/events/models.py +0 -0
  73. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/events/tests.py +0 -0
  74. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/events/tests_events.py +0 -0
  75. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/events/urls.py +0 -0
  76. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/events/views.py +0 -0
  77. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/events/views_events.py +0 -0
  78. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/inventory/__init__.py +0 -0
  79. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/inventory/admin.py +0 -0
  80. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/inventory/apps.py +0 -0
  81. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/inventory/archive/CESMD.py +0 -0
  82. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/inventory/archive/calid.py +0 -0
  83. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/inventory/fields.py +0 -0
  84. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/inventory/filters.py +0 -0
  85. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/inventory/forms.py +0 -0
  86. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/inventory/migrations/0001_initial.py +0 -0
  87. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/inventory/migrations/0002_alter_asset_bridge_sensors_and_more.py +0 -0
  88. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/inventory/migrations/0003_asset_notes.py +0 -0
  89. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/inventory/migrations/0004_datum_sensorgroup_sensor.py +0 -0
  90. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/inventory/migrations/0005_alter_sensor_group.py +0 -0
  91. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/inventory/migrations/0006_datum_asset_datum_locate_x_datum_locate_y_and_more.py +0 -0
  92. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/inventory/migrations/0007_sensor_name.py +0 -0
  93. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/inventory/migrations/0008_alter_sensor_dx_alter_sensor_dy_alter_sensor_dz_and_more.py +0 -0
  94. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/inventory/migrations/__init__.py +0 -0
  95. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/inventory/services/render.py +0 -0
  96. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/inventory/sitemaps.py +0 -0
  97. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/inventory/tables.py +0 -0
  98. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/inventory/templatetags/__init__.py +0 -0
  99. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/inventory/templatetags/get.py +0 -0
  100. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/inventory/templatetags/nbi.py +0 -0
  101. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/management/__init__.py +0 -0
  102. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/management/commands/__init__.py +0 -0
  103. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/networks/__init__.py +0 -0
  104. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/networks/apps.py +0 -0
  105. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/networks/forms.py +0 -0
  106. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/networks/migrations/__init__.py +0 -0
  107. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/networks/models.py +0 -0
  108. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/networks/networks.py +0 -0
  109. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/networks/tests.py +0 -0
  110. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/networks/urls.py +0 -0
  111. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/networks/views.py +0 -0
  112. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/prediction/__init__.py +0 -0
  113. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/prediction/admin.py +0 -0
  114. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/prediction/apps.py +0 -0
  115. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/prediction/forms.py +0 -0
  116. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/prediction/metrics.py +0 -0
  117. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/prediction/migrations/0001_initial.py +0 -0
  118. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/prediction/migrations/0002_alter_predictormodel_protocol.py +0 -0
  119. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/prediction/migrations/0003_alter_predictormodel_protocol.py +0 -0
  120. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/prediction/migrations/0004_sensorassignment.py +0 -0
  121. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/prediction/migrations/0005_remove_sensorassignment_offset_x_and_more.py +0 -0
  122. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/prediction/migrations/0006_remove_sensorassignment_show_x_and_more.py +0 -0
  123. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/prediction/migrations/__init__.py +0 -0
  124. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/prediction/predictor.py +0 -0
  125. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/prediction/runners/__init__.py +0 -0
  126. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/prediction/runners/hazus.py +0 -0
  127. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/prediction/runners/opensees/schemas/__init__.py +0 -0
  128. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/prediction/runners/opensees/schemas/hwd_analysis.schema.json +0 -0
  129. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/prediction/runners/opensees/schemas/hwd_analysis_default.json +0 -0
  130. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/prediction/runners/opensees/schemas/hwd_conf.schema.json +0 -0
  131. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/prediction/runners/opensees/schemas/hwd_conf_default.json +0 -0
  132. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/prediction/runners/opensees/schemas/hwd_results.schema.json +0 -0
  133. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/prediction/runners/opensees/schemas/hwd_results_default.json +0 -0
  134. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/prediction/runners/opensees/utilities.py +0 -0
  135. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/prediction/runners/opensees/xmlutils.py +0 -0
  136. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/prediction/runners/opensees/zipped.py +0 -0
  137. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/prediction/runners/ssid.py +0 -0
  138. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/prediction/templatetags/__init__.py +0 -0
  139. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/prediction/templatetags/predictor.py +0 -0
  140. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/prediction/urls.py +0 -0
  141. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/prediction/views_api.py +0 -0
  142. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/site/__init__.py +0 -0
  143. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/site/admin.py +0 -0
  144. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/site/config.py +0 -0
  145. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/site/migrations/__init__.py +0 -0
  146. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/site/models.py +0 -0
  147. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/site/templatetags/__init__.py +0 -0
  148. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/site/templatetags/indexing.py +0 -0
  149. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/site/tests.py +0 -0
  150. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/site/urls.py +0 -0
  151. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/site/view_sdof.py +0 -0
  152. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/site/view_utils.py +0 -0
  153. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/site/views.py +0 -0
  154. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/sitemaps.py +0 -0
  155. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/content_images/brace/ForceFrame.png +0 -0
  156. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/content_images/brace/mdof.svg +0 -0
  157. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/content_images/brace/opensees.jpg +0 -0
  158. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/content_images/brace/sdof.svg +0 -0
  159. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/content_images/brace/sees.png +0 -0
  160. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/css/brace.css +0 -0
  161. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/css/brace.css.map +0 -0
  162. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/css/brace.min.css +0 -0
  163. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/css/uPlot.min.css +0 -0
  164. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/img/brace2-no_text.png +0 -0
  165. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/img/brand/dark.svg +0 -0
  166. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/img/brand/light.svg +0 -0
  167. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/img/colStrains.svg +0 -0
  168. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/img/colStrains_big.png +0 -0
  169. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/img/colStrains_small.png +0 -0
  170. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/img/colStrains_svg_optimizer.svg +0 -0
  171. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/img/colStrains_svg_optimizer.xml +0 -0
  172. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/img/drift.svg +0 -0
  173. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/img/earthquake-hazard.png +0 -0
  174. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/img/favicon/android-chrome-192x192.png +0 -0
  175. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/img/favicon/android-chrome-512x512.png +0 -0
  176. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/img/favicon/apple-touch-icon.png +0 -0
  177. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/img/favicon/browserconfig.xml +0 -0
  178. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/img/favicon/favicon-16x16.png +0 -0
  179. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/img/favicon/favicon-32x32.png +0 -0
  180. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/img/favicon/favicon.ico +0 -0
  181. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/img/favicon/manifest.json +0 -0
  182. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/img/favicon/mstile-150x150.png +0 -0
  183. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/img/favicon/safari-pinned-tab.svg +0 -0
  184. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/img/favicon/site.webmanifest +0 -0
  185. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/img/icons/github.svg +0 -0
  186. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/img/icons/google-tag-manager.svg +0 -0
  187. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/img/icons/google_analytics.svg +0 -0
  188. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/img/illustrations/404.svg +0 -0
  189. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/img/illustrations/500.svg +0 -0
  190. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/img/illustrations/bs5-illustrations.svg +0 -0
  191. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/img/illustrations/signin.svg +0 -0
  192. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/img/marker.svg +0 -0
  193. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/img/metric.png +0 -0
  194. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/img/painter.png +0 -0
  195. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/img/paypal-logo.svg +0 -0
  196. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/img/peer-black.svg +0 -0
  197. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/img/peer-light.svg +0 -0
  198. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/img/predictors.png +0 -0
  199. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/img/profile-cover.jpg +0 -0
  200. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/img/soga-logo.jpeg +0 -0
  201. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/img/twin.png +0 -0
  202. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll01336.svg +0 -0
  203. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll01336_1.svg +0 -0
  204. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll13705.svg +0 -0
  205. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll13795.svg +0 -0
  206. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll14406.svg +0 -0
  207. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll23631.svg +0 -0
  208. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll23631_1.svg +0 -0
  209. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll24694.svg +0 -0
  210. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll24704.svg +0 -0
  211. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll24706.svg +0 -0
  212. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll24775.svg +0 -0
  213. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll33742.svg +0 -0
  214. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll47315.svg +0 -0
  215. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll54730.svg +0 -0
  216. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll58600-2.svg +0 -0
  217. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll58600-3.svg +0 -0
  218. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll58600-4.svg +0 -0
  219. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll58600.svg +0 -0
  220. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll58601-2.svg +0 -0
  221. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll58601-3.svg +0 -0
  222. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll58601-4.svg +0 -0
  223. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll58601.svg +0 -0
  224. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll58632-2.svg +0 -0
  225. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll58632-3.svg +0 -0
  226. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll58632-4.svg +0 -0
  227. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll58632-5.svg +0 -0
  228. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll58632-6.svg +0 -0
  229. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll58632-7.svg +0 -0
  230. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll58632-8.svg +0 -0
  231. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll58632.svg +0 -0
  232. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll58658-2.svg +0 -0
  233. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll58658-3.svg +0 -0
  234. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll58658.svg +0 -0
  235. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll58658_1.svg +0 -0
  236. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll58658_2.svg +0 -0
  237. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll58658_3.svg +0 -0
  238. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll58700-1.svg +0 -0
  239. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll58700-3.svg +0 -0
  240. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll58700-4.svg +0 -0
  241. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll58700.svg +0 -0
  242. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll68184.svg +0 -0
  243. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll68185-2.svg +0 -0
  244. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll68185-3.svg +0 -0
  245. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll68185-4.svg +0 -0
  246. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll68185-5.svg +0 -0
  247. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll68185-6.svg +0 -0
  248. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll68185-7.svg +0 -0
  249. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll68185-8.svg +0 -0
  250. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll68185.svg +0 -0
  251. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll68682-2.svg +0 -0
  252. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll68682-3.svg +0 -0
  253. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll68682-4.svg +0 -0
  254. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll68682-5.svg +0 -0
  255. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll68682.svg +0 -0
  256. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll79421.svg +0 -0
  257. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll89324.svg +0 -0
  258. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll89324_2.svg +0 -0
  259. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll89686.svg +0 -0
  260. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll89708-2.svg +0 -0
  261. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll89708.svg +0 -0
  262. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll89735.svg +0 -0
  263. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll89736.svg +0 -0
  264. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/inventory/ll89973.svg +0 -0
  265. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/js/787.545aecf5.chunk.js +0 -0
  266. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/js/brace.js +0 -0
  267. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/js/d3.v4.min.js +0 -0
  268. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/js/events_api.js +0 -0
  269. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/js/events_page.js +0 -0
  270. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/js/fmkFunctions.js +0 -0
  271. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/js/jsonview.bundle.js +0 -0
  272. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/js/login_page.js +0 -0
  273. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/js/main.1c459f17.js +0 -0
  274. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/js/uPlot.iife.min.js +0 -0
  275. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/cjs/popper-base.js +0 -0
  276. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/cjs/popper-base.js.flow +0 -0
  277. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/cjs/popper-lite.js +0 -0
  278. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/cjs/popper-lite.js.flow +0 -0
  279. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/cjs/popper.js +0 -0
  280. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/cjs/popper.js.flow +0 -0
  281. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/createPopper.js +0 -0
  282. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/contains.js +0 -0
  283. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getBoundingClientRect.js +0 -0
  284. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getClippingRect.js +0 -0
  285. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getCompositeRect.js +0 -0
  286. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getComputedStyle.js +0 -0
  287. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getDocumentElement.js +0 -0
  288. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getDocumentRect.js +0 -0
  289. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getHTMLElementScroll.js +0 -0
  290. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getLayoutRect.js +0 -0
  291. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getNodeName.js +0 -0
  292. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getNodeScroll.js +0 -0
  293. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getOffsetParent.js +0 -0
  294. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getParentNode.js +0 -0
  295. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getScrollParent.js +0 -0
  296. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getViewportRect.js +0 -0
  297. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getWindow.js +0 -0
  298. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getWindowScroll.js +0 -0
  299. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getWindowScrollBarX.js +0 -0
  300. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/instanceOf.js +0 -0
  301. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/isScrollParent.js +0 -0
  302. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/isTableElement.js +0 -0
  303. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/listScrollParents.js +0 -0
  304. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/enums.js +0 -0
  305. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/index.js +0 -0
  306. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/modifiers/applyStyles.js +0 -0
  307. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/modifiers/arrow.js +0 -0
  308. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/modifiers/computeStyles.js +0 -0
  309. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/modifiers/eventListeners.js +0 -0
  310. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/modifiers/flip.js +0 -0
  311. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/modifiers/hide.js +0 -0
  312. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/modifiers/index.js +0 -0
  313. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/modifiers/offset.js +0 -0
  314. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/modifiers/popperOffsets.js +0 -0
  315. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/modifiers/preventOverflow.js +0 -0
  316. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/popper-base.js +0 -0
  317. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/popper-lite.js +0 -0
  318. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/popper.js +0 -0
  319. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/types.js +0 -0
  320. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/computeAutoPlacement.js +0 -0
  321. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/computeOffsets.js +0 -0
  322. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/debounce.js +0 -0
  323. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/detectOverflow.js +0 -0
  324. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/expandToHashMap.js +0 -0
  325. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/format.js +0 -0
  326. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/getAltAxis.js +0 -0
  327. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/getAltLen.js +0 -0
  328. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/getBasePlacement.js +0 -0
  329. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/getFreshSideObject.js +0 -0
  330. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/getMainAxisFromPlacement.js +0 -0
  331. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/getOppositePlacement.js +0 -0
  332. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/getOppositeVariationPlacement.js +0 -0
  333. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/getVariation.js +0 -0
  334. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/math.js +0 -0
  335. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/mergeByName.js +0 -0
  336. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/mergePaddingObject.js +0 -0
  337. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/orderModifiers.js +0 -0
  338. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/rectToClientRect.js +0 -0
  339. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/uniqueBy.js +0 -0
  340. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/validateModifiers.js +0 -0
  341. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/within.js +0 -0
  342. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/umd/popper-base.min.js +0 -0
  343. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/umd/popper-base.min.js.flow +0 -0
  344. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/umd/popper-lite.min.js +0 -0
  345. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/umd/popper-lite.min.js.flow +0 -0
  346. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/umd/popper.min.js +0 -0
  347. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/umd/popper.min.js.flow +0 -0
  348. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/bootstrap/dist/css/bootstrap-grid.min.css +0 -0
  349. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/bootstrap/dist/css/bootstrap-grid.rtl.min.css +0 -0
  350. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/bootstrap/dist/css/bootstrap-reboot.min.css +0 -0
  351. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/bootstrap/dist/css/bootstrap-reboot.rtl.min.css +0 -0
  352. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/bootstrap/dist/css/bootstrap-utilities.min.css +0 -0
  353. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/bootstrap/dist/css/bootstrap-utilities.rtl.min.css +0 -0
  354. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/bootstrap/dist/css/bootstrap.min.css +0 -0
  355. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/bootstrap/dist/css/bootstrap.rtl.min.css +0 -0
  356. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/bootstrap/dist/js/bootstrap.bundle.min.js +0 -0
  357. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/bootstrap/dist/js/bootstrap.esm.min.js +0 -0
  358. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/bootstrap/dist/js/bootstrap.min.js +0 -0
  359. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/chartist-plugin-tooltips/dist/chartist-plugin-tooltip.css +0 -0
  360. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/chartist-plugin-tooltips/dist/chartist-plugin-tooltip.min.js +0 -0
  361. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/notyf/notyf.es.js +0 -0
  362. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/notyf/notyf.min.css +0 -0
  363. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/notyf/notyf.min.js +0 -0
  364. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/notyf/notyf.umd.js +0 -0
  365. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/nouislider/distribute/nouislider.min.css +0 -0
  366. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/nouislider/distribute/nouislider.min.js +0 -0
  367. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/nouislider/distribute/nouislider.min.mjs +0 -0
  368. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/nouislider/distribute/nouislider.mjs +0 -0
  369. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/onscreen/dist/index.js +0 -0
  370. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/onscreen/dist/on-screen.es6.js +0 -0
  371. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/onscreen/dist/on-screen.umd.min.js +0 -0
  372. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/simplebar/dist/simplebar-core.esm.js +0 -0
  373. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/simplebar/dist/simplebar.esm.js +0 -0
  374. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/simplebar/dist/simplebar.min.css +0 -0
  375. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/simplebar/dist/simplebar.min.js +0 -0
  376. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/simplebar/dist/simplebar.umd.js +0 -0
  377. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/smooth-scroll/dist/smooth-scroll.min.js +0 -0
  378. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/smooth-scroll/dist/smooth-scroll.polyfills.min.js +0 -0
  379. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/sweetalert2/dist/sweetalert2.all.min.js +0 -0
  380. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/sweetalert2/dist/sweetalert2.min.css +0 -0
  381. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/sweetalert2/dist/sweetalert2.min.js +0 -0
  382. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/waypoints/lib/jquery.waypoints.min.js +0 -0
  383. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/waypoints/lib/noframework.waypoints.min.js +0 -0
  384. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/waypoints/lib/shortcuts/infinite.min.js +0 -0
  385. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/waypoints/lib/shortcuts/inview.min.js +0 -0
  386. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/waypoints/lib/shortcuts/sticky.min.js +0 -0
  387. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/waypoints/lib/waypoints.debug.js +0 -0
  388. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/waypoints/lib/zepto.waypoints.min.js +0 -0
  389. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/waypoints/licenses.txt +0 -0
  390. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/assets/vendor/waypoints/testem.json +0 -0
  391. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/favicon.ico +0 -0
  392. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/static/sitemap.xml +0 -0
  393. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/accounts/login.html +0 -0
  394. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/accounts/register.html +0 -0
  395. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/admin/base_site.html +0 -0
  396. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/admin/color_theme_toggle.html +0 -0
  397. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/bridges/InteractiveTwin-CE58658.html +0 -0
  398. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/css/admin-extra.css +0 -0
  399. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/documents/documents.html +0 -0
  400. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/events/EarthquakeResponse.html +0 -0
  401. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/events/event-table.html +0 -0
  402. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/events/events.html +0 -0
  403. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/events/login.html +0 -0
  404. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/events/react_and_bootstrap.html +0 -0
  405. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/home/asset.html +0 -0
  406. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/includes/footer.html +0 -0
  407. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/includes/modal-report.html +0 -0
  408. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/includes/navigation.html +0 -0
  409. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/includes/paginate.js +0 -0
  410. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/includes/scripts.html +0 -0
  411. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/includes/settings-box.html +0 -0
  412. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/includes/sidebar.html +0 -0
  413. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/inventory/asset-evals.html +0 -0
  414. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/inventory/asset-event-summary.html +0 -0
  415. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/inventory/asset-on-map.html +0 -0
  416. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/inventory/asset-table.html +0 -0
  417. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/inventory/bridge-dashboard.html +0 -0
  418. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/inventory/bridge.html +0 -0
  419. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/inventory/dashboard.html +0 -0
  420. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/inventory/map-inventory.html +0 -0
  421. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/inventory/map-inventory2.html +0 -0
  422. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/inventory/map-single-asset.html +0 -0
  423. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/inventory/map-single-asset2.html +0 -0
  424. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/inventory/map-terrain.html +0 -0
  425. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/inventory/preamble.tex +0 -0
  426. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/inventory/report.tex +0 -0
  427. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/inventory/three-maps.html +0 -0
  428. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/layouts/base-fullscreen.html +0 -0
  429. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/layouts/base.html +0 -0
  430. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/layouts/json-form.html +0 -0
  431. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/networks/_networks.html +0 -0
  432. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/networks/corridor_table.html +0 -0
  433. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/networks/networks.js +0 -0
  434. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/networks/styled_inputs.html +0 -0
  435. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/prediction/create-mdof.html +0 -0
  436. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/prediction/create-model.html +0 -0
  437. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/prediction/hazus/event.html +0 -0
  438. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/prediction/hazus/history.html +0 -0
  439. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/prediction/hazus/history.js +0 -0
  440. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/prediction/new-runner.html +0 -0
  441. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/prediction/predictor-profile.html +0 -0
  442. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/prediction/veux/navigator.html +0 -0
  443. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/prediction/veux/navigator.js +0 -0
  444. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/prediction/xara-profile.html +0 -0
  445. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/site/about.html +0 -0
  446. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/site/asset_map.html +0 -0
  447. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/site/components-forms.html +0 -0
  448. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/site/index.html +0 -0
  449. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/site/json-form.html +0 -0
  450. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/site/page-400-sidebar.html +0 -0
  451. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/site/page-400.html +0 -0
  452. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/site/page-403.html +0 -0
  453. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/site/page-404-sidebar.html +0 -0
  454. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/site/page-404.html +0 -0
  455. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/site/page-500.html +0 -0
  456. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/site/page-forgot-password.html +0 -0
  457. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/site/page-lock.html +0 -0
  458. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/site/page-reset-password.html +0 -0
  459. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/site/page-sign-in.html +0 -0
  460. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/site/page-sign-up.html +0 -0
  461. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/site/qr-0001.html +0 -0
  462. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/site/qr-0002.html +0 -0
  463. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/site/qr-0003.html +0 -0
  464. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/site/qr-0004.html +0 -0
  465. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/site/robots.txt +0 -0
  466. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/site/settings.html +0 -0
  467. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/site/tables-bootstrap-tables.html +0 -0
  468. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/site/transactions.html +0 -0
  469. {irie-0.0.55 → irie-0.0.57}/src/irie/apps/templates/site/unused-dashboard-cards.html +0 -0
  470. {irie-0.0.55 → irie-0.0.57}/src/irie/core/__init__.py +0 -0
  471. {irie-0.0.55 → irie-0.0.57}/src/irie/core/asgi.py +0 -0
  472. {irie-0.0.55 → irie-0.0.57}/src/irie/core/settings.py +0 -0
  473. {irie-0.0.55 → irie-0.0.57}/src/irie/core/urls.py +0 -0
  474. {irie-0.0.55 → irie-0.0.57}/src/irie/core/wsgi.py +0 -0
  475. {irie-0.0.55 → irie-0.0.57}/src/irie/fhwa/__init__.py +0 -0
  476. {irie-0.0.55 → irie-0.0.57}/src/irie/fhwa/__main__.py +0 -0
  477. {irie-0.0.55 → irie-0.0.57}/src/irie/fhwa/fields/nbi001.py +0 -0
  478. {irie-0.0.55 → irie-0.0.57}/src/irie/fhwa/fields/nbi001b.py +0 -0
  479. {irie-0.0.55 → irie-0.0.57}/src/irie/fhwa/fields/nbi002.py +0 -0
  480. {irie-0.0.55 → irie-0.0.57}/src/irie/fhwa/fields.py +0 -0
  481. {irie-0.0.55 → irie-0.0.57}/src/irie/init/__init__.py +0 -0
  482. {irie-0.0.55 → irie-0.0.57}/src/irie/init/__main__.py +0 -0
  483. {irie-0.0.55 → irie-0.0.57}/src/irie/init/bridges.py +0 -0
  484. {irie-0.0.55 → irie-0.0.57}/src/irie/init/calid.py +0 -0
  485. {irie-0.0.55 → irie-0.0.57}/src/irie/init/data/cgs-stations.json +0 -0
  486. {irie-0.0.55 → irie-0.0.57}/src/irie/init/data/cgs_data.json +0 -0
  487. {irie-0.0.55 → irie-0.0.57}/src/irie/init/data/nbe_data-california.json +0 -0
  488. {irie-0.0.55 → irie-0.0.57}/src/irie/init/data/nbi/04.tar +0 -0
  489. {irie-0.0.55 → irie-0.0.57}/src/irie/init/data/nbi_codes-california-filtered.json +0 -0
  490. {irie-0.0.55 → irie-0.0.57}/src/irie/init/data/nbi_codes-california.json +0 -0
  491. {irie-0.0.55 → irie-0.0.57}/src/irie/init/data/nbi_data-california.json +0 -0
  492. {irie-0.0.55 → irie-0.0.57}/src/irie/init/data/nbi_data_cesmd.json +0 -0
  493. {irie-0.0.55 → irie-0.0.57}/src/irie/init/data/nbi_definitions.json +0 -0
  494. {irie-0.0.55 → irie-0.0.57}/src/irie/init/data/networks/soga_corridors.json +0 -0
  495. {irie-0.0.55 → irie-0.0.57}/src/irie/init/getBridgeData.py +0 -0
  496. {irie-0.0.55 → irie-0.0.57}/src/irie/init/getCGSData.py +0 -0
  497. {irie-0.0.55 → irie-0.0.57}/src/irie/init/getCGSevents.py +0 -0
  498. {irie-0.0.55 → irie-0.0.57}/src/irie/init/getNBIData.py +0 -0
  499. {irie-0.0.55 → irie-0.0.57}/src/irie/init/hayward.zip +0 -0
  500. {irie-0.0.55 → irie-0.0.57}/src/irie/init/management/commands/init_assets.py +0 -0
  501. {irie-0.0.55 → irie-0.0.57}/src/irie/init/management/commands/init_cesmd.py +0 -0
  502. {irie-0.0.55 → irie-0.0.57}/src/irie/init/management/commands/init_corridors.py +0 -0
  503. {irie-0.0.55 → irie-0.0.57}/src/irie/init/management/commands/init_predictors.py +0 -0
  504. {irie-0.0.55 → irie-0.0.57}/src/irie/init/management/commands/make_asset.py +0 -0
  505. {irie-0.0.55 → irie-0.0.57}/src/irie/pull/nbi.py +0 -0
  506. {irie-0.0.55 → irie-0.0.57}/src/irie/usgs/__main__.py +0 -0
  507. {irie-0.0.55 → irie-0.0.57}/src/irie.egg-info/SOURCES.txt +0 -0
  508. {irie-0.0.55 → irie-0.0.57}/src/irie.egg-info/dependency_links.txt +0 -0
  509. {irie-0.0.55 → irie-0.0.57}/src/irie.egg-info/entry_points.txt +0 -0
  510. {irie-0.0.55 → irie-0.0.57}/src/irie.egg-info/top_level.txt +0 -0
@@ -1,11 +1,11 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: irie
3
- Version: 0.0.55
3
+ Version: 0.0.57
4
4
  Summary: An infrastructure resilience engine
5
5
  Author-email: "Claudio M. Perez" <50180406+claudioperez@users.noreply.github.com>
6
6
  Project-URL: Repository, https://github.com/STAIRLab
7
7
  Project-URL: Documentation, https://stairlab.berkeley.edu/software/irie/
8
- Keywords: visualization,seismic,opensees,resilience,post-processing,structural-health-monitoring,finite-element-analysis,glTF
8
+ Keywords: resilience,structural-health-monitoring,finite-element-analysis,xara
9
9
  Classifier: Development Status :: 4 - Beta
10
10
  Classifier: Intended Audience :: Science/Research
11
11
  Classifier: Intended Audience :: Developers
@@ -27,12 +27,13 @@ Classifier: Operating System :: Unix
27
27
  Classifier: Operating System :: MacOS
28
28
  Description-Content-Type: text/markdown
29
29
  Requires-Dist: tqdm
30
- Requires-Dist: opensees
30
+ Requires-Dist: opensees>=0.1.0
31
31
  Requires-Dist: quakeio
32
32
  Requires-Dist: mdof
33
- Requires-Dist: veux
33
+ Requires-Dist: veux>=0.0.35
34
34
  Requires-Dist: xara
35
- Requires-Dist: bottle
35
+ Requires-Dist: xcsi
36
+ Requires-Dist: xsection>=0.0.19
36
37
  Requires-Dist: openbim
37
38
  Requires-Dist: folium
38
39
  Requires-Dist: pandas
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "irie"
3
- version = "0.0.55"
3
+ version = "0.0.57"
4
4
  authors = [
5
5
  {name="Claudio M. Perez", email="50180406+claudioperez@users.noreply.github.com"}
6
6
  ]
@@ -9,25 +9,23 @@ description="An infrastructure resilience engine"
9
9
  readme = "README.md"
10
10
 
11
11
  keywords = [
12
- "visualization",
13
- "seismic",
14
- "opensees",
15
12
  "resilience",
16
- "post-processing",
17
13
  "structural-health-monitoring",
18
14
  "finite-element-analysis",
19
- "glTF"
15
+ "xara"
20
16
  ]
21
17
 
22
18
  dependencies = [
23
19
  "tqdm",
24
- "opensees",
20
+ "opensees>=0.1.0",
25
21
  "quakeio",
26
22
  "mdof",
27
- "veux",
23
+ "veux>=0.0.35",
28
24
  "xara",
29
- "bottle",
30
- "openbim",
25
+ "xcsi",
26
+ "xsection>=0.0.19",
27
+ "openbim", # TODO: remove, superceded by xcsi
28
+
31
29
  "folium",
32
30
  "pandas",
33
31
  "numpy",
@@ -96,6 +96,7 @@ class Asset(models.Model):
96
96
  ordering = ["-id"]
97
97
 
98
98
 
99
+
99
100
  class Vulnerability: # (models.Model):
100
101
  type = None
101
102
  asset = None
@@ -125,6 +126,7 @@ class SensorGroup(models.Model):
125
126
  def __str__(self):
126
127
  return f"{self.asset.calid} - {self.name} ({self.datum})"
127
128
 
129
+
128
130
  class Sensor(models.Model):
129
131
  # class Status:
130
132
  # active: bool
@@ -138,12 +140,31 @@ class Sensor(models.Model):
138
140
  dy = models.DecimalField(decimal_places=2, max_digits=10)
139
141
  dz = models.DecimalField(decimal_places=2, max_digits=10)
140
142
 
141
- group = models.ForeignKey(SensorGroup, related_name="sensors", on_delete=models.RESTRICT)
143
+ group = models.ForeignKey(SensorGroup,
144
+ related_name="sensors",
145
+ on_delete=models.RESTRICT)
142
146
 
143
147
  def __str__(self):
144
148
  return f"{self.group.asset.calid} - {self.name} ({self.group.name})"
145
149
 
146
150
 
151
+ def acceleration(self, event):
152
+ import quakeio
153
+
154
+ motion_data = (
155
+ quakeio.read(
156
+ event.event_file.path, input_format="csmip.zip"
157
+ )
158
+ )
159
+
160
+ series = motion_data.match("l", station_channel=f"{self.name}").accel.data
161
+
162
+ return [
163
+ (series*float(self.dx)).tolist(),
164
+ (series*float(self.dy)).tolist(),
165
+ (series*float(self.dz)).tolist()
166
+ ]
167
+
147
168
 
148
169
  # class Rendering:
149
170
  # def __init__(self, url=None, units, datum):
@@ -25,8 +25,11 @@ urlpatterns = [
25
25
  ),
26
26
  re_path("^inventory/(?P<calid>[0-9 A-Z-]*)/evaluations/$", views.asset_evals, name="asset_evals"),
27
27
  re_path("^inventory/(?P<calid>[0-9 A-Z-]*)/$", views.asset_profile, name="asset_profile"),
28
+ # Sensors
28
29
  re_path("^inventory/(?P<calid>[0-9 A-Z-]*)/sensors/$", views.asset_sensors, name="asset_sensors"),
29
30
  re_path("^inventory/(?P<calid>[0-9 A-Z-]*)/sensor_upload", views.sensor_upload, name="sensor_upload"),
31
+ path("inventory/<slug:calid>/sensors/<int:group_id>/edit/", views.sensor_edit, name="sensor_edit"),
32
+
30
33
 
31
34
  path("inventory/map2/", views.map_inventory),
32
35
  path("california.json", views.california_json),
@@ -408,14 +408,16 @@ def asset_sensors(request, calid):
408
408
  asset = Asset.objects.get(calid=calid)
409
409
  context = {
410
410
  "asset": asset,
411
+ "segment": "assets",
411
412
  "groups": SensorGroup.objects.filter(asset=asset)
412
413
  }
413
414
  html_template = loader.get_template("inventory/asset-sensors.html")
414
415
  return HttpResponse(html_template.render(context, request))
415
416
 
417
+
416
418
  @login_required(login_url="/login/")
417
419
  def sensor_upload(request, calid):
418
- asset = get_object_or_404(Asset, calid=calid) # Fetch the asset using calid
420
+ asset = get_object_or_404(Asset, calid=calid)
419
421
  datums = Datum.objects.filter(asset=asset).values(
420
422
  'id', 'orient_x', 'locate_x', 'orient_y', 'locate_y', 'orient_z', 'locate_z'
421
423
  )
@@ -443,7 +445,8 @@ def sensor_upload(request, calid):
443
445
  formset = SensorFormSet()
444
446
 
445
447
  context = {
446
- "group_form": group_form,
448
+ "group_form": group_form,
449
+ "segment": "assets",
447
450
  "formset": formset,
448
451
  "renderings": [
449
452
  {"name": predictor.name, "glb": predictor.render_file.url}
@@ -456,6 +459,68 @@ def sensor_upload(request, calid):
456
459
  return render(request, "inventory/sensor-upload.html", context)
457
460
 
458
461
 
462
+ @login_required(login_url="/login/")
463
+ def sensor_edit(request, calid, group_id):
464
+ """
465
+ Edit an existing SensorGroup + its Sensors while re-using the
466
+ sensor-upload.html template.
467
+ """
468
+ from django.forms import modelformset_factory
469
+
470
+ asset = get_object_or_404(Asset, calid=calid)
471
+ sensor_group = get_object_or_404(SensorGroup, pk=group_id, asset=asset)
472
+
473
+ #
474
+ SensorFormSet = modelformset_factory(
475
+ Sensor,
476
+ form=SensorForm,
477
+ extra=0,
478
+ can_delete=True,
479
+ )
480
+
481
+ if request.method == "POST":
482
+ group_form = SensorGroupForm(request.POST, instance=sensor_group, asset=asset)
483
+ formset = SensorFormSet(request.POST, queryset=sensor_group.sensors.all())
484
+
485
+ if group_form.is_valid() and formset.is_valid():
486
+ # update the group fields
487
+ group_form.save()
488
+
489
+ # saves edits, additions (extra rows you may allow), and deletions
490
+ sensors = formset.save(commit=False)
491
+ for sensor in sensors:
492
+ sensor.group = sensor_group
493
+ sensor.save()
494
+
495
+ # any forms flagged for deletion come back in formset.deleted_objects
496
+ for obj in formset.deleted_objects:
497
+ obj.delete()
498
+
499
+ return redirect("asset_sensors", calid=calid)
500
+ else:
501
+ group_form = SensorGroupForm(instance=sensor_group, asset=asset)
502
+ formset = SensorFormSet(queryset=sensor_group.sensors.all())
503
+
504
+ context = {
505
+ "group_form": group_form,
506
+ "segment": "assets",
507
+ "formset": formset,
508
+ "is_edit": True, # optional flag so the template can tweak titles/buttons
509
+ "renderings": [
510
+ {"name": p.name, "glb": p.render_file.url}
511
+ for p in PredictorModel.objects.filter(asset=asset, protocol="IRIE_PREDICTOR_V1")
512
+ if p.render_file and p.render_file.url
513
+ ],
514
+ "asset": asset,
515
+ "datums": list(
516
+ Datum.objects.filter(asset=asset).values(
517
+ "id", "orient_x", "locate_x", "orient_y", "locate_y", "orient_z", "locate_z"
518
+ )
519
+ ),
520
+ }
521
+ return render(request, "inventory/sensor-upload.html", context)
522
+
523
+
459
524
  def _filter_asset_table(request):
460
525
  # Copy the GET parameters and remove the 'page' parameter
461
526
  page_query = request.GET.copy()
@@ -34,8 +34,10 @@ class PredictorModel(models.Model):
34
34
  def __str__(self):
35
35
  return f"{self.asset.calid} - {self.name} : {self.description}"
36
36
 
37
- def get_runner(self):
38
- pass
37
+ @property
38
+ def runner(self):
39
+ from irie.apps.prediction.predictor import PREDICTOR_TYPES
40
+ return PREDICTOR_TYPES[self.protocol](self)
39
41
 
40
42
  def get_artist(self):
41
43
  pass
@@ -53,9 +55,9 @@ class SensorAssignment(models.Model):
53
55
  ]
54
56
  )
55
57
 
56
- orient_z = models.FloatField()
57
- orient_x = models.FloatField()
58
- orient_y = models.FloatField()
58
+ # orient_z = models.FloatField()
59
+ # orient_x = models.FloatField()
60
+ # orient_y = models.FloatField()
59
61
  # show_x = models.FloatField()
60
62
  # show_y = models.FloatField()
61
63
  # show_z = models.FloatField()