chellow 1732281664.0.0__py3-none-any.whl → 1733501869.0.0__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 chellow might be problematic. Click here for more details.

Files changed (47) hide show
  1. chellow/__init__.py +0 -1
  2. chellow/e/bill_parsers/mm.py +28 -5
  3. chellow/e/computer.py +1 -7
  4. chellow/e/hh_parser_df2.py +29 -12
  5. chellow/e/views.py +4 -10
  6. chellow/gas/engine.py +1 -3
  7. chellow/gas/views.py +3 -2
  8. chellow/reports/report_109.py +2 -3
  9. chellow/reports/report_111.py +2 -3
  10. chellow/reports/report_169.py +2 -3
  11. chellow/reports/report_181.py +2 -3
  12. chellow/reports/report_183.py +3 -4
  13. chellow/reports/report_187.py +2 -3
  14. chellow/reports/report_219.py +2 -3
  15. chellow/reports/report_231.py +2 -3
  16. chellow/reports/report_233.py +2 -3
  17. chellow/reports/report_241.py +2 -3
  18. chellow/reports/report_247.py +2 -3
  19. chellow/reports/report_29.py +2 -3
  20. chellow/reports/report_291.py +2 -3
  21. chellow/reports/report_33.py +2 -3
  22. chellow/reports/report_387.py +2 -3
  23. chellow/reports/report_41.py +2 -3
  24. chellow/reports/report_429.py +2 -3
  25. chellow/reports/report_59.py +2 -3
  26. chellow/reports/report_81.py +2 -3
  27. chellow/reports/report_87.py +3 -7
  28. chellow/reports/report_asset_comparison.py +2 -3
  29. chellow/reports/report_batches.py +2 -3
  30. chellow/reports/report_bills.py +4 -3
  31. chellow/reports/report_csv_llfcs.py +2 -3
  32. chellow/reports/report_csv_site_hh_data.py +2 -3
  33. chellow/reports/report_csv_site_snags.py +2 -3
  34. chellow/reports/report_ecoes_comparison.py +2 -3
  35. chellow/reports/report_g_monthly_duration.py +2 -3
  36. chellow/reports/report_g_supplies_snapshot.py +2 -3
  37. chellow/reports/report_g_supply_virtual_bill.py +2 -3
  38. chellow/reports/report_g_virtual_bills.py +2 -3
  39. chellow/reports/report_g_virtual_bills_hh.py +2 -3
  40. chellow/reports/report_sscs.py +2 -3
  41. chellow/reports/report_supply_contacts.py +2 -3
  42. chellow/templates/e/dc_contract_properties_edit.html +10 -1
  43. chellow/utils.py +0 -2
  44. chellow/views.py +33 -48
  45. {chellow-1732281664.0.0.dist-info → chellow-1733501869.0.0.dist-info}/METADATA +1 -1
  46. {chellow-1732281664.0.0.dist-info → chellow-1733501869.0.0.dist-info}/RECORD +47 -47
  47. {chellow-1732281664.0.0.dist-info → chellow-1733501869.0.0.dist-info}/WHEEL +0 -0
chellow/views.py CHANGED
@@ -135,19 +135,9 @@ from chellow.utils import (
135
135
  home = Blueprint("home", __name__, url_prefix="", template_folder="templates")
136
136
 
137
137
 
138
- def chellow_redirect(path, code=None):
139
- location = chellow.utils.url_root + path
140
- if code is None:
141
- res = redirect(location)
142
- else:
143
- res = redirect(location, code)
144
-
145
- return res
146
-
147
-
148
138
  def hx_redirect(path, status=None):
149
139
  res = Response(status=status)
150
- res.headers["HX-Redirect"] = chellow.utils.url_root + path
140
+ res.headers["HX-Redirect"] = path
151
141
  return res
152
142
 
153
143
 
@@ -165,7 +155,7 @@ def requires_editor(f):
165
155
  @home.route("/configuration", methods=["GET"])
166
156
  def configuration():
167
157
  config = Contract.get_non_core_by_name(g.sess, "configuration")
168
- return chellow_redirect(f"/non_core_contracts/{config.id}")
158
+ return redirect(f"/non_core_contracts/{config.id}")
169
159
 
170
160
 
171
161
  @home.route("/health")
@@ -215,7 +205,7 @@ def local_reports_post():
215
205
  return Response("There's already a report with that name.", status=400)
216
206
  else:
217
207
  raise
218
- return chellow_redirect(f"/local_reports/{report.id}", 303)
208
+ return redirect(f"/local_reports/{report.id}", 303)
219
209
 
220
210
 
221
211
  @home.route("/local_reports/<int:report_id>")
@@ -229,7 +219,7 @@ def local_report_post(report_id):
229
219
  report = Report.get_by_id(g.sess, report_id)
230
220
  if "delete" in request.values:
231
221
  g.sess.delete(report)
232
- return chellow_redirect("/local_reports", 303)
222
+ return redirect("/local_reports", 303)
233
223
 
234
224
  else:
235
225
  name = req_str("name")
@@ -243,7 +233,7 @@ def local_report_post(report_id):
243
233
  return Response("There's already a report with that name.", status=400)
244
234
  else:
245
235
  raise
246
- return chellow_redirect(f"/local_reports/{report.id}", 303)
236
+ return redirect(f"/local_reports/{report.id}", 303)
247
237
 
248
238
 
249
239
  @home.route("/scenarios")
@@ -259,7 +249,7 @@ def scenario_add_post():
259
249
  properties = req_zish("properties")
260
250
  scenario = Scenario.insert(g.sess, name, properties)
261
251
  g.sess.commit()
262
- return chellow_redirect(f"/scenarios/{scenario.id}", 303)
252
+ return redirect(f"/scenarios/{scenario.id}", 303)
263
253
  except BadRequest as e:
264
254
  g.sess.rollback()
265
255
  flash(e.description)
@@ -352,16 +342,13 @@ def scenario_edit_post(scenario_id):
352
342
  properties = req_zish("properties")
353
343
  scenario.update(name, properties)
354
344
  g.sess.commit()
355
- return chellow_redirect(f"/scenarios/{scenario.id}", 303)
345
+ return redirect(f"/scenarios/{scenario.id}", 303)
356
346
  except BadRequest as e:
357
347
  g.sess.rollback()
358
348
  description = e.description
359
349
  flash(description)
360
350
  return make_response(
361
- render_template(
362
- "scenario_edit.html",
363
- scenario=scenario,
364
- ),
351
+ render_template("scenario_edit.html", scenario=scenario),
365
352
  400,
366
353
  )
367
354
 
@@ -372,9 +359,7 @@ def scenario_edit_delete(scenario_id):
372
359
  scenario = Scenario.get_by_id(g.sess, scenario_id)
373
360
  scenario.delete(g.sess)
374
361
  g.sess.commit()
375
- res = make_response()
376
- res.headers["HX-Redirect"] = f"{chellow.utils.url_root}/e/scenarios"
377
- return res
362
+ return hx_redirect("/scenarios")
378
363
  except BadRequest as e:
379
364
  g.sess.rollback()
380
365
  flash(e.description)
@@ -633,7 +618,7 @@ def users_post():
633
618
  party = g.sess.query(Party).get(party_id)
634
619
  user = User.insert(g.sess, email_address, password, role, party)
635
620
  g.sess.commit()
636
- return chellow_redirect("/users/" + str(user.id), 303)
621
+ return redirect("/users/" + str(user.id), 303)
637
622
  except BadRequest as e:
638
623
  g.sess.rollback()
639
624
  flash(e.description)
@@ -669,11 +654,11 @@ def user_post(user_id):
669
654
  raise BadRequest("The password must be at least 6 characters long.")
670
655
  user.set_password(new_password)
671
656
  g.sess.commit()
672
- return chellow_redirect("/users/" + str(user.id), 303)
657
+ return redirect("/users/" + str(user.id), 303)
673
658
  elif "delete" in request.values:
674
659
  g.sess.delete(user)
675
660
  g.sess.commit()
676
- return chellow_redirect("/users", 303)
661
+ return redirect("/users", 303)
677
662
  else:
678
663
  email_address = req_str("email_address")
679
664
  user_role_code = req_str("user_role_code")
@@ -684,7 +669,7 @@ def user_post(user_id):
684
669
  party = Party.get_by_id(g.sess, party_id)
685
670
  user.update(email_address, user_role, party)
686
671
  g.sess.commit()
687
- return chellow_redirect("/users/" + str(user.id), 303)
672
+ return redirect("/users/" + str(user.id), 303)
688
673
  except BadRequest as e:
689
674
  flash(e.description)
690
675
  parties = (
@@ -743,7 +728,7 @@ def general_imports_post():
743
728
  )
744
729
  f.seek(0)
745
730
  proc_id = chellow.general_import.start_process(f)
746
- return chellow_redirect("/general_imports/" + str(proc_id), 303)
731
+ return redirect(f"/general_imports/{proc_id}", 303)
747
732
  except BadRequest as e:
748
733
  flash(e.description)
749
734
  return render_template(
@@ -921,7 +906,7 @@ def site_edit_post(site_id):
921
906
  site.delete(g.sess)
922
907
  g.sess.commit()
923
908
  flash("Site deleted successfully.")
924
- return chellow_redirect("/sites", 303)
909
+ return redirect("/sites", 303)
925
910
 
926
911
  elif "update" in request.form:
927
912
  code = req_str("code")
@@ -929,7 +914,7 @@ def site_edit_post(site_id):
929
914
  site.update(code, name)
930
915
  g.sess.commit()
931
916
  flash("Site updated successfully.")
932
- return chellow_redirect(f"/sites/{site.id}", 303)
917
+ return redirect(f"/sites/{site.id}", 303)
933
918
 
934
919
  elif "insert_gas" in request.form:
935
920
  name = req_str("name")
@@ -967,7 +952,7 @@ def site_edit_post(site_id):
967
952
  soq,
968
953
  )
969
954
  g.sess.commit()
970
- return chellow_redirect(f"/g/supplies/{g_supply.id}", 303)
955
+ return redirect(f"/g/supplies/{g_supply.id}", 303)
971
956
  else:
972
957
  raise BadRequest(
973
958
  "The request must contain one of the following parameter names: "
@@ -1049,7 +1034,7 @@ def site_add_post():
1049
1034
  name = req_str("name")
1050
1035
  site = Site.insert(g.sess, code, name)
1051
1036
  g.sess.commit()
1052
- return chellow_redirect("/sites/" + str(site.id), 303)
1037
+ return redirect(f"/sites/{site.id}", 303)
1053
1038
  except BadRequest as e:
1054
1039
  flash(e.description)
1055
1040
  return render_template("site_add.html")
@@ -1079,7 +1064,7 @@ def sites_get():
1079
1064
  )
1080
1065
 
1081
1066
  if len(sites) == 1:
1082
- return chellow_redirect(f"/sites/{sites[0].id}")
1067
+ return redirect(f"/sites/{sites[0].id}")
1083
1068
  else:
1084
1069
  return render_template("sites.html", sites=sites, limit=LIMIT)
1085
1070
  else:
@@ -1147,9 +1132,9 @@ limit :max_results"""
1147
1132
  )
1148
1133
 
1149
1134
  if len(e_eras) == 1 and len(g_eras) == 0:
1150
- return chellow_redirect(f"/e/supplies/{e_eras[0].supply.id}", 307)
1135
+ return redirect(f"/e/supplies/{e_eras[0].supply.id}", 307)
1151
1136
  elif len(e_eras) == 0 and len(g_eras) == 1:
1152
- return chellow_redirect(f"/g/supplies/{g_eras[0].g_supply.id}", 307)
1137
+ return redirect(f"/g/supplies/{g_eras[0].g_supply.id}", 307)
1153
1138
  else:
1154
1139
  return render_template(
1155
1140
  "supplies.html", e_eras=e_eras, g_eras=g_eras, max_results=max_results
@@ -1595,7 +1580,7 @@ def report_run_post(run_id):
1595
1580
  run = g.sess.query(ReportRun).filter(ReportRun.id == run_id).one()
1596
1581
  run.delete(g.sess)
1597
1582
  g.sess.commit()
1598
- return chellow_redirect("/report_runs", 303)
1583
+ return redirect("/report_runs", 303)
1599
1584
 
1600
1585
 
1601
1586
  @home.route("/report_runs/<int:run_id>/spreadsheet")
@@ -1705,7 +1690,7 @@ def report_run_row_post(row_id):
1705
1690
  g.sess.commit()
1706
1691
  flash("Update successful")
1707
1692
 
1708
- return chellow_redirect(f"/report_run_rows/{row_id}", 303)
1693
+ return redirect(f"/report_run_rows/{row_id}", 303)
1709
1694
 
1710
1695
 
1711
1696
  @home.route("/non_core_contracts")
@@ -1905,17 +1890,17 @@ def non_core_contract_edit_post(contract_id):
1905
1890
  if "delete" in request.values:
1906
1891
  contract.delete(g.sess)
1907
1892
  g.sess.commit()
1908
- return chellow_redirect("/non_core_contracts", 303)
1893
+ return redirect("/non_core_contracts", 303)
1909
1894
  if "update_state" in request.values:
1910
1895
  state = req_zish("state")
1911
1896
  contract.update_state(state)
1912
1897
  g.sess.commit()
1913
- return chellow_redirect(f"/non_core_contracts/{contract.id}", 303)
1898
+ return redirect(f"/non_core_contracts/{contract.id}", 303)
1914
1899
  else:
1915
1900
  properties = req_zish("properties")
1916
1901
  contract.update_properties(properties)
1917
1902
  g.sess.commit()
1918
- return chellow_redirect(f"/non_core_contracts/{contract.id}", 303)
1903
+ return redirect(f"/non_core_contracts/{contract.id}", 303)
1919
1904
  except BadRequest as e:
1920
1905
  flash(e.description)
1921
1906
  return make_response(
@@ -2014,7 +1999,7 @@ def national_grid_get():
2014
1999
  def national_grid_post():
2015
2000
  importer = chellow.national_grid.importer
2016
2001
  importer.go()
2017
- return chellow_redirect("/national_grid", 303)
2002
+ return redirect("/national_grid", 303)
2018
2003
 
2019
2004
 
2020
2005
  @home.route("/non_core_contracts/<int:contract_id>/add_rate_script")
@@ -2037,7 +2022,7 @@ def non_core_rate_script_add_post(contract_id):
2037
2022
  start_date = req_date("start")
2038
2023
  rate_script = contract.insert_rate_script(g.sess, start_date, {})
2039
2024
  g.sess.commit()
2040
- return chellow_redirect("/non_core_rate_scripts/" + str(rate_script.id), 303)
2025
+ return redirect(f"/non_core_rate_scripts/{rate_script.id}", 303)
2041
2026
  except BadRequest as e:
2042
2027
  flash(e.description)
2043
2028
  now = utc_datetime_now()
@@ -2109,7 +2094,7 @@ def non_core_rate_script_edit_post(rs_id):
2109
2094
  if "delete" in request.values:
2110
2095
  contract.delete_rate_script(g.sess, rate_script)
2111
2096
  g.sess.commit()
2112
- return chellow_redirect(f"/non_core_contracts/{contract.id}", 303)
2097
+ return redirect(f"/non_core_contracts/{contract.id}", 303)
2113
2098
  else:
2114
2099
  script = req_zish("script")
2115
2100
  start_date = req_hh_date("start")
@@ -2121,7 +2106,7 @@ def non_core_rate_script_edit_post(rs_id):
2121
2106
  g.sess, rate_script, start_date, finish_date, script
2122
2107
  )
2123
2108
  g.sess.commit()
2124
- return chellow_redirect(f"/non_core_rate_scripts/{rate_script.id}", 303)
2109
+ return redirect(f"/non_core_rate_scripts/{rate_script.id}", 303)
2125
2110
  except BadRequest as e:
2126
2111
  g.sess.rollback()
2127
2112
  flash(e.description)
@@ -2152,7 +2137,7 @@ def non_core_auto_importer_post(contract_id):
2152
2137
  except ModuleNotFoundError:
2153
2138
  importer = import_module(f"chellow.e.{contract.name}").get_importer()
2154
2139
  importer.go()
2155
- return chellow_redirect(f"/non_core_contracts/{contract.id}/auto_importer", 303)
2140
+ return redirect(f"/non_core_contracts/{contract.id}/auto_importer", 303)
2156
2141
  except BadRequest as e:
2157
2142
  g.sess.rollback()
2158
2143
  flash(e.description)
@@ -2262,7 +2247,7 @@ def rate_server_get():
2262
2247
  def rate_server_post():
2263
2248
  importer = chellow.rate_server.importer
2264
2249
  importer.go()
2265
- return chellow_redirect("/rate_server", 303)
2250
+ return redirect("/rate_server", 303)
2266
2251
 
2267
2252
 
2268
2253
  @home.route("/tester")
@@ -2275,7 +2260,7 @@ def tester_get():
2275
2260
  def tester_post():
2276
2261
  tester = chellow.testing.tester
2277
2262
  tester.go()
2278
- return chellow_redirect("/tester", 303)
2263
+ return redirect("/tester", 303)
2279
2264
 
2280
2265
 
2281
2266
  @home.route("/user_roles")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: chellow
3
- Version: 1732281664.0.0
3
+ Version: 1733501869.0.0
4
4
  Summary: Web Application for checking UK energy bills.
5
5
  Project-URL: Homepage, https://github.com/WessexWater/chellow
6
6
  Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
@@ -1,4 +1,4 @@
1
- chellow/__init__.py,sha256=ML9TeTCsCbEEjXLwe9BjeSe9WDj9VVgfdfW-D74oxVU,9785
1
+ chellow/__init__.py,sha256=S1IjQChkEMA_MfzE5F1pPP-54bz_CRH4KE9X6SgX8bI,9722
2
2
  chellow/api.py,sha256=mk17TfweR76DPFC8lX2SArTjai6y6YshASxqO1w-_-s,11036
3
3
  chellow/bank_holidays.py,sha256=T_utYMwe_g1dz5X-aOTdIPryg49SvB7QsWM1yphlqG8,4423
4
4
  chellow/commands.py,sha256=ESBe9ZWj1c3vdZgqMZ9gFvYAB3hRag2R1PzOwuw9yFo,1302
@@ -11,8 +11,8 @@ chellow/proxy.py,sha256=cVXIktPlX3tQ1BYcwxq0nJXKE6r3DtFTtfFHPq55HaM,1351
11
11
  chellow/rate_server.py,sha256=fg-Pf_9Hk3bXmC9riPQNGQxBvLvBa_WtNYdwDCjnCSg,5678
12
12
  chellow/rrun.py,sha256=1Kt2q_K9UoDG_nsZz-Q6XJiMNKroWqlqFdxn2M6Q8CA,2088
13
13
  chellow/testing.py,sha256=Od4HHH6pZrhJ_De118_F55RJEKmAvhUH2S24QE9qFQk,3635
14
- chellow/utils.py,sha256=32qPWEGzCPKPhSM7ztpzcR6ZG74sVZanScDIdK50Rq4,19308
15
- chellow/views.py,sha256=qJrvhVjb3KL_sHDQl5dLhi0aqUe_IUYhrjiPjdk4lQI,84317
14
+ chellow/utils.py,sha256=Ej7dsbQ6Ee8X2aZ7B2Vs-hUFCsMABioAdOV1DJjwY-0,19293
15
+ chellow/views.py,sha256=d1q8OL3GL9dsyQARmiVe-somkj900MkG9lwaWpWduoA,83700
16
16
  chellow/e/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
17
  chellow/e/aahedc.py,sha256=d2usudp7KYWpU6Pk3fal5EQ47EbvkvKeaFGylnb3NWw,606
18
18
  chellow/e/bill_importer.py,sha256=7UcnqNlKbJc2GhW9gy8sDp9GuqambJVpZLvbafOZztA,7411
@@ -20,14 +20,14 @@ chellow/e/bmarketidx.py,sha256=C0BaHn2RxIuWH2QzA-OmSP0fbUGvW9tqEUhLnzOEdmA,7968
20
20
  chellow/e/bsuos.py,sha256=hdP9vnOJSuZl46OAkJeUg1XJYvYIBj4J6Sqce1Hy9Vs,15542
21
21
  chellow/e/ccl.py,sha256=30dh_SvlgzsTQPPAJNZWILaMvbeDsv9-P-S1JxS5_SQ,3184
22
22
  chellow/e/cfd.py,sha256=Gm435c42LFwZx1n-1UY1Tdx6mL1is7E0vRLWQe8RPOo,14184
23
- chellow/e/computer.py,sha256=jslEeLsSHbu4l95WDIHCytL2Fced-kLtyxZtvm2WEtg,67597
23
+ chellow/e/computer.py,sha256=Fq4SpEvCLArZHOGgSGqvm7mdAVLiswnNWspuuft4h70,67460
24
24
  chellow/e/dno_rate_parser.py,sha256=A5TP6KjyfT5lVWh7dX4SiXRi6wnf2lGv-H_T4Sod8CI,21731
25
25
  chellow/e/duos.py,sha256=nwviRjz-qIt3GxIMHk0hItIT4dtKsxOWq9TUC1z-hO8,30864
26
26
  chellow/e/elexon.py,sha256=ALhXS9Es7PV0z9ukPbIramn3cf3iLyFi-PMWPSm5iOs,5487
27
27
  chellow/e/energy_management.py,sha256=aXC2qlGt3FAODlNl_frWzVYAQrJLP8FFOiNX3m-QE_Y,12388
28
28
  chellow/e/hh_importer.py,sha256=adfogJgPWsJurPOVSBLLQ7m68s1LhfQmDYpAFnGm0eM,21510
29
29
  chellow/e/hh_parser_bg_csv.py,sha256=W5SU2MSpa8BGA0VJw1JXF-IwbCNLFy8fe35yxLZ7gEw,2453
30
- chellow/e/hh_parser_df2.py,sha256=tRAoVUUoJDlfPopm6usEBnhJz7dXMc2_KEWbkW9Gyq4,4330
30
+ chellow/e/hh_parser_df2.py,sha256=nZT198EZWo_G26IfJZncI_kOo-UdsXzFYDmDf3qyEs8,5089
31
31
  chellow/e/hh_parser_edf_csv.py,sha256=CLkkL1Z6BPgVV_3uwS6McmtMzgXkoEIoJnH8FsQk1C8,2839
32
32
  chellow/e/hh_parser_schneider_csv.py,sha256=m8FHwXp1Tbas91RPS7TriCskSNRuSaFf1SD9v2HXfSk,2366
33
33
  chellow/e/hh_parser_schneider_xlsx.py,sha256=Vtq0TNz-oojoKJm4PeH4ZwBp2I-mjArB9-FL71ctCHs,3590
@@ -43,7 +43,7 @@ chellow/e/system_price.py,sha256=6w5J7bzwFAZubE2zdOFRiS8IIrVP8hkoIOaG2yCt-Ic,623
43
43
  chellow/e/tlms.py,sha256=M33D6YpMixu2KkwSCzDRM3kThLgShg8exp63Obo75l8,8905
44
44
  chellow/e/tnuos.py,sha256=NBmc-f3oezrl4gviAKobljHfICTpBKxxxEGBGJi_lRk,4927
45
45
  chellow/e/triad.py,sha256=lIQj7EdUrcFwEqleuHZXYU_bfzIwNOqUVVxB3NPQt4A,13710
46
- chellow/e/views.py,sha256=ZISAhDQZHM8j0VKdMOqfNBtwSLTE9c0OtnsGVCaT0kE,216706
46
+ chellow/e/views.py,sha256=8xNeBgr4LFPPPYD-lcOV4S5tlV19zSMF66zoeBKrc8U,216492
47
47
  chellow/e/bill_parsers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
48
48
  chellow/e/bill_parsers/activity_mop_stark_xlsx.py,sha256=UgWXDPzQkQghyj_lfgBqoSJpHB-t-qOdSaB8qY6GLog,4071
49
49
  chellow/e/bill_parsers/annual_mop_stark_xlsx.py,sha256=-HMoIfa_utXYKA44RuC0Xqv3vd2HLeQU_4P0iBUd3WA,4219
@@ -58,7 +58,7 @@ chellow/e/bill_parsers/gdf_csv.py,sha256=ZfK3Oc6oP28p_P9DIevLNB_zW2WLcEJ3Lvb1gL3
58
58
  chellow/e/bill_parsers/haven_csv.py,sha256=0uENq8IgVNqdxfBQMBxLTSZWCOuDHXZC0xzk52SbfyE,13652
59
59
  chellow/e/bill_parsers/haven_edi.py,sha256=YGPHRxPOhje9s32jqPHHELni2tooOYj3cMC_qaZVPq4,16107
60
60
  chellow/e/bill_parsers/haven_edi_tprs.py,sha256=ZVX9CCqUybsot_Z0BEOJPvl9x5kSr7fEWyuJXvZDcz4,11841
61
- chellow/e/bill_parsers/mm.py,sha256=zeNF5F8uduQeEFjYOm5lfMS-DO3JjTB7oarA3H_Si5s,10019
61
+ chellow/e/bill_parsers/mm.py,sha256=CdYVV3OI-BCtpd9PohOPkY3127dhz0wOCtXOLCDRVsw,10724
62
62
  chellow/e/bill_parsers/nonsettlement_dc_stark_xlsx.py,sha256=yogXTuQHGRL7IiqvRWr2C9V24ez1j9Yx0128UygPE_k,4723
63
63
  chellow/e/bill_parsers/settlement_dc_stark_xlsx.py,sha256=PlEqCZuJ9DfQXeeYQ64jtf3ML7sUt_tt61QOOTnkE5c,6380
64
64
  chellow/e/bill_parsers/sse_edi.py,sha256=L85DOfNkqexeEIEr8pCBn_2sHJI-zEaw6cogpE3YyYM,15204
@@ -70,44 +70,44 @@ chellow/gas/bill_parser_total_edi.py,sha256=bMAeIkzHwNhv0qdKYXtRl-tzUUYtjNkbM3PM
70
70
  chellow/gas/ccl.py,sha256=DMlcPUELZi00CaDekVJINYk3GgH5apFrImVdmkbyba0,2913
71
71
  chellow/gas/cv.py,sha256=4cdYYQ8Qak6NeYdBCB4YaQ0jX8-UkaydIIdibCQuXxM,7344
72
72
  chellow/gas/dn_rate_parser.py,sha256=Mq8rAcUEUxIQOks59bsCKl8GrefvoHbrTCHqon9N0z0,11340
73
- chellow/gas/engine.py,sha256=NR96BtZKVYQ8hnZVb5oZelb8IhaxupyovNWoHK5ZhTk,25355
73
+ chellow/gas/engine.py,sha256=d2rR1y8b3u2QhmfqyFwwLu_loeZxY_3WwwtDyGJfam0,25282
74
74
  chellow/gas/transportation.py,sha256=Bkg8TWOs-v0ES-4qqwbleiOhqbE_t2KauUx9JYMZELM,5300
75
- chellow/gas/views.py,sha256=R4Ky8syioWSQJLTuSKVLsc266eDv8a6WEo_e60u_4ug,59021
75
+ chellow/gas/views.py,sha256=1_bPHA6i0BlQmQ6YhQaGSMnIm-81dO3ksHW5uL2n2NE,59003
76
76
  chellow/reports/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
77
- chellow/reports/report_109.py,sha256=FmRWG8wQC97cj0nqQH7mrfbYesRIKWXQLh6ERHvtHrU,11212
78
- chellow/reports/report_111.py,sha256=MBXMABwHonjH2cvkqFYC0Vx7rU7LB2mJxXsEjI0RvTU,28828
79
- chellow/reports/report_169.py,sha256=tnTiHmhigcgZ7E8rUSfgzsVYUCW947xBZZq04-KqfK8,9287
80
- chellow/reports/report_181.py,sha256=mCL6vXfrj8r0kL-LilDS0SnSu5tJOzCq7eMJVx9zpEw,4999
81
- chellow/reports/report_183.py,sha256=DZX-hHJPl_Tbgkt31C_cuLZg_5L2b6iCPQ5foOZizR0,8817
82
- chellow/reports/report_187.py,sha256=UvpaYHjyJFNV5puYq8_KxfzoBtVrwFgIGUOmC5oGA9A,9956
83
- chellow/reports/report_219.py,sha256=cA0lfJKnJg41Zc4_gZB1KUXZ9JeJo0TiTlu5jm1bdDM,7158
84
- chellow/reports/report_231.py,sha256=uhO1algP7sibpZVaniqGs56HOCPCQeDO-Y-UfvFQwnI,5311
85
- chellow/reports/report_233.py,sha256=HJRn4wH7RsYIduD2MNZYjFTbgb5LIu8_-jmUuRc0Q6Y,5016
86
- chellow/reports/report_241.py,sha256=AlFmSHnfG2HWv_ICmWX7fNpPwLHjq7mo1QtOTjSKO3k,5384
87
- chellow/reports/report_247.py,sha256=eQurEZB51uucdpvBRZ8riOTRs55px4hMo1r3BBeo4Uw,44550
88
- chellow/reports/report_29.py,sha256=KDFjgrLBv4WbG9efCdu_geMR7gT_QV9N97Wfdt7aDc4,2736
89
- chellow/reports/report_291.py,sha256=rqBXy6s7hMeYWw-yNX6w_L5t2yz6rNEeos_4xO7wf90,7519
90
- chellow/reports/report_33.py,sha256=laVz-itDbJTdvC6LxLEeuY0eKpYx43Un4adiExPTEEE,16730
91
- chellow/reports/report_387.py,sha256=kmBZopb0AOivcowO2nPjRj6LnV0_QjCDXLwqPL7IGVE,5672
92
- chellow/reports/report_41.py,sha256=QQeTshA1Og7N3wPaoZ8ynJzwsvZ1mgSFc7DDkVqIZoM,7447
93
- chellow/reports/report_429.py,sha256=8WlLqyfMyvIF5Kc6CE0MKwcT5xwmR_Ao99Ef72yAOVc,12668
94
- chellow/reports/report_59.py,sha256=3N5I9U-nqNGKz39IdBTyDMlb_-srwpo_0kwn9viQnYs,42262
95
- chellow/reports/report_81.py,sha256=NkT6dZeMo7Z0AkJemD_Xv8Ut5PIZ9vn8Ia1Q_DS9v54,5611
96
- chellow/reports/report_87.py,sha256=j2gdBOapaVY1ZnlNlw14RPx58_k8eUkc3oRSnKuCsNA,7057
97
- chellow/reports/report_asset_comparison.py,sha256=UN298MHuzyUDUiiZr7F_Ua6SrdVOlFLjgKjnIbrA-14,6118
98
- chellow/reports/report_batches.py,sha256=7O5TcB9W1sPKS0LQMsC6sUDzx73X5iyoZE0O3zK91zs,4798
99
- chellow/reports/report_bills.py,sha256=AHW6tiZAOE0gXDfencPvemE4zqK6eTqfN8_bWQ4RT5o,3323
100
- chellow/reports/report_csv_llfcs.py,sha256=OHSbP64lQ6dlAMcQYgvdANlA4lQyF0iBlwk7V9c9nuo,1944
101
- chellow/reports/report_csv_site_hh_data.py,sha256=yWhEoGGyg_ctM8T55raksTPRJ5ycVO6lVfUx5tRBzTQ,4372
102
- chellow/reports/report_csv_site_snags.py,sha256=gG2sYQrLoIBwCoMUC8rhmAL7Kffh_rvNb9UOX7cYDko,2668
103
- chellow/reports/report_ecoes_comparison.py,sha256=CaeMCpLifP-kh2O9MZPs0EYf4UqksL-xFjwki41DTRA,21444
104
- chellow/reports/report_g_monthly_duration.py,sha256=I1MsLr-VD6VczRB8YrDGuTXVXv_iKpBZiCA7DLqZQQc,18305
105
- chellow/reports/report_g_supplies_snapshot.py,sha256=0M0x_0o0985Hu45gUJJJwzfx0DDOAuXBJ1UVUDbQ36g,4718
106
- chellow/reports/report_g_supply_virtual_bill.py,sha256=x_KtQ02dwgmXvAEUXJ1poK0BRwqxa-GcbJ5pddEina0,3694
107
- chellow/reports/report_g_virtual_bills.py,sha256=t3hmTiURk1E_mPucIboCdPBlSLapDIUdHYRpVTFtJgw,4569
108
- chellow/reports/report_g_virtual_bills_hh.py,sha256=5crgu7oUrOSR9GAA1uhb8lJNn4gCUSBAaXci1gOuohE,3457
109
- chellow/reports/report_sscs.py,sha256=beCzKpaQaeeiyMGpX6o-gbl1tCS6ArdF1o4GeIQE67s,3255
110
- chellow/reports/report_supply_contacts.py,sha256=vyA3mLWqYISwOuRhzRIYQIWmvWXS1Vv_rJClq2IFBiw,3640
77
+ chellow/reports/report_109.py,sha256=Exb-FQ5f70-ier_h15CgHGysQ7vJ7k3gFZ1001zM3iM,11171
78
+ chellow/reports/report_111.py,sha256=o_wWyrtmxpTnmT9DVlsG5h5wdm3JqojirRlx_7W5_kQ,28787
79
+ chellow/reports/report_169.py,sha256=wortJyvgXTrnjjXhLzqwaksKKu63K5IgdzU5f4SkHMI,9246
80
+ chellow/reports/report_181.py,sha256=ypfYWYVNC1X2fMlJyDzwNiNTTRrpPW49DirXE_xDKa0,4958
81
+ chellow/reports/report_183.py,sha256=fGONpKEIXTqIT_3dE5jZKBIesWPgLq-chHO6X22dIv0,8768
82
+ chellow/reports/report_187.py,sha256=RCvxDnkfRu7ocKUPEX0qtVphGOBEl9RULy790uteXcQ,9915
83
+ chellow/reports/report_219.py,sha256=3Zs16ka6dWWY_lCDoA-ZFrlPb4vHk1LQoa2yrlTMntA,7117
84
+ chellow/reports/report_231.py,sha256=WARLztV2HzBFSi5_xvY_DTXVyuBBbBYiU0RazfjKw-Y,5270
85
+ chellow/reports/report_233.py,sha256=qJdPFuBgQAWD24BsljgGJ44L_RGdHOA1RqsxGjTWhFc,4975
86
+ chellow/reports/report_241.py,sha256=lfivElRkV_CZAhck0rxAuhqzgponj3aWwmwGMNQvUxg,5343
87
+ chellow/reports/report_247.py,sha256=Hhhk0XcDdS3SaA-BJxw6BtN7mOhdKjBdtBNV7zqqaAI,44509
88
+ chellow/reports/report_29.py,sha256=ZXnq6Kg5on-IPquUsH4bn46mBVESY_WhwqDWZPXOJwo,2695
89
+ chellow/reports/report_291.py,sha256=BnWtxe0eWN2QKKWpwjs5-RI5LbReBKL119QbkrkNhV8,7478
90
+ chellow/reports/report_33.py,sha256=lt1EN_LNx6u-AgdaS3YRkPMZA33JgMcELolHF4oJUMw,16689
91
+ chellow/reports/report_387.py,sha256=bBqtnGGDWIXzXe2zVm9yeDRZKNgkUaOS3XTX6k09f18,5631
92
+ chellow/reports/report_41.py,sha256=8xUIN9D5dtT0Dn1RmbnWsLRmM-QbGA5xGhWCK3ljAzA,7406
93
+ chellow/reports/report_429.py,sha256=bpnz_SAiWFoHN7UF3rS0-LupbDyE_AnGI-XOphGXyPc,12627
94
+ chellow/reports/report_59.py,sha256=PkdRA6ctvDGWTQd5vb9cQH6MG920TxcD6aHh268zrj8,42221
95
+ chellow/reports/report_81.py,sha256=bBpV6MtvKGtoLiqzZoK2h21KDs4vfDwy-etpfL9oiEI,5570
96
+ chellow/reports/report_87.py,sha256=udzbCuXcckWD-OHmfJCT6bwg_paYhm4vfDWlL8WM-jA,6933
97
+ chellow/reports/report_asset_comparison.py,sha256=Cl2NgvbclqhOVvKuUu3sajTVO2JupMfzK3bV0_K8eNs,6077
98
+ chellow/reports/report_batches.py,sha256=MoCv2dE-JgaJzaMjMA-kZrPkYR13uDoXer5UuF12OYc,4757
99
+ chellow/reports/report_bills.py,sha256=cxhrheJggBcP0BHmbNKCPG25KxgBSFr5NOZ_XCIek1M,3344
100
+ chellow/reports/report_csv_llfcs.py,sha256=mMB06b6Jems5kcQU4H4Le_fyKgVr8THP8BCx3pkvg5E,1903
101
+ chellow/reports/report_csv_site_hh_data.py,sha256=ik0OkGVo1bfTXLdcT3gPUHnxSkSdorzZheP3qgnOR5c,4331
102
+ chellow/reports/report_csv_site_snags.py,sha256=AuAy6vjL0g7vwPPAZhBqxOyITL9_jnyFj012MnUcxxk,2627
103
+ chellow/reports/report_ecoes_comparison.py,sha256=wEwJrFMOz74CidONkTmgWD1Ghhgo9DT0V7Vddkspkqg,21403
104
+ chellow/reports/report_g_monthly_duration.py,sha256=VQq5xTLvdu9Z_vqrgWNP2S4xm2uCSSZA9HVNiQv9Dus,18264
105
+ chellow/reports/report_g_supplies_snapshot.py,sha256=f6yuds1_X3j3domC1lCyA788RdxCgFZSee-4L7BhwU8,4677
106
+ chellow/reports/report_g_supply_virtual_bill.py,sha256=EaYrB8PHJIXrUuhiZ7dwUlbNBkuyJebQHrdc308_z1o,3653
107
+ chellow/reports/report_g_virtual_bills.py,sha256=20vHa5LGQwOAlJlaGJaGszZrrbT0PMOZJf6hSxU2hIQ,4528
108
+ chellow/reports/report_g_virtual_bills_hh.py,sha256=gaiLEmKTpq6JsfZ1p0SdCDuPvzvigXp6z88gHRCA63w,3416
109
+ chellow/reports/report_sscs.py,sha256=fQWyVG-gdg37DyNHgpNARpSxIwTl7mCn20fDLwx9oHg,3214
110
+ chellow/reports/report_supply_contacts.py,sha256=pvwlInaPYV_pa9MMK6vh854plHFwv3m5zo5xulR1g5I,3599
111
111
  chellow/static/css/chellow.css,sha256=mcLjqKMo0qtdQWY7AnXEL8Bvx2B-Pu8kcGO58bUXOpY,5372
112
112
  chellow/static/images/favicon.svg,sha256=ySFHoVJYmr-xU93QrE-jLYn-ZNythh2vsemnR8dkvg0,2339
113
113
  chellow/static/images/favicon_test.svg,sha256=HnLS_BjNt8M0Ikko5Z-f_E2aed7y6RRU6j3K6XADciE,2346
@@ -202,7 +202,7 @@ chellow/templates/e/dc_contract_edit.html,sha256=IObmbHQmeZ_LSpnYgabmhoSNUR3aPmm
202
202
  chellow/templates/e/dc_contract_hh_import.html,sha256=JncR3L6cOK4jghsGyr-itEqlIemXBXt3kL09wpqnQSE,856
203
203
  chellow/templates/e/dc_contract_hh_imports.html,sha256=eXFDGyzSgag4JRism81_p5yTzQOjCIXaVkQ8tl3dDcM,8172
204
204
  chellow/templates/e/dc_contract_properties.html,sha256=2EmA91gYWZcTOHQ3PxXQrpTOb8dm0OGjwRWsW6qNI9s,455
205
- chellow/templates/e/dc_contract_properties_edit.html,sha256=TGYcHTlWbk5WmjZPkdbHhRVZcOpEfhowCp2penZcGiE,1704
205
+ chellow/templates/e/dc_contract_properties_edit.html,sha256=t7X7Exht6ZMqmiEnuhv9kAFNfjchyJdD_2pZEORqUD8,1925
206
206
  chellow/templates/e/dc_contracts.html,sha256=FPZUM7fkw-R6sRELHZCQTUkKSRqad8HOLHnyyYhQEEw,1819
207
207
  chellow/templates/e/dc_contracts_add.html,sha256=2lrGrNqAoKp16OiMoNDNlJxBMW3QdSPfgEFheSg826s,710
208
208
  chellow/templates/e/dc_rate_script.html,sha256=gfKUHV2IMsTQT-cYfjl4aiEBqGEWSj3uW22UZpoyGq4,1219
@@ -377,6 +377,6 @@ chellow/templates/g/supply_note_edit.html,sha256=b8mB6_ucBwoljp03iy6AgVaZUhGw3-1
377
377
  chellow/templates/g/supply_notes.html,sha256=6epNmZ3NKdXZz27fvmRUGeffg_oc1kmwuBeyRzQe3Rg,854
378
378
  chellow/templates/g/unit.html,sha256=KouNVU0-i84afANkLQ_heJ0uDfJ9H5A05PuLqb8iCN8,438
379
379
  chellow/templates/g/units.html,sha256=p5Nd-lAIboKPEOO6N451hx1bcKxMg4BDODnZ-43MmJc,441
380
- chellow-1732281664.0.0.dist-info/METADATA,sha256=6kGXaB73s2rZ4c_deiOhKUWc_n1lJjFA6vIJa_ToVYE,12204
381
- chellow-1732281664.0.0.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
382
- chellow-1732281664.0.0.dist-info/RECORD,,
380
+ chellow-1733501869.0.0.dist-info/METADATA,sha256=zC5NZQjT__VbhNTac6EOSjZEHQZ-ARkcIUf38_BNTQc,12204
381
+ chellow-1733501869.0.0.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
382
+ chellow-1733501869.0.0.dist-info/RECORD,,