chellow 1746461216.0.0__tar.gz → 1746689551.0.0__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 chellow might be problematic. Click here for more details.

Files changed (497) hide show
  1. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/PKG-INFO +1 -1
  2. chellow-1746689551.0.0/VERSION +1 -0
  3. chellow-1746689551.0.0/chellow/e/bill_parsers/drax_edi.py +529 -0
  4. chellow-1746461216.0.0/VERSION +0 -1
  5. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/.ebextensions/chellow.config +0 -0
  6. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/.github/workflows/chellow.yml +0 -0
  7. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/.gitignore +0 -0
  8. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/README.md +0 -0
  9. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/application.py +0 -0
  10. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/bin/chellow_service_monitor.sh +0 -0
  11. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/bin/chellow_start.sh +0 -0
  12. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/__init__.py +0 -0
  13. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/api.py +0 -0
  14. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/bank_holidays.py +0 -0
  15. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/commands.py +0 -0
  16. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/dloads.py +0 -0
  17. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/__init__.py +0 -0
  18. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/aahedc.py +0 -0
  19. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/bill_importer.py +0 -0
  20. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/bill_parsers/__init__.py +0 -0
  21. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/bill_parsers/activity_mop_stark_xlsx.py +0 -0
  22. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/bill_parsers/annual_mop_stark_xlsx.py +0 -0
  23. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/bill_parsers/bgb_edi.py +0 -0
  24. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/bill_parsers/csv.py +0 -0
  25. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/bill_parsers/edf_export_xlsx.py +0 -0
  26. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/bill_parsers/engie_edi.py +0 -0
  27. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/bill_parsers/engie_export_xlsx.py +0 -0
  28. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/bill_parsers/engie_xls.py +0 -0
  29. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/bill_parsers/engie_xlsx.py +0 -0
  30. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/bill_parsers/gdf_csv.py +0 -0
  31. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/bill_parsers/haven_csv.py +0 -0
  32. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/bill_parsers/haven_edi.py +0 -0
  33. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/bill_parsers/haven_edi_tprs.py +0 -0
  34. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/bill_parsers/mm.py +0 -0
  35. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/bill_parsers/nonsettlement_dc_stark_xlsx.py +0 -0
  36. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/bill_parsers/settlement_dc_stark_xlsx.py +0 -0
  37. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/bill_parsers/sse_edi.py +0 -0
  38. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/bill_parsers/sww_xls.py +0 -0
  39. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/bmarketidx.py +0 -0
  40. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/bsuos.py +0 -0
  41. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/ccl.py +0 -0
  42. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/cfd.py +0 -0
  43. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/computer.py +0 -0
  44. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/dno_rate_parser.py +0 -0
  45. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/duos.py +0 -0
  46. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/elexon.py +0 -0
  47. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/energy_management.py +0 -0
  48. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/hh_importer.py +0 -0
  49. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/hh_parser_bg_csv.py +0 -0
  50. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/hh_parser_df2.py +0 -0
  51. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/hh_parser_edf_csv.py +0 -0
  52. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/hh_parser_schneider_csv.py +0 -0
  53. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/hh_parser_schneider_xlsx.py +0 -0
  54. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/hh_parser_simple_csv.py +0 -0
  55. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/hh_parser_vital_xlsx.py +0 -0
  56. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/laf_import.py +0 -0
  57. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/lcc.py +0 -0
  58. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/mdd_importer.py +0 -0
  59. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/rcrc.py +0 -0
  60. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/ro.py +0 -0
  61. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/scenario.py +0 -0
  62. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/system_price.py +0 -0
  63. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/tlms.py +0 -0
  64. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/tnuos.py +0 -0
  65. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/triad.py +0 -0
  66. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/e/views.py +0 -0
  67. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/edi_lib.py +0 -0
  68. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/fake_batch_updater.py +0 -0
  69. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/gas/bill_import.py +0 -0
  70. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/gas/bill_parser_bgs_xlsx.py +0 -0
  71. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/gas/bill_parser_csv.py +0 -0
  72. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/gas/bill_parser_engie_edi.py +0 -0
  73. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/gas/bill_parser_total_edi.py +0 -0
  74. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/gas/ccl.py +0 -0
  75. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/gas/cv.py +0 -0
  76. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/gas/dn_rate_parser.py +0 -0
  77. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/gas/engine.py +0 -0
  78. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/gas/transportation.py +0 -0
  79. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/gas/views.py +0 -0
  80. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/general_import.py +0 -0
  81. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/models.py +0 -0
  82. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/national_grid.py +0 -0
  83. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/proxy.py +0 -0
  84. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/rate_server.py +0 -0
  85. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/reports/__init__.py +0 -0
  86. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/reports/report_109.py +0 -0
  87. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/reports/report_111.py +0 -0
  88. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/reports/report_169.py +0 -0
  89. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/reports/report_181.py +0 -0
  90. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/reports/report_183.py +0 -0
  91. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/reports/report_187.py +0 -0
  92. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/reports/report_219.py +0 -0
  93. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/reports/report_231.py +0 -0
  94. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/reports/report_233.py +0 -0
  95. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/reports/report_241.py +0 -0
  96. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/reports/report_247.py +0 -0
  97. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/reports/report_29.py +0 -0
  98. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/reports/report_291.py +0 -0
  99. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/reports/report_33.py +0 -0
  100. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/reports/report_387.py +0 -0
  101. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/reports/report_41.py +0 -0
  102. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/reports/report_429.py +0 -0
  103. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/reports/report_59.py +0 -0
  104. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/reports/report_81.py +0 -0
  105. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/reports/report_87.py +0 -0
  106. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/reports/report_asset_comparison.py +0 -0
  107. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/reports/report_batches.py +0 -0
  108. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/reports/report_bills.py +0 -0
  109. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/reports/report_csv_llfcs.py +0 -0
  110. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/reports/report_csv_site_hh_data.py +0 -0
  111. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/reports/report_csv_site_snags.py +0 -0
  112. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/reports/report_ecoes_comparison.py +0 -0
  113. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/reports/report_g_monthly_duration.py +0 -0
  114. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/reports/report_g_supplies_snapshot.py +0 -0
  115. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/reports/report_g_supply_virtual_bill.py +0 -0
  116. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/reports/report_g_virtual_bills.py +0 -0
  117. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/reports/report_g_virtual_bills_hh.py +0 -0
  118. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/reports/report_missing_bills.py +0 -0
  119. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/reports/report_sscs.py +0 -0
  120. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/reports/report_supply_contacts.py +0 -0
  121. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/rrun.py +0 -0
  122. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/static/css/chellow.css +0 -0
  123. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/static/images/favicon.svg +0 -0
  124. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/static/images/favicon_test.svg +0 -0
  125. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/static/images/logo.png +0 -0
  126. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/static/js/htmx.min.js +0 -0
  127. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/403.html +0 -0
  128. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/base.html +0 -0
  129. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/bill_type.html +0 -0
  130. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/bill_types.html +0 -0
  131. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/chain.html +0 -0
  132. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/csv_sites_monthly_duration.html +0 -0
  133. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/downloads.html +0 -0
  134. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/asset_comparison.html +0 -0
  135. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/channel.html +0 -0
  136. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/channel_add.html +0 -0
  137. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/channel_edit.html +0 -0
  138. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/channel_snag.html +0 -0
  139. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/channel_snag_edit.html +0 -0
  140. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/channel_snags.html +0 -0
  141. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/comm.html +0 -0
  142. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/comms.html +0 -0
  143. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/cop.html +0 -0
  144. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/cops.html +0 -0
  145. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/csv_bills.html +0 -0
  146. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/csv_register_reads.html +0 -0
  147. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/csv_sites_hh_data.html +0 -0
  148. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/csv_sites_triad.html +0 -0
  149. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/csv_supplies_hh_data.html +0 -0
  150. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/csv_supplies_snapshot.html +0 -0
  151. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/csv_supplies_triad.html +0 -0
  152. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/dc_auto_importer.html +0 -0
  153. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/dc_batch.html +0 -0
  154. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/dc_batch_add.html +0 -0
  155. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/dc_batch_edit.html +0 -0
  156. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/dc_batch_file.html +0 -0
  157. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/dc_batch_file_edit.html +0 -0
  158. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/dc_batch_upload_file.html +0 -0
  159. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/dc_batches.html +0 -0
  160. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/dc_bill.html +0 -0
  161. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/dc_bill_add.html +0 -0
  162. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/dc_bill_edit.html +0 -0
  163. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/dc_bill_import.html +0 -0
  164. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/dc_bill_imports.html +0 -0
  165. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/dc_contract.html +0 -0
  166. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/dc_contract_edit.html +0 -0
  167. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/dc_contract_hh_import.html +0 -0
  168. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/dc_contract_hh_imports.html +0 -0
  169. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/dc_contract_properties.html +0 -0
  170. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/dc_contract_properties_edit.html +0 -0
  171. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/dc_contracts.html +0 -0
  172. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/dc_contracts_add.html +0 -0
  173. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/dc_rate_script.html +0 -0
  174. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/dc_rate_script_add.html +0 -0
  175. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/dc_rate_script_edit.html +0 -0
  176. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/dno.html +0 -0
  177. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/dno_rate_script.html +0 -0
  178. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/dno_rate_script_add.html +0 -0
  179. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/dno_rate_script_edit.html +0 -0
  180. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/dnos.html +0 -0
  181. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/dtc_meter_type.html +0 -0
  182. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/dtc_meter_types.html +0 -0
  183. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/duration_report.html +0 -0
  184. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/elexon.html +0 -0
  185. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/em_hh_data.html +0 -0
  186. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/em_months.html +0 -0
  187. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/em_site.html +0 -0
  188. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/em_totals.html +0 -0
  189. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/energisation_status.html +0 -0
  190. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/energisation_statuses.html +0 -0
  191. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/era_edit.html +0 -0
  192. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/era_edit_form.html +0 -0
  193. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/era_supplier_bill_add.html +0 -0
  194. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/generator_type.html +0 -0
  195. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/generator_types.html +0 -0
  196. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/gsp_group.html +0 -0
  197. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/gsp_groups.html +0 -0
  198. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/hh_datum_edit.html +0 -0
  199. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/lafs.html +0 -0
  200. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/lcc.html +0 -0
  201. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/llfc.html +0 -0
  202. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/llfc_edit.html +0 -0
  203. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/llfcs.html +0 -0
  204. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/market_role.html +0 -0
  205. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/market_roles.html +0 -0
  206. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/meter_payment_type.html +0 -0
  207. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/meter_payment_types.html +0 -0
  208. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/meter_type.html +0 -0
  209. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/meter_types.html +0 -0
  210. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/mop_batch.html +0 -0
  211. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/mop_batch_add.html +0 -0
  212. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/mop_batch_edit.html +0 -0
  213. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/mop_batch_file.html +0 -0
  214. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/mop_batch_file_edit.html +0 -0
  215. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/mop_batch_upload_file.html +0 -0
  216. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/mop_batches.html +0 -0
  217. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/mop_bill.html +0 -0
  218. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/mop_bill_add.html +0 -0
  219. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/mop_bill_edit.html +0 -0
  220. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/mop_bill_import.html +0 -0
  221. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/mop_bill_imports.html +0 -0
  222. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/mop_contract.html +0 -0
  223. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/mop_contract_add.html +0 -0
  224. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/mop_contract_edit.html +0 -0
  225. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/mop_contracts.html +0 -0
  226. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/mop_rate_script.html +0 -0
  227. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/mop_rate_script_add.html +0 -0
  228. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/mop_rate_script_edit.html +0 -0
  229. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/mtc.html +0 -0
  230. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/mtc_llfc.html +0 -0
  231. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/mtc_llfc_ssc.html +0 -0
  232. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/mtc_llfc_ssc_pc.html +0 -0
  233. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/mtc_llfc_ssc_pcs.html +0 -0
  234. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/mtc_llfc_sscs.html +0 -0
  235. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/mtc_llfcs.html +0 -0
  236. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/mtc_participant.html +0 -0
  237. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/mtc_participants.html +0 -0
  238. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/mtc_ssc.html +0 -0
  239. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/mtc_sscs.html +0 -0
  240. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/mtcs.html +0 -0
  241. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/ods_monthly_duration.html +0 -0
  242. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/participant.html +0 -0
  243. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/participants.html +0 -0
  244. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/parties.html +0 -0
  245. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/party.html +0 -0
  246. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/pc.html +0 -0
  247. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/pcs.html +0 -0
  248. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/read_add.html +0 -0
  249. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/read_edit.html +0 -0
  250. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/read_type.html +0 -0
  251. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/read_types.html +0 -0
  252. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/scenario.html +0 -0
  253. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/scenario_add.html +0 -0
  254. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/scenario_docs.html +0 -0
  255. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/scenario_edit.html +0 -0
  256. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/scenarios.html +0 -0
  257. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/site_add_e_supply.html +0 -0
  258. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/site_add_e_supply_form.html +0 -0
  259. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/site_hh_data.html +0 -0
  260. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/site_site_snags.html +0 -0
  261. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/site_snag.html +0 -0
  262. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/site_snag_edit.html +0 -0
  263. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/site_snags.html +0 -0
  264. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/site_snags_edit.html +0 -0
  265. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/source.html +0 -0
  266. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/sources.html +0 -0
  267. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/ssc.html +0 -0
  268. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/sscs.html +0 -0
  269. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/supplier_batch.html +0 -0
  270. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/supplier_batch_add.html +0 -0
  271. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/supplier_batch_edit.html +0 -0
  272. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/supplier_batch_file.html +0 -0
  273. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/supplier_batch_file_add.html +0 -0
  274. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/supplier_batch_file_edit.html +0 -0
  275. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/supplier_batch_upload_file.html +0 -0
  276. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/supplier_batches.html +0 -0
  277. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/supplier_bill.html +0 -0
  278. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/supplier_bill_add.html +0 -0
  279. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/supplier_bill_edit.html +0 -0
  280. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/supplier_bill_import.html +0 -0
  281. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/supplier_bill_imports.html +0 -0
  282. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/supplier_contract.html +0 -0
  283. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/supplier_contract_add.html +0 -0
  284. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/supplier_contract_edit.html +0 -0
  285. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/supplier_contracts.html +0 -0
  286. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/supplier_rate_script.html +0 -0
  287. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/supplier_rate_script_add.html +0 -0
  288. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/supplier_rate_script_edit.html +0 -0
  289. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/supply.html +0 -0
  290. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/supply_edit.html +0 -0
  291. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/supply_eras.html +0 -0
  292. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/supply_hh_data.html +0 -0
  293. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/supply_months.html +0 -0
  294. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/supply_note_add.html +0 -0
  295. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/supply_note_edit.html +0 -0
  296. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/supply_notes.html +0 -0
  297. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/supply_post.html +0 -0
  298. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/supply_virtual_bill.html +0 -0
  299. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/tpr.html +0 -0
  300. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/e/tprs.html +0 -0
  301. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/edi_viewer.html +0 -0
  302. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/fake_batch_updater.html +0 -0
  303. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/g/batch.html +0 -0
  304. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/g/batch_add.html +0 -0
  305. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/g/batch_edit.html +0 -0
  306. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/g/batches.html +0 -0
  307. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/g/bill.html +0 -0
  308. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/g/bill_add.html +0 -0
  309. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/g/bill_edit.html +0 -0
  310. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/g/bill_import.html +0 -0
  311. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/g/bill_imports.html +0 -0
  312. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/g/dn.html +0 -0
  313. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/g/dns.html +0 -0
  314. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/g/era_edit.html +0 -0
  315. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/g/exit_zone.html +0 -0
  316. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/g/industry_auto_importer.html +0 -0
  317. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/g/industry_contract.html +0 -0
  318. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/g/industry_contract_add.html +0 -0
  319. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/g/industry_contract_edit.html +0 -0
  320. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/g/industry_contracts.html +0 -0
  321. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/g/industry_rate_script.html +0 -0
  322. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/g/industry_rate_script_add.html +0 -0
  323. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/g/industry_rate_script_edit.html +0 -0
  324. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/g/ldz.html +0 -0
  325. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/g/read_add.html +0 -0
  326. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/g/read_edit.html +0 -0
  327. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/g/read_type.html +0 -0
  328. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/g/read_types.html +0 -0
  329. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/g/reading_frequencies.html +0 -0
  330. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/g/reading_frequency.html +0 -0
  331. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/g/reports.html +0 -0
  332. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/g/supplier_contract.html +0 -0
  333. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/g/supplier_contract_add.html +0 -0
  334. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/g/supplier_contract_edit.html +0 -0
  335. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/g/supplier_contracts.html +0 -0
  336. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/g/supplier_rate_script.html +0 -0
  337. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/g/supplier_rate_script_add.html +0 -0
  338. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/g/supplier_rate_script_edit.html +0 -0
  339. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/g/supplies.html +0 -0
  340. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/g/supply.html +0 -0
  341. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/g/supply_edit.html +0 -0
  342. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/g/supply_note_add.html +0 -0
  343. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/g/supply_note_edit.html +0 -0
  344. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/g/supply_notes.html +0 -0
  345. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/g/unit.html +0 -0
  346. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/g/units.html +0 -0
  347. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/general_import.html +0 -0
  348. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/general_imports.html +0 -0
  349. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/home.html +0 -0
  350. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/input_date.html +0 -0
  351. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/local_report.html +0 -0
  352. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/local_reports.html +0 -0
  353. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/macros.html +0 -0
  354. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/national_grid.html +0 -0
  355. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/non_core_auto_importer.html +0 -0
  356. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/non_core_contract.html +0 -0
  357. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/non_core_contract_edit.html +0 -0
  358. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/non_core_contracts.html +0 -0
  359. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/non_core_rate_script.html +0 -0
  360. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/non_core_rate_script_add.html +0 -0
  361. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/non_core_rate_script_edit.html +0 -0
  362. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/object_summary.html +0 -0
  363. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/rate_server.html +0 -0
  364. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/report_run.html +0 -0
  365. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/report_run_asset_comparison.html +0 -0
  366. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/report_run_bill_check.html +0 -0
  367. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/report_run_ecoes_comparison.html +0 -0
  368. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/report_run_g_bill_check.html +0 -0
  369. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/report_run_missing_e_bills.html +0 -0
  370. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/report_run_monthly_duration_org.html +0 -0
  371. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/report_run_row.html +0 -0
  372. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/report_run_row_bill_check.html +0 -0
  373. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/report_run_row_g_bill_check.html +0 -0
  374. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/report_run_supply_contacts.html +0 -0
  375. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/report_runs.html +0 -0
  376. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/scenario.html +0 -0
  377. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/scenario_add.html +0 -0
  378. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/scenario_docs.html +0 -0
  379. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/scenario_edit.html +0 -0
  380. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/scenarios.html +0 -0
  381. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/site.html +0 -0
  382. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/site_add.html +0 -0
  383. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/site_edit.html +0 -0
  384. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/site_gen_graph.html +0 -0
  385. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/site_months.html +0 -0
  386. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/site_used_graph.html +0 -0
  387. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/sites.html +0 -0
  388. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/supplies.html +0 -0
  389. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/system.html +0 -0
  390. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/tester.html +0 -0
  391. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/user.html +0 -0
  392. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/user_roles.html +0 -0
  393. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/templates/users.html +0 -0
  394. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/testing.py +0 -0
  395. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/utils.py +0 -0
  396. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/chellow/views.py +0 -0
  397. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/gpl.txt +0 -0
  398. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/pyproject.toml +0 -0
  399. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/requirements.txt +0 -0
  400. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/setup.cfg +0 -0
  401. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/systemd/chellow.service +0 -0
  402. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/systemd/chellow_upgrader.service +0 -0
  403. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/systemd/chellow_upgrader.timer +0 -0
  404. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/conftest.py +0 -0
  405. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/e/bill_parsers/test_activity_mop_stark_xlsx.py +0 -0
  406. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/e/bill_parsers/test_annual_mop_stark_xlsx.py +0 -0
  407. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/e/bill_parsers/test_bill_parser_csv.py +0 -0
  408. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/e/bill_parsers/test_bill_parser_edf_export_xlsx.py +0 -0
  409. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/e/bill_parsers/test_bill_parser_engie_edi.py +0 -0
  410. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/e/bill_parsers/test_bill_parser_engie_xls.py +0 -0
  411. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/e/bill_parsers/test_bill_parser_engie_xlsx.py +0 -0
  412. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/e/bill_parsers/test_bill_parser_haven_csv.py +0 -0
  413. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/e/bill_parsers/test_bill_parser_haven_edi.py +0 -0
  414. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/e/bill_parsers/test_bill_parser_haven_edi_tprs.py +0 -0
  415. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/e/bill_parsers/test_bill_parser_mm.py +0 -0
  416. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/e/bill_parsers/test_bill_parser_nonsettlement_dc_stark_xlsx/bills.nonsettlement.dc.stark.xlsx +0 -0
  417. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/e/bill_parsers/test_bill_parser_nonsettlement_dc_stark_xlsx/bills_old.nonsettlement.dc.stark.xlsx +0 -0
  418. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/e/bill_parsers/test_bill_parser_nonsettlement_dc_stark_xlsx/test_bill_parser_nonsettlement_dc_stark_xlsx.py +0 -0
  419. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/e/bill_parsers/test_bill_parser_settlement_dc_stark_xlsx.py +0 -0
  420. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/e/bill_parsers/test_bill_parser_sse_edi.py +0 -0
  421. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/e/bill_parsers/test_bill_parser_sww_xls.py +0 -0
  422. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/e/system_price/prices.xls +0 -0
  423. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/e/system_price/test_system_price.py +0 -0
  424. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/e/test_aahedc.py +0 -0
  425. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/e/test_bill_importer.py +0 -0
  426. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/e/test_bsuos.py +0 -0
  427. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/e/test_ccl.py +0 -0
  428. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/e/test_cfd.py +0 -0
  429. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/e/test_computer.py +0 -0
  430. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/e/test_dno_rate_parser.py +0 -0
  431. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/e/test_duos.py +0 -0
  432. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/e/test_e_views.py +0 -0
  433. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/e/test_hh_importer.py +0 -0
  434. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/e/test_hh_parser_df2.py +0 -0
  435. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/e/test_hh_parser_vital_xlsx.py +0 -0
  436. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/e/test_laf_importer.py +0 -0
  437. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/e/test_mdd_importer.py +0 -0
  438. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/e/test_rcrc_importer.py +0 -0
  439. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/e/test_ro.py +0 -0
  440. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/e/test_scenario.py +0 -0
  441. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/e/test_tlms.py +0 -0
  442. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/e/test_tnuos.py +0 -0
  443. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/e/test_triad.py +0 -0
  444. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/gas/bill_parsers/test_g_bill_parser_engie_edi.py +0 -0
  445. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/gas/bill_parsers/test_g_bill_parser_total_edi.py +0 -0
  446. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/gas/test_dn_rate_parser.py +0 -0
  447. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/gas/test_engine.py +0 -0
  448. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/gas/test_g_cv.py +0 -0
  449. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/gas/test_gas_views.py +0 -0
  450. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/gas/test_transportation.py +0 -0
  451. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/reports/test_g_monthly_duration.py +0 -0
  452. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/reports/test_g_supplies_snapshot.py +0 -0
  453. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/reports/test_g_supply_virtual_bill.py +0 -0
  454. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/reports/test_g_virtual_bills.py +0 -0
  455. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/reports/test_g_virtual_bills_hh.py +0 -0
  456. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/reports/test_report_109.py +0 -0
  457. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/reports/test_report_111.py +0 -0
  458. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/reports/test_report_169.py +0 -0
  459. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/reports/test_report_181.py +0 -0
  460. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/reports/test_report_183.py +0 -0
  461. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/reports/test_report_187.py +0 -0
  462. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/reports/test_report_219.py +0 -0
  463. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/reports/test_report_231.py +0 -0
  464. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/reports/test_report_233.py +0 -0
  465. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/reports/test_report_241.py +0 -0
  466. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/reports/test_report_247.py +0 -0
  467. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/reports/test_report_29.py +0 -0
  468. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/reports/test_report_291.py +0 -0
  469. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/reports/test_report_33.py +0 -0
  470. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/reports/test_report_387.py +0 -0
  471. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/reports/test_report_41.py +0 -0
  472. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/reports/test_report_429.py +0 -0
  473. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/reports/test_report_59.py +0 -0
  474. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/reports/test_report_81.py +0 -0
  475. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/reports/test_report_87.py +0 -0
  476. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/reports/test_report_asset_comparison.py +0 -0
  477. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/reports/test_report_batches.py +0 -0
  478. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/reports/test_report_bills.py +0 -0
  479. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/reports/test_report_csv_llfcs.py +0 -0
  480. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/reports/test_report_csv_site_hh_data.py +0 -0
  481. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/reports/test_report_csv_site_snags.py +0 -0
  482. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/reports/test_report_dno_vl_parser.py +0 -0
  483. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/reports/test_report_ecoes_comparison.py +0 -0
  484. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/reports/test_report_missing_e_bills.py +0 -0
  485. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/reports/test_report_sscs.py +0 -0
  486. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/reports/test_report_supply_contacts.py +0 -0
  487. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/test_chellow.py +0 -0
  488. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/test_dloads.py +0 -0
  489. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/test_edi_viewer.py +0 -0
  490. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/test_fake_batch_updater.py +0 -0
  491. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/test_general_import.py +0 -0
  492. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/test_models.py +0 -0
  493. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/test_rate_server.py +0 -0
  494. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/test_testing.py +0 -0
  495. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/test_utils.py +0 -0
  496. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/test_views.py +0 -0
  497. {chellow-1746461216.0.0 → chellow-1746689551.0.0}/test/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: chellow
3
- Version: 1746461216.0.0
3
+ Version: 1746689551.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)
@@ -0,0 +1 @@
1
+ __version__ = "1746689551.0.0"
@@ -0,0 +1,529 @@
1
+ from collections import defaultdict
2
+ from decimal import Decimal
3
+
4
+
5
+ from werkzeug.exceptions import BadRequest
6
+
7
+ from chellow.edi_lib import (
8
+ ct_datetime,
9
+ parse_edi,
10
+ to_date,
11
+ to_decimal,
12
+ to_finish_date,
13
+ to_utc,
14
+ )
15
+ from chellow.utils import HH
16
+
17
+
18
+ read_type_map = {
19
+ "00": "N",
20
+ "09": "N3",
21
+ "04": "C",
22
+ "02": "E",
23
+ "11": "E3",
24
+ "01": "EM",
25
+ "03": "W",
26
+ "06": "X",
27
+ "05": "CP",
28
+ "12": "IF",
29
+ }
30
+
31
+
32
+ TMOD_MAP = {
33
+ "139039": ("aahedc-gbp", "aahedc-rate", "aahedc-kwh"),
34
+ "064305": ("fit-gbp", None, None),
35
+ "590346": ("cfd-operational-gbp", None, None),
36
+ "269100": ("bsuos-gbp", "bsuos-rate", "bsuos-kwh"),
37
+ "422733": ("ccl-gbp", "ccl-rate", "ccl-kwh"),
38
+ "273237": ("cfd-operational-gbp", "cfd-operational-rate", "cfd-operational-kwh"),
39
+ "954379": ("cfd-interim-gbp", "cfd-interim-rate", "cfd-interim-kwh"),
40
+ "538249": ("capaity-gbp", None, None),
41
+ "568307": ("capacity-gbp", "capacity-rate", "capacity-kwh"),
42
+ "439724": ("eii-gbp", None, None),
43
+ "247610": ("eii-gbp", None, None),
44
+ "930504": ("eii-gbp", None, None),
45
+ "331201": ("eii-gbp", None, None),
46
+ "307253": ("eii-gbp", "eii-rate", "eii-kwh"),
47
+ "065950": ("eii-gbp", "eii-rate", "eii-kwh"),
48
+ "095469": ("meter-rental-gbp", "meter-rental-rate", "meter-rental-days"),
49
+ "489920": ("elexon-gbp", "elexon-rate", "elexon-nbp-kwh"),
50
+ "704107": ("fit-gbp", None, None),
51
+ "019090": ("rego-gbp", "rego-rate", "rego-kwh"),
52
+ "033667": ("management-gbp", "management-rate", "management-kwh"),
53
+ "091890": ("shape-gbp", "shape-rate", "shape-kwh"),
54
+ "122568": ("nrg-msp-gbp", "nrg-rate", "nrg-msp-kwh"),
55
+ "716514": ("duos-amber-gbp", "duos-amber-rate", "duos-amber-kwh"),
56
+ "769979": ("duos-red-gbp", "duos-red-rate", "duos-red-kwh"),
57
+ "794486": ("capacity-gbp", "capacity-rate", "capacity-kwh"),
58
+ "797790": ("duos-reactive-gbp", "duos-reactive-rate", "duos-reactive-kvarh"),
59
+ "709522": (
60
+ "duos-excess-availability-gbp",
61
+ "duos-excess-availability-rate",
62
+ "duos-excess-availability-kva",
63
+ ),
64
+ "644819": ("duos-fixed-gbp", "duos-fixed-rate", "duos-fixed-days"),
65
+ "806318": ("duos-green-gbp", "duos-green-rate", "duos-green-kwh"),
66
+ "209269": ("tnuos-gbp", "tnuos-rate", "tnuos-days"),
67
+ "229128": ("ro-gbp", "ro-rate", "ro-kwh"),
68
+ "012069": ("tnuos-gbp", None, None),
69
+ }
70
+ """
71
+ "140114": ("reconciliation-gbp", None, None),
72
+ "255204": ("meter-rental-gbp", "meter-rental-rate", "meter-rental-days"),
73
+ "345065": ("op-weekend-gbp", "op-weekend-rate", "op-weekend-kwh"),
74
+ "350293": ("capacity-gbp", "capacity-rate", "capacity-kwh"),
75
+ "425779": ("ro-gbp", "ro-rate", "ro-kwh"),
76
+ "534342": ("reconciliation-gbp", None, None),
77
+ "583174": ("meter-rental-gbp", "meter-rental-rate", "meter-rental-days"),
78
+ "584867": ("aahedc-gbp", "aahedc-rate", "aahedc-kwh"),
79
+ "946827": ("meter-rental-gbp", "meter-rental-rate", "meter-rental-days"),
80
+ "989534": ("bsuos-gbp", "bsuos-rate", "bsuos-kwh"),
81
+ "117220": ("capacity-gbp", "capacity-rate", "capacity-kwh"),
82
+ "579387": ("capacity-gbp", "capacity-rate", "capacity-kwh"),
83
+ "558147": ("capacity-gbp", "capacity-rate", "capacity-kwh"),
84
+ "030025": ("ccl-gbp", "ccl-rate", "ccl-kwh"),
85
+ "066540": ("ccl-gbp", "ccl-rate", "ccl-kwh"),
86
+ "154164": ("cfd-fit-gbp", "cfd-fit-rate", "cfd-fit-kwh"),
87
+ "281170": ("cfd-fit-gbp", "cfd-fit-rate", "cfd-fit-kwh"),
88
+ "342094": ("cfd-fit-gbp", "cfd-fit-rate", "cfd-fit-kwh"),
89
+ "378809": ("cfd-fit-gbp", "cfd-fit-rate", "cfd-fit-kwh"),
90
+ "574015": ("cfd-fit-gbp", "cfd-fit-rate", "cfd-fit-kwh"),
91
+ "810016": ("cfd-fit-gbp", "cfd-fit-rate", "cfd-fit-kwh"),
92
+ "839829": ("cfd-fit-gbp", "cfd-fit-rate", "cfd-fit-kwh"),
93
+ "649282": ("cfd-fit-gbp", "cfd-fit-rate", "cfd-fit-kwh"),
94
+ "068476": ("day-gbp", "day-rate", "day-kwh"),
95
+ "133186": ("day-gbp", "day-rate", "day-kwh"),
96
+ "400434": ("day-gbp", "day-rate", "day-kwh"),
97
+ "219182": (
98
+ "duos-availability-gbp",
99
+ "duos-availability-rate",
100
+ "duos-availability-kva",
101
+ ),
102
+ "144424": (
103
+ "duos-excess-availability-gbp",
104
+ "duos-excess-availability-rate",
105
+ "duos-excess-availability-kva",
106
+ ),
107
+ "301541": ("duos-fixed-gbp", None, None),
108
+ "099335": ("duos-fixed-gbp", None, None),
109
+ "873562": ("duos-fixed-gbp", None, None),
110
+ "986159": ("duos-fixed-gbp", "duos-fixed-rate", "duos-fixed-days"),
111
+ "838286": ("duos-reactive-gbp", "duos-reactive-rate", "duos-reactive-kvarh"),
112
+ "242643": ("duos-fixed-gbp", "duos-fixed-rate", "duos-fixed-days"),
113
+ "257304": ("duos-amber-gbp", "duos-amber-rate", "duos-amber-kwh"),
114
+ "661440": ("duos-amber-gbp", "duos-amber-rate", "duos-amber-kwh"),
115
+ "257305": ("duos-green-gbp", "duos-green-rate", "duos-green-kwh"),
116
+ "661441": ("duos-green-gbp", "duos-green-rate", "duos-green-kwh"),
117
+ "257303": ("duos-red-gbp", "duos-red-rate", "duos-red-kwh"),
118
+ "661439": ("duos-red-gbp", "duos-red-rate", "duos-red-kwh"),
119
+ "504364": ("ebrs-gbp", None, "ebrs-kwh"),
120
+ "563023": ("ebrs-gbp", None, "ebrs-kwh"),
121
+ "823408": ("ebrs-gbp", None, "ebrs-kwh"),
122
+ "871593": ("ebrs-gbp", "ebrs-rate", "ebrs-kwh"),
123
+ "873894": ("ebrs-gbp", "ebrs-rate", "ebrs-kwh"),
124
+ "309707": ("fit-gbp", "fit-rate", "fit-kwh"),
125
+ "310129": ("meter-rental-gbp", None, None),
126
+ "452415": ("meter-rental-gbp", None, None),
127
+ "371265": ("meter-rental-gbp", None, None),
128
+ "544936": ("meter-rental-gbp", "meter-rental-rate", "meter-rental-days"),
129
+ "265091": ("night-gbp", "night-rate", "night-kwh"),
130
+ "483457": ("peak-gbp", "peak-rate", "peak-kwh"),
131
+ "975901": ("peak-shoulder-gbp", "peak-shoulder-rate", "peak-shoulder-kwh"),
132
+ "994483": ("reconciliation-gbp", None, None),
133
+ "637176": ("reconciliation-gbp", None, None),
134
+ "913821": ("reconciliation-gbp", None, None),
135
+ "307660": ("ro-gbp", "ro-rate", "ro-kwh"),
136
+ "364252": ("ro-gbp", "ro-rate", "ro-kwh"),
137
+ "378246": ("ro-gbp", "ro-rate", "ro-kwh"),
138
+ "708848": ("ro-gbp", None, None),
139
+ "632209": ("summer-night-gbp", "summer-night-rate", "summer-night-kwh"),
140
+ "663682": ("summer-weekday-gbp", "summer-weekday-rate", "summer-weekday-kwh"),
141
+ "299992": ("summer-weekend-gbp", "summer-weekend-rate", "summer-weekend-kwh"),
142
+ "211000": ("tnuos-gbp", "tnuos-rate", "tnuos-days"),
143
+ "790618": ("tnuos-gbp", None, None),
144
+ "447769": ("triad-gbp", "triad-rate", "triad-kw"),
145
+ "647721": ("triad-gbp", "triad-rate", "triad-kw"),
146
+ "276631": ("triad-gbp", "triad-rate", "triad-kw"),
147
+ "220894": ("winter-night-gbp", "winter-night-rate", "winter-night-kwh"),
148
+ "264929": ("winter-weekday-gbp", "winter-weekday-rate", "winter-weekday-kwh"),
149
+ "638187": ("winter-weekend-gbp", "winter-weekend-rate", "winter-weekend-kwh"),
150
+ "700285": ("duos-fixed-gbp", "duos-fixed-rate", "duos-fixed-days"),
151
+ """
152
+
153
+ TPR_LOOKUP = {
154
+ "Day": "00043",
155
+ "Off Peak / Weekends": "00210",
156
+ "Night": "00210",
157
+ "Default Rate": "00043",
158
+ "Single": "00210",
159
+ }
160
+
161
+
162
+ def _process_BCD(elements, headers):
163
+ issue_date = to_date(elements["IVDT"][0])
164
+ reference = elements["INVN"][0]
165
+ bill_type_code = elements["BTCD"][0]
166
+
167
+ headers["issue_date"] = issue_date
168
+ headers["bill_type_code"] = bill_type_code
169
+ headers["reference"] = reference
170
+
171
+
172
+ def _process_CCD1(elements, headers):
173
+ tcod = elements["TCOD"]
174
+ pres_read_date = to_finish_date(elements["PRDT"][0])
175
+
176
+ prev_read_date = to_finish_date(elements["PVDT"][0])
177
+
178
+ m = elements["MLOC"][0]
179
+ mpan = " ".join((m[13:15], m[15:18], m[18:], m[:2], m[2:6], m[6:10], m[10:13]))
180
+
181
+ prrd = elements["PRRD"]
182
+ if len(prrd) < 4:
183
+ return
184
+ pres_read_type = read_type_map[prrd[1]]
185
+ prev_read_type = read_type_map[prrd[3]]
186
+
187
+ coefficient = Decimal(elements["ADJF"][1]) / Decimal(100000)
188
+ pres_reading_value = Decimal(prrd[0])
189
+ prev_reading_value = Decimal(prrd[2])
190
+ msn = elements["MTNR"][0]
191
+ tpr_code = elements["TMOD"][0]
192
+ if tpr_code == "kW":
193
+ units = "kW"
194
+ tpr_code = None
195
+ elif tpr_code == "kVA":
196
+ units = "kVA"
197
+ tpr_code = None
198
+ else:
199
+ units = "kWh"
200
+ tpr_code = TPR_LOOKUP[tcod[1]]
201
+
202
+ try:
203
+ reads = headers["reads"]
204
+ except KeyError:
205
+ reads = headers["reads"] = []
206
+
207
+ reads.append(
208
+ {
209
+ "msn": msn,
210
+ "mpan": mpan,
211
+ "coefficient": coefficient,
212
+ "units": units,
213
+ "tpr_code": tpr_code,
214
+ "prev_date": prev_read_date,
215
+ "prev_value": prev_reading_value,
216
+ "prev_type_code": prev_read_type,
217
+ "pres_date": pres_read_date,
218
+ "pres_value": pres_reading_value,
219
+ "pres_type_code": pres_read_type,
220
+ }
221
+ )
222
+
223
+
224
+ def _process_CCD2(elements, headers):
225
+ breakdown = defaultdict(int)
226
+
227
+ element_code = elements["TMOD"][0]
228
+ headers["element_code"] = element_code
229
+ try:
230
+ eln_gbp, eln_rate, eln_cons = TMOD_MAP[element_code]
231
+ except KeyError:
232
+ raise BadRequest(f"Can't find the element code {element_code} in the TMOD_MAP.")
233
+
234
+ m = elements["MLOC"][0]
235
+ mpan_core = " ".join((m[:2], m[2:6], m[6:10], m[10:]))
236
+
237
+ cons = elements["CONS"]
238
+ kwh = Decimal("0")
239
+ if eln_cons is not None and len(cons[0]) > 0:
240
+ el_cons = to_decimal(cons) / Decimal("1000")
241
+ if eln_gbp == "duos-availability-gbp":
242
+ breakdown[eln_cons] = [el_cons]
243
+ else:
244
+ breakdown[eln_cons] = kwh = el_cons
245
+
246
+ if eln_rate is not None:
247
+ rate = to_decimal(elements["BPRI"]) / Decimal("100000")
248
+ breakdown[eln_rate] = [rate]
249
+
250
+ start_date = to_date(elements["CSDT"][0])
251
+ headers["bill_start_date"] = start_date
252
+
253
+ finish_date = to_date(elements["CEDT"][0]) - HH
254
+ headers["bill_finish_date"] = finish_date
255
+
256
+ if "CTOT" in elements:
257
+ net = Decimal("0.00") + to_decimal(elements["CTOT"]) / Decimal("100")
258
+ else:
259
+ net = Decimal("0.00")
260
+
261
+ breakdown[eln_gbp] = net
262
+
263
+ headers["mpan_core"] = mpan_core
264
+
265
+ try:
266
+ reads = headers["reads"]
267
+ headers["reads"] = []
268
+ except KeyError:
269
+ reads = []
270
+
271
+ return {
272
+ "bill_type_code": headers["bill_type_code"],
273
+ "reference": headers["reference"] + "_" + eln_gbp[:-4],
274
+ "issue_date": headers["issue_date"],
275
+ "mpan_core": mpan_core,
276
+ "account": mpan_core,
277
+ "start_date": start_date,
278
+ "finish_date": finish_date,
279
+ "kwh": kwh if eln_gbp == "ro-gbp" else Decimal("0"),
280
+ "net": net,
281
+ "vat": Decimal("0.00"),
282
+ "gross": net,
283
+ "breakdown": breakdown,
284
+ "reads": reads,
285
+ }
286
+
287
+
288
+ def _process_CCD3(elements, headers):
289
+ breakdown = defaultdict(int)
290
+
291
+ element_code = elements["TMOD"][0]
292
+ headers["element_code"] = element_code
293
+ try:
294
+ eln_gbp, eln_rate, eln_cons = TMOD_MAP[element_code]
295
+ except KeyError:
296
+ raise BadRequest(f"Can't find the element code {element_code} in the TMOD_MAP.")
297
+
298
+ m = elements["MLOC"][0]
299
+ mpan_core = " ".join((m[:2], m[2:6], m[6:10], m[10:]))
300
+
301
+ cons = elements["CONS"]
302
+ if eln_cons is not None and len(cons[0]) > 0:
303
+ el_cons = to_decimal(cons) / Decimal("1000")
304
+ breakdown[eln_cons] = kwh = el_cons
305
+ else:
306
+ kwh = Decimal("0")
307
+
308
+ if eln_rate is not None:
309
+ rate = to_decimal(elements["BPRI"]) / Decimal("100000")
310
+ breakdown[eln_rate] = [rate]
311
+
312
+ start_date = to_date(elements["CSDT"][0])
313
+ headers["bill_start_date"] = start_date
314
+
315
+ finish_date = to_date(elements["CEDT"][0]) - HH
316
+ headers["bill_finish_date"] = finish_date
317
+
318
+ if "CTOT" in elements:
319
+ net = Decimal("0.00") + to_decimal(elements["CTOT"]) / Decimal("100")
320
+ else:
321
+ net = Decimal("0.00")
322
+
323
+ breakdown[eln_gbp] = net
324
+
325
+ headers["mpan_core"] = mpan_core
326
+
327
+ try:
328
+ reads = headers["reads"]
329
+ headers["reads"] = []
330
+ except KeyError:
331
+ reads = []
332
+
333
+ return {
334
+ "bill_type_code": headers["bill_type_code"],
335
+ "issue_date": headers["issue_date"],
336
+ "reference": headers["reference"] + "_" + eln_gbp[:-4],
337
+ "mpan_core": mpan_core,
338
+ "account": mpan_core,
339
+ "start_date": start_date,
340
+ "finish_date": finish_date,
341
+ "net": net,
342
+ "kwh": kwh if eln_gbp == "ro-gbp" else Decimal("0"),
343
+ "vat": Decimal("0.00"),
344
+ "gross": net,
345
+ "breakdown": breakdown,
346
+ "reads": reads,
347
+ }
348
+
349
+
350
+ def _process_CCD4(elements, headers):
351
+ breakdown = defaultdict(int)
352
+
353
+ element_code = elements["TMOD"][0]
354
+ headers["element_code"] = element_code
355
+ try:
356
+ eln_gbp, eln_rate, eln_cons = TMOD_MAP[element_code]
357
+ except KeyError:
358
+ raise BadRequest(f"Can't find the element code {element_code} in the TMOD_MAP.")
359
+
360
+ m = elements["MLOC"][0]
361
+ mpan_core = " ".join((m[:2], m[2:6], m[6:10], m[10:]))
362
+
363
+ cons = elements["CONS"]
364
+ if eln_cons is not None and len(cons[0]) > 0:
365
+ el_cons = to_decimal(cons, "1000")
366
+ breakdown[eln_cons] = kwh = el_cons
367
+
368
+ if eln_rate is not None:
369
+ rate = to_decimal(elements["BPRI"], "100000")
370
+ breakdown[eln_rate] = [rate]
371
+
372
+ start_date = to_date(elements["CSDT"][0])
373
+ headers["bill_start_date"] = start_date
374
+
375
+ finish_date = to_date(elements["CEDT"][0]) - HH
376
+ headers["bill_finish_date"] = finish_date
377
+
378
+ if "CTOT" in elements:
379
+ net = Decimal("0.00") + to_decimal(elements["CTOT"], "100")
380
+ else:
381
+ net = Decimal("0.00")
382
+
383
+ breakdown[eln_gbp] = net
384
+
385
+ headers["mpan_core"] = mpan_core
386
+
387
+ try:
388
+ reads = headers["reads"]
389
+ del headers["reads"][:]
390
+ except KeyError:
391
+ reads = []
392
+
393
+ return {
394
+ "kwh": kwh if eln_gbp == "ro-gbp" else Decimal("0.00"),
395
+ "reference": headers["reference"] + "_" + eln_gbp[:-4],
396
+ "issue_date": headers["issue_date"],
397
+ "mpan_core": mpan_core,
398
+ "account": mpan_core,
399
+ "start_date": start_date,
400
+ "finish_date": finish_date,
401
+ "net": net,
402
+ "vat": Decimal("0.00"),
403
+ "gross": net,
404
+ "breakdown": breakdown,
405
+ "reads": reads,
406
+ "bill_type_code": headers["bill_type_code"],
407
+ }
408
+
409
+
410
+ def _process_CDT(elements, headers):
411
+ customer_id = elements["CIDN"][0]
412
+ headers["customer_number"] = customer_id
413
+
414
+
415
+ def _process_END(elements, headers):
416
+ pass
417
+
418
+
419
+ def _process_MHD(elements, headers):
420
+ message_type = elements["TYPE"][0]
421
+ if message_type == "UTLBIL":
422
+ keep_keys = {"customer_number"}
423
+ keep = {k: headers[k] for k in keep_keys}
424
+ headers.clear()
425
+ headers.update(keep)
426
+
427
+
428
+ def _process_MTR(elements, headers):
429
+ pass
430
+
431
+
432
+ def _process_VAT(elements, headers):
433
+ vat = Decimal("0.00") + to_decimal(elements["UVTT"]) / Decimal("100")
434
+ vat_percentage = to_decimal(elements["VATP"]) / Decimal("1000")
435
+ vat_net = Decimal("0.00") + to_decimal(elements["UVLA"]) / Decimal("100")
436
+
437
+ return {
438
+ "bill_type_code": headers["bill_type_code"],
439
+ "account": headers["mpan_core"],
440
+ "mpan_core": headers["mpan_core"],
441
+ "reference": headers["reference"] + "_vat",
442
+ "issue_date": headers["issue_date"],
443
+ "start_date": headers["bill_start_date"],
444
+ "finish_date": headers["bill_finish_date"],
445
+ "kwh": Decimal("0.00"),
446
+ "net": Decimal("0.00"),
447
+ "vat": vat,
448
+ "gross": vat,
449
+ "breakdown": {"vat": {vat_percentage: {"vat": vat, "net": vat_net}}},
450
+ "reads": [],
451
+ }
452
+
453
+
454
+ def _process_NOOP(elements, headers):
455
+ pass
456
+
457
+
458
+ CODE_FUNCS = {
459
+ "BCD": _process_BCD,
460
+ "BTL": _process_NOOP,
461
+ "CCD1": _process_CCD1,
462
+ "CCD2": _process_CCD2,
463
+ "CCD3": _process_CCD3,
464
+ "CCD4": _process_CCD4,
465
+ "CDT": _process_CDT,
466
+ "CLO": _process_NOOP,
467
+ "DNA": _process_NOOP,
468
+ "END": _process_END,
469
+ "FIL": _process_NOOP,
470
+ "MAN": _process_NOOP,
471
+ "MHD": _process_MHD,
472
+ "MTR": _process_MTR,
473
+ "SDT": _process_NOOP,
474
+ "STX": _process_NOOP,
475
+ "TYP": _process_NOOP,
476
+ "TTL": _process_NOOP,
477
+ "VAT": _process_VAT,
478
+ "VTS": _process_NOOP,
479
+ }
480
+
481
+
482
+ def _customer_mods(headers, bill):
483
+ if headers["customer_number"] == "WESSEXWAT":
484
+ if (
485
+ headers["element_code"] == "307660"
486
+ and "ro-gbp" in bill["breakdown"]
487
+ and bill["issue_date"] == to_utc(ct_datetime(2023, 4, 14))
488
+ and bill["start_date"] == to_utc(ct_datetime(2023, 3, 1))
489
+ and bill["finish_date"] == to_utc(ct_datetime(2023, 3, 31, 23, 30))
490
+ ):
491
+ bill["start_date"] = to_utc(ct_datetime(2021, 4, 1))
492
+ bill["finish_date"] = to_utc(ct_datetime(2022, 3, 31, 23, 30))
493
+
494
+ return bill
495
+
496
+
497
+ class Parser:
498
+ def __init__(self, f):
499
+ self.edi_str = str(f.read(), "utf-8", errors="ignore")
500
+ self.line_number = None
501
+
502
+ def make_raw_bills(self):
503
+ bills = []
504
+ headers = {}
505
+ bill = None
506
+ for self.line_number, line, seg_name, elements in parse_edi(self.edi_str):
507
+ try:
508
+ func = CODE_FUNCS[seg_name]
509
+ except KeyError:
510
+ raise BadRequest(f"Code {seg_name} not recognized.")
511
+
512
+ try:
513
+ bill = func(elements, headers)
514
+ except BadRequest as e:
515
+ raise BadRequest(
516
+ f"{e.description} on line {self.line_number} line {line} "
517
+ f"seg_name {seg_name} elements {elements}"
518
+ )
519
+ except BaseException as e:
520
+ raise BadRequest(
521
+ f"{e} on line {self.line_number} line {line} "
522
+ f"seg_name {seg_name} elements {elements}"
523
+ ) from e
524
+
525
+ if bill is not None:
526
+ bill["breakdown"]["raw-lines"] = [line]
527
+ bills.append(_customer_mods(headers, bill))
528
+
529
+ return bills
@@ -1 +0,0 @@
1
- __version__ = "1746461216.0.0"