chellow 1724868336.0.0__py3-none-any.whl → 1725527086.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.
- chellow/e/mdd_importer.py +101 -7
- chellow/e/views.py +36 -23
- chellow/models.py +3 -5
- chellow/templates/e/dno.html +4 -4
- chellow/templates/e/site_add_e_supply_form.html +8 -7
- {chellow-1724868336.0.0.dist-info → chellow-1725527086.0.0.dist-info}/METADATA +1 -1
- {chellow-1724868336.0.0.dist-info → chellow-1725527086.0.0.dist-info}/RECORD +8 -8
- {chellow-1724868336.0.0.dist-info → chellow-1725527086.0.0.dist-info}/WHEEL +0 -0
chellow/e/mdd_importer.py
CHANGED
|
@@ -247,8 +247,6 @@ def _import_Market_Participant_Role(sess, rows, ctx):
|
|
|
247
247
|
name = values[4]
|
|
248
248
|
dno_code_str = values[14]
|
|
249
249
|
dno_code = None if len(dno_code_str) == 0 else dno_code_str
|
|
250
|
-
if dno_code == "99":
|
|
251
|
-
continue
|
|
252
250
|
|
|
253
251
|
if party is None:
|
|
254
252
|
participant.insert_party(
|
|
@@ -324,7 +322,7 @@ def _import_Meter_Timeswitch_Class(sess, rows, ctx):
|
|
|
324
322
|
has_comms_str = values[8] # MTC Communication Indicator
|
|
325
323
|
has_comms = parse_bool(has_comms_str)
|
|
326
324
|
is_hh_str = values[9] # MTC Type Indicator
|
|
327
|
-
is_hh =
|
|
325
|
+
is_hh = is_hh_str == "H"
|
|
328
326
|
tpr_count_str = values[10] # TPR Count
|
|
329
327
|
tpr_count = None if tpr_count_str == "" else int(tpr_count_str)
|
|
330
328
|
|
|
@@ -837,7 +835,101 @@ def _import_Valid_MTC_LLFC_SSC_PC_Combination(sess, rows, ctx):
|
|
|
837
835
|
)
|
|
838
836
|
|
|
839
837
|
|
|
840
|
-
def
|
|
838
|
+
def add_88_99(sess, ctx):
|
|
839
|
+
rows = [
|
|
840
|
+
[
|
|
841
|
+
"CIDC",
|
|
842
|
+
"R",
|
|
843
|
+
"01/01/2000",
|
|
844
|
+
"",
|
|
845
|
+
"Virtual",
|
|
846
|
+
"",
|
|
847
|
+
"",
|
|
848
|
+
"",
|
|
849
|
+
"",
|
|
850
|
+
"",
|
|
851
|
+
"",
|
|
852
|
+
"",
|
|
853
|
+
"",
|
|
854
|
+
"",
|
|
855
|
+
"88",
|
|
856
|
+
],
|
|
857
|
+
[
|
|
858
|
+
"CROW",
|
|
859
|
+
"R",
|
|
860
|
+
"01/04/1996",
|
|
861
|
+
"",
|
|
862
|
+
"Non-settlement",
|
|
863
|
+
"",
|
|
864
|
+
"",
|
|
865
|
+
"",
|
|
866
|
+
"",
|
|
867
|
+
"",
|
|
868
|
+
"",
|
|
869
|
+
"",
|
|
870
|
+
"",
|
|
871
|
+
"",
|
|
872
|
+
"99",
|
|
873
|
+
],
|
|
874
|
+
]
|
|
875
|
+
_import_Market_Participant_Role(sess, rows, ctx)
|
|
876
|
+
rows = [
|
|
877
|
+
["845", "01/04/1996", "CIDC", "01/04/1996", ""],
|
|
878
|
+
["845", "01/04/1996", "CROW", "01/04/1996", ""],
|
|
879
|
+
]
|
|
880
|
+
_import_MTC_in_PES_Area(sess, rows, ctx)
|
|
881
|
+
rows = [
|
|
882
|
+
["CIDC", "", "", "005", "01/04/2010", "EG_HV_Intermittent", "C", ""],
|
|
883
|
+
["CIDC", "", "", "006", "01/04/2010", "EG_HV_Non_Intermittent", "C", ""],
|
|
884
|
+
["CIDC", "", "", "110", "01/01/2000", "Profile 3 Unrestricted", "A", ""],
|
|
885
|
+
["CIDC", "", "", "210", "01/01/2000", "Profile 4 Economy 7", "A", ""],
|
|
886
|
+
["CIDC", "", "", "510", "01/01/2000", "PC 5-8 & HH HV", "A", ""],
|
|
887
|
+
["CIDC", "", "", "521", "01/01/2000", "Export (HV)", "C", ""],
|
|
888
|
+
[
|
|
889
|
+
"CIDC",
|
|
890
|
+
"",
|
|
891
|
+
"",
|
|
892
|
+
"524",
|
|
893
|
+
"01/04/2010",
|
|
894
|
+
"HV Generation Non intermittent",
|
|
895
|
+
"C",
|
|
896
|
+
"",
|
|
897
|
+
],
|
|
898
|
+
["CIDC", "", "", "570", "01/01/2000", "PC 5-8 & HH LV", "A", ""],
|
|
899
|
+
["CIDC", "", "", "581", "01/01/2000", "Export (LV)", "C", ""],
|
|
900
|
+
["CIDC", "", "", "658", "01/04/1996", "HV HH metered", "A", ""],
|
|
901
|
+
["CROW", "", "", "510", "01/04/1996", "PC 5-8 & HH HV", "A", ""],
|
|
902
|
+
["CROW", "", "", "521", "01/04/1996", "Export (HV)", "C", ""],
|
|
903
|
+
["CROW", "", "", "570", "01/04/1996", "PC 5-8 & HH LV", "A", ""],
|
|
904
|
+
["CROW", "", "", "581", "01/04/1996", "Export (LV)", "C", ""],
|
|
905
|
+
]
|
|
906
|
+
|
|
907
|
+
_import_Line_Loss_Factor_Class(sess, rows, ctx)
|
|
908
|
+
rows = [
|
|
909
|
+
["845", "01/04/1996", "CIDC", "01/04/1996", "005", "01/04/2010", ""],
|
|
910
|
+
["845", "01/04/1996", "CIDC", "01/04/1996", "006", "01/04/2010", ""],
|
|
911
|
+
["845", "01/04/1996", "CIDC", "01/04/1996", "110", "01/01/2000", ""],
|
|
912
|
+
["845", "01/04/1996", "CIDC", "01/04/1996", "210", "01/01/2000", ""],
|
|
913
|
+
["845", "01/04/1996", "CIDC", "01/04/1996", "510", "01/01/2000", ""],
|
|
914
|
+
["845", "01/04/1996", "CIDC", "01/04/1996", "521", "01/01/2000", ""],
|
|
915
|
+
["845", "01/04/1996", "CIDC", "01/04/1996", "524", "01/04/2010", ""],
|
|
916
|
+
["845", "01/04/1996", "CIDC", "01/04/1996", "570", "01/01/2000", ""],
|
|
917
|
+
["845", "01/04/1996", "CIDC", "01/04/1996", "581", "01/01/2000", ""],
|
|
918
|
+
["845", "01/04/1996", "CIDC", "01/04/1996", "658", "01/01/2000", ""],
|
|
919
|
+
["845", "01/04/1996", "CROW", "01/04/1996", "510", "01/04/1996", ""],
|
|
920
|
+
["845", "01/04/1996", "CROW", "01/04/1996", "521", "01/04/1996", ""],
|
|
921
|
+
["845", "01/04/1996", "CROW", "01/04/1996", "570", "01/04/1996", ""],
|
|
922
|
+
["845", "01/04/1996", "CROW", "01/04/1996", "581", "01/04/1996", ""],
|
|
923
|
+
]
|
|
924
|
+
_import_Valid_MTC_LLFC_Combination(sess, rows, ctx)
|
|
925
|
+
|
|
926
|
+
|
|
927
|
+
def _get_csv_reader(s, url):
|
|
928
|
+
csv_file = StringIO(download(s, url).decode("utf8"))
|
|
929
|
+
return csv.reader(csv_file)
|
|
930
|
+
|
|
931
|
+
|
|
932
|
+
def rate_server_import(sess, log, set_progress, s, paths, with_88_99=True):
|
|
841
933
|
log("Starting to check for a new MDD version")
|
|
842
934
|
mdd_entries = {}
|
|
843
935
|
for path, url in paths:
|
|
@@ -872,8 +964,7 @@ def rate_server_import(sess, log, set_progress, s, paths):
|
|
|
872
964
|
version = None
|
|
873
965
|
|
|
874
966
|
for file_name, url in fl_entries.items():
|
|
875
|
-
|
|
876
|
-
csv_reader = iter(csv.reader(csv_file))
|
|
967
|
+
csv_reader = iter(_get_csv_reader(s, url))
|
|
877
968
|
next(csv_reader) # Skip titles
|
|
878
969
|
|
|
879
970
|
table_name_elements = file_name.split("_")
|
|
@@ -929,7 +1020,10 @@ def rate_server_import(sess, log, set_progress, s, paths):
|
|
|
929
1020
|
func(sess, gnames[tname], ctx)
|
|
930
1021
|
else:
|
|
931
1022
|
raise BadRequest(f"Can't find {tname} on the rate server.")
|
|
932
|
-
|
|
1023
|
+
if with_88_99:
|
|
1024
|
+
log("Starting to add MDD data for 88 and 99 DNOs")
|
|
1025
|
+
add_88_99(sess, ctx)
|
|
1026
|
+
log("Finished adding MDD data for 88 and 99 DNOs")
|
|
933
1027
|
config = Contract.get_non_core_by_name(sess, "configuration")
|
|
934
1028
|
state = config.make_state()
|
|
935
1029
|
state["mdd_version"] = version
|
chellow/e/views.py
CHANGED
|
@@ -4354,29 +4354,15 @@ def site_add_e_supply_form_get(site_id):
|
|
|
4354
4354
|
EnergisationStatus.code
|
|
4355
4355
|
)
|
|
4356
4356
|
default_energisation_status = EnergisationStatus.get_by_code(g.sess, "E")
|
|
4357
|
-
|
|
4357
|
+
gsp_groups_q = select(GspGroup).order_by(GspGroup.code)
|
|
4358
|
+
gsp_groups = g.sess.scalars(gsp_groups_q)
|
|
4359
|
+
RateScriptAliasStart = aliased(RateScript)
|
|
4360
|
+
RateScriptAliasFinish = aliased(RateScript)
|
|
4358
4361
|
if "start_year" in request.values:
|
|
4359
4362
|
start_date = req_date("start")
|
|
4360
4363
|
else:
|
|
4361
4364
|
start_date = to_utc(ct_datetime(ct_now.year, ct_now.month, ct_now.day))
|
|
4362
4365
|
|
|
4363
|
-
site = Site.get_by_id(g.sess, site_id)
|
|
4364
|
-
sources = g.sess.scalars(select(Source).order_by(Source.code))
|
|
4365
|
-
source_id = req_int_none("source_id")
|
|
4366
|
-
if source_id is None:
|
|
4367
|
-
source = Source.get_by_code(g.sess, "grid")
|
|
4368
|
-
else:
|
|
4369
|
-
source = Source.get_by_id(g.sess, source_id)
|
|
4370
|
-
generator_types = g.sess.query(GeneratorType).order_by(GeneratorType.code)
|
|
4371
|
-
gsp_groups = g.sess.query(GspGroup).order_by(GspGroup.code)
|
|
4372
|
-
eras = (
|
|
4373
|
-
g.sess.query(Era)
|
|
4374
|
-
.join(SiteEra)
|
|
4375
|
-
.filter(SiteEra.site == site)
|
|
4376
|
-
.order_by(Era.start_date.desc())
|
|
4377
|
-
)
|
|
4378
|
-
RateScriptAliasStart = aliased(RateScript)
|
|
4379
|
-
RateScriptAliasFinish = aliased(RateScript)
|
|
4380
4366
|
mop_contracts = g.sess.scalars(
|
|
4381
4367
|
select(Contract)
|
|
4382
4368
|
.join(MarketRole)
|
|
@@ -4431,12 +4417,15 @@ def site_add_e_supply_form_get(site_id):
|
|
|
4431
4417
|
)
|
|
4432
4418
|
.order_by(Contract.name)
|
|
4433
4419
|
).all()
|
|
4434
|
-
|
|
4435
|
-
|
|
4436
|
-
|
|
4437
|
-
|
|
4420
|
+
|
|
4421
|
+
site = Site.get_by_id(g.sess, site_id)
|
|
4422
|
+
sources = g.sess.scalars(select(Source).order_by(Source.code))
|
|
4423
|
+
source_id = req_int_none("source_id")
|
|
4424
|
+
if source_id is None:
|
|
4425
|
+
source = Source.get_by_code(g.sess, "grid")
|
|
4438
4426
|
else:
|
|
4439
|
-
|
|
4427
|
+
source = Source.get_by_id(g.sess, source_id)
|
|
4428
|
+
generator_types = g.sess.query(GeneratorType).order_by(GeneratorType.code)
|
|
4440
4429
|
|
|
4441
4430
|
dnos = g.sess.scalars(
|
|
4442
4431
|
select(Party)
|
|
@@ -4444,12 +4433,36 @@ def site_add_e_supply_form_get(site_id):
|
|
|
4444
4433
|
.where(MarketRole.code == "R")
|
|
4445
4434
|
.order_by(Party.dno_code)
|
|
4446
4435
|
).all()
|
|
4436
|
+
pcs = g.sess.query(Pc).order_by(Pc.code)
|
|
4447
4437
|
dno_id = req_int_none("dno_id")
|
|
4448
4438
|
if dno_id is None:
|
|
4449
4439
|
dno = dnos[0]
|
|
4450
4440
|
else:
|
|
4451
4441
|
dno = Party.get_by_id(g.sess, dno_id)
|
|
4452
4442
|
|
|
4443
|
+
dno_contract = Contract.get_dno_by_name(g.sess, dno.dno_code)
|
|
4444
|
+
dno_rate_script = dno_contract.find_rate_script_at(g.sess, start_date)
|
|
4445
|
+
dno_props = dno_rate_script.make_script()
|
|
4446
|
+
allowed_gsp_group_codes = list(dno_props.keys())
|
|
4447
|
+
|
|
4448
|
+
gsp_groups = g.sess.scalars(
|
|
4449
|
+
select(GspGroup)
|
|
4450
|
+
.where(GspGroup.code.in_(allowed_gsp_group_codes))
|
|
4451
|
+
.order_by(GspGroup.code)
|
|
4452
|
+
)
|
|
4453
|
+
|
|
4454
|
+
eras = (
|
|
4455
|
+
g.sess.query(Era)
|
|
4456
|
+
.join(SiteEra)
|
|
4457
|
+
.filter(SiteEra.site == site)
|
|
4458
|
+
.order_by(Era.start_date.desc())
|
|
4459
|
+
)
|
|
4460
|
+
pc_id = req_int_none("pc_id")
|
|
4461
|
+
if pc_id is None:
|
|
4462
|
+
pc = Pc.get_by_code(g.sess, "00")
|
|
4463
|
+
else:
|
|
4464
|
+
pc = Pc.get_by_id(g.sess, pc_id)
|
|
4465
|
+
|
|
4453
4466
|
participant = dno.participant
|
|
4454
4467
|
|
|
4455
4468
|
if pc.code == "00":
|
chellow/models.py
CHANGED
|
@@ -1598,15 +1598,13 @@ class Contract(Base, PersistentClass):
|
|
|
1598
1598
|
sess.delete(self)
|
|
1599
1599
|
|
|
1600
1600
|
def find_rate_script_at(self, sess, date):
|
|
1601
|
-
return (
|
|
1602
|
-
|
|
1603
|
-
.filter(
|
|
1601
|
+
return sess.scalars(
|
|
1602
|
+
select(RateScript).where(
|
|
1604
1603
|
RateScript.contract == self,
|
|
1605
1604
|
RateScript.start_date <= date,
|
|
1606
1605
|
or_(RateScript.finish_date == null(), RateScript.finish_date >= date),
|
|
1607
1606
|
)
|
|
1608
|
-
|
|
1609
|
-
)
|
|
1607
|
+
).first()
|
|
1610
1608
|
|
|
1611
1609
|
def start_date(self):
|
|
1612
1610
|
return self.start_rate_script.start_date
|
chellow/templates/e/dno.html
CHANGED
|
@@ -28,12 +28,12 @@
|
|
|
28
28
|
</td>
|
|
29
29
|
</tr>
|
|
30
30
|
<tr>
|
|
31
|
-
<td>
|
|
32
|
-
<td>{{
|
|
31
|
+
<td>Valid From</td>
|
|
32
|
+
<td>{{dno.valid_from|hh_format }}</td>
|
|
33
33
|
</tr>
|
|
34
34
|
<tr>
|
|
35
|
-
<td>
|
|
36
|
-
<td>{{
|
|
35
|
+
<td>Valid To</td>
|
|
36
|
+
<td>{{dno.valid_to|hh_format }}</td>
|
|
37
37
|
</tr>
|
|
38
38
|
<tr>
|
|
39
39
|
<td>Custom Reports</td>
|
|
@@ -32,6 +32,14 @@
|
|
|
32
32
|
</select>
|
|
33
33
|
{% endif %}
|
|
34
34
|
<label>Meter Serial Number</label> {{input_text('msn')}}
|
|
35
|
+
|
|
36
|
+
<label>DNO</label>
|
|
37
|
+
<select name="dno_id">
|
|
38
|
+
{% for dno in dnos %}
|
|
39
|
+
{{input_option( 'dno_id', dno.id, dno.dno_code + ' ' + dno.name)}}
|
|
40
|
+
{% endfor %}
|
|
41
|
+
</select>
|
|
42
|
+
|
|
35
43
|
<label>GSP Group</label>
|
|
36
44
|
<select name="gsp_group_id">
|
|
37
45
|
{% for gsp_group in gsp_groups %}
|
|
@@ -90,13 +98,6 @@
|
|
|
90
98
|
{% endfor %}
|
|
91
99
|
</select>
|
|
92
100
|
|
|
93
|
-
<label>DNO</label>
|
|
94
|
-
<select name="dno_id">
|
|
95
|
-
{% for dno in dnos %}
|
|
96
|
-
{{input_option( 'dno_id', dno.id, dno.dno_code + ' ' + dno.name)}}
|
|
97
|
-
{% endfor %}
|
|
98
|
-
</select>
|
|
99
|
-
|
|
100
101
|
{% if pc.code == '00' %}
|
|
101
102
|
<input type="hidden" name="ssc_id" value="">
|
|
102
103
|
{% else %}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: chellow
|
|
3
|
-
Version:
|
|
3
|
+
Version: 1725527086.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)
|
|
@@ -5,7 +5,7 @@ chellow/commands.py,sha256=ESBe9ZWj1c3vdZgqMZ9gFvYAB3hRag2R1PzOwuw9yFo,1302
|
|
|
5
5
|
chellow/dloads.py,sha256=dixp-O0MF2_mlwrnKx3D9DH09Qu05BjTo0rZfigTjR4,5534
|
|
6
6
|
chellow/edi_lib.py,sha256=alu20x9ZX06iPfnNI9dEJzuP6RIf4We3Y_M_bl7RrcY,51789
|
|
7
7
|
chellow/general_import.py,sha256=l3EHq9zG9Vfl5Ee6XTVrC1nusXo4YGGB4VBmZ_JaJR8,65798
|
|
8
|
-
chellow/models.py,sha256=
|
|
8
|
+
chellow/models.py,sha256=pBaFnTUIyThyg7iGIrbh4v8MW3LuEAwe1-4LAF4G7Q4,243491
|
|
9
9
|
chellow/national_grid.py,sha256=czwIZqzJndSGhEMQ5YzI6hRBhvjkM6VRVYXybf4_KXg,4377
|
|
10
10
|
chellow/proxy.py,sha256=cVXIktPlX3tQ1BYcwxq0nJXKE6r3DtFTtfFHPq55HaM,1351
|
|
11
11
|
chellow/rate_server.py,sha256=fg-Pf_9Hk3bXmC9riPQNGQxBvLvBa_WtNYdwDCjnCSg,5678
|
|
@@ -30,7 +30,7 @@ chellow/e/hh_parser_df2.py,sha256=7gaVidyIqeqprm3zYPtHvRLLn08nph04N0cKlveNTV0,42
|
|
|
30
30
|
chellow/e/hh_parser_simple_csv.py,sha256=RN4QOLvTQeoPrpvXvQ9hkOBZnR5piybLfjCiSJdjpjs,2112
|
|
31
31
|
chellow/e/laf_import.py,sha256=aqkcbjnvfBPszBLSNg6getP7iW1uWiTVHy6N5Z5x39U,5514
|
|
32
32
|
chellow/e/lcc.py,sha256=OkpynN8_iAdHRlu-yyU6BhRUqYYOZsUnl0HbHULYo_4,4670
|
|
33
|
-
chellow/e/mdd_importer.py,sha256=
|
|
33
|
+
chellow/e/mdd_importer.py,sha256=wq5Fw-MSe17WNuPzeWdCmJvX0NKV3Y501t6z2tqd92Q,35638
|
|
34
34
|
chellow/e/rcrc.py,sha256=92CA1uIotIHd1epQ_jEPdJKzXqDFV-AoJOJeRO6MEyA,4274
|
|
35
35
|
chellow/e/ro.py,sha256=dZKZv_9wXSWuwcb3jiKavoD_9ot-PZseNVeEEe0siLo,596
|
|
36
36
|
chellow/e/scenario.py,sha256=fBDZVOdrI1I3XQG-RdpB0-lDF9VYENBu_9bBXJxmvWk,23362
|
|
@@ -38,7 +38,7 @@ chellow/e/system_price.py,sha256=6w5J7bzwFAZubE2zdOFRiS8IIrVP8hkoIOaG2yCt-Ic,623
|
|
|
38
38
|
chellow/e/tlms.py,sha256=M33D6YpMixu2KkwSCzDRM3kThLgShg8exp63Obo75l8,8905
|
|
39
39
|
chellow/e/tnuos.py,sha256=XseYztPUsQXNKuBmystO2kzzwAG9ehCZgpGBTdgSk-A,4313
|
|
40
40
|
chellow/e/triad.py,sha256=lIQj7EdUrcFwEqleuHZXYU_bfzIwNOqUVVxB3NPQt4A,13710
|
|
41
|
-
chellow/e/views.py,sha256
|
|
41
|
+
chellow/e/views.py,sha256=Ue11tdJSjXni4sFobzlvnrTI5evSja_qUuTQ_JusPdU,216671
|
|
42
42
|
chellow/e/bill_parsers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
43
43
|
chellow/e/bill_parsers/activity_mop_stark_xlsx.py,sha256=UgWXDPzQkQghyj_lfgBqoSJpHB-t-qOdSaB8qY6GLog,4071
|
|
44
44
|
chellow/e/bill_parsers/annual_mop_stark_xlsx.py,sha256=-HMoIfa_utXYKA44RuC0Xqv3vd2HLeQU_4P0iBUd3WA,4219
|
|
@@ -196,7 +196,7 @@ chellow/templates/e/dc_contracts_add.html,sha256=2lrGrNqAoKp16OiMoNDNlJxBMW3QdSP
|
|
|
196
196
|
chellow/templates/e/dc_rate_script.html,sha256=gfKUHV2IMsTQT-cYfjl4aiEBqGEWSj3uW22UZpoyGq4,1219
|
|
197
197
|
chellow/templates/e/dc_rate_script_add.html,sha256=5MlE4r5eLww3xI9qZRlu8hE8bU7RVwyDJcr20-0e4uY,644
|
|
198
198
|
chellow/templates/e/dc_rate_script_edit.html,sha256=RytAio6WbORye2iEETorC_80lyo7ZqY7qbulmRPo9m8,1955
|
|
199
|
-
chellow/templates/e/dno.html,sha256=
|
|
199
|
+
chellow/templates/e/dno.html,sha256=dex343gChjoB8HOM3h4rUm-Gn8_Q_fDeAQT1pNWe-H0,2454
|
|
200
200
|
chellow/templates/e/dno_rate_script.html,sha256=8wK2GqDyPAPxLsK3waEuGwqerGtWPCu-RQdg-XCJw2o,753
|
|
201
201
|
chellow/templates/e/dno_rate_script_add.html,sha256=LRHN86z1oBceQLtzVbLs9rrcav8DfcDrPYzyvvc7cQA,559
|
|
202
202
|
chellow/templates/e/dno_rate_script_edit.html,sha256=5hNwZWMdesZywOiUAS_OIAapT8jjebc9qp_U9pkXUgs,1275
|
|
@@ -278,7 +278,7 @@ chellow/templates/e/scenario_docs.html,sha256=hOg6hrrnOcvdk7jXRsMrk1wtwK7K0IpqcB
|
|
|
278
278
|
chellow/templates/e/scenario_edit.html,sha256=Uf64v_qsBP0BxaFEIz214CC_dZXlvro4zvQXH_towhA,1070
|
|
279
279
|
chellow/templates/e/scenarios.html,sha256=zlNhZvQEcuwLgHObVHS-4THur5Lz9Jf1G6xD98-jamI,847
|
|
280
280
|
chellow/templates/e/site_add_e_supply.html,sha256=_gi1ejI4TMTMX9vCW7z2kToR2XKR6qoVh67qp_VrDsM,2731
|
|
281
|
-
chellow/templates/e/site_add_e_supply_form.html,sha256=
|
|
281
|
+
chellow/templates/e/site_add_e_supply_form.html,sha256=q5LfSmp_eamph4FLKslMrxKGOtGCkSFRe9I5AVn-hgM,5553
|
|
282
282
|
chellow/templates/e/site_hh_data.html,sha256=1Ld5IIM3G84tVCAwtlJNGJTnrASS7d84AgaPwwHNEMI,1413
|
|
283
283
|
chellow/templates/e/site_site_snags.html,sha256=vWpsFyxZj7GOrMXQz2rKq9zOQdVsqeUVtdBzehp9J5w,847
|
|
284
284
|
chellow/templates/e/site_snag.html,sha256=eZt1H-t-hsoKZBteU9ILpKqKLD0Pf0Uybp8pPQYuTAc,924
|
|
@@ -365,6 +365,6 @@ chellow/templates/g/supply_note_edit.html,sha256=b8mB6_ucBwoljp03iy6AgVaZUhGw3-1
|
|
|
365
365
|
chellow/templates/g/supply_notes.html,sha256=6epNmZ3NKdXZz27fvmRUGeffg_oc1kmwuBeyRzQe3Rg,854
|
|
366
366
|
chellow/templates/g/unit.html,sha256=KouNVU0-i84afANkLQ_heJ0uDfJ9H5A05PuLqb8iCN8,438
|
|
367
367
|
chellow/templates/g/units.html,sha256=p5Nd-lAIboKPEOO6N451hx1bcKxMg4BDODnZ-43MmJc,441
|
|
368
|
-
chellow-
|
|
369
|
-
chellow-
|
|
370
|
-
chellow-
|
|
368
|
+
chellow-1725527086.0.0.dist-info/METADATA,sha256=oUR_vnJy2tF7UGGlfYWk61_NiBlhC64Qy7SuE-FbV38,12241
|
|
369
|
+
chellow-1725527086.0.0.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
|
|
370
|
+
chellow-1725527086.0.0.dist-info/RECORD,,
|
|
File without changes
|