chellow 1689753379.0.0__py3-none-any.whl → 1689935721.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/views.py +4 -5
- chellow/models.py +100 -41
- chellow/templates/e/channel_edit.html +2 -2
- chellow/templates/e/site_snags.html +11 -8
- chellow/templates/home.html +1 -0
- chellow/templates/site.html +1 -1
- {chellow-1689753379.0.0.dist-info → chellow-1689935721.0.0.dist-info}/METADATA +1 -1
- {chellow-1689753379.0.0.dist-info → chellow-1689935721.0.0.dist-info}/RECORD +9 -9
- {chellow-1689753379.0.0.dist-info → chellow-1689935721.0.0.dist-info}/WHEEL +0 -0
chellow/e/views.py
CHANGED
|
@@ -3528,9 +3528,9 @@ def site_snag_edit_post(snag_id):
|
|
|
3528
3528
|
@e.route("/sites/<int:site_id>/site_snags")
|
|
3529
3529
|
def site_site_snags_get(site_id):
|
|
3530
3530
|
site = Site.get_by_id(g.sess, site_id)
|
|
3531
|
-
snags = (
|
|
3532
|
-
|
|
3533
|
-
.
|
|
3531
|
+
snags = g.sess.scalars(
|
|
3532
|
+
select(Snag)
|
|
3533
|
+
.where(Snag.is_ignored == false(), Snag.site == site)
|
|
3534
3534
|
.order_by(Snag.start_date.desc(), Snag.id)
|
|
3535
3535
|
)
|
|
3536
3536
|
return render_template("site_site_snags.html", site=site, snags=snags)
|
|
@@ -4192,8 +4192,7 @@ def supplier_bill_add_post(batch_id):
|
|
|
4192
4192
|
gross = req_decimal("gross")
|
|
4193
4193
|
bill_type_id = req_int("bill_type_id")
|
|
4194
4194
|
bill_type = BillType.get_by_id(g.sess, bill_type_id)
|
|
4195
|
-
|
|
4196
|
-
breakdown = loads(breakdown_str)
|
|
4195
|
+
breakdown = req_zish("breakdown")
|
|
4197
4196
|
bill_type = BillType.get_by_id(g.sess, bill_type_id)
|
|
4198
4197
|
bill = batch.insert_bill(
|
|
4199
4198
|
g.sess,
|
chellow/models.py
CHANGED
|
@@ -67,6 +67,8 @@ from chellow.utils import (
|
|
|
67
67
|
hh_after,
|
|
68
68
|
hh_before,
|
|
69
69
|
hh_format,
|
|
70
|
+
hh_max,
|
|
71
|
+
hh_min,
|
|
70
72
|
hh_range,
|
|
71
73
|
next_hh,
|
|
72
74
|
parse_mpan_core,
|
|
@@ -4759,6 +4761,7 @@ class Report(Base, PersistentClass):
|
|
|
4759
4761
|
class SiteGroup:
|
|
4760
4762
|
EXPORT_NET_GT_IMPORT_GEN = "Export to net > import from generators."
|
|
4761
4763
|
EXPORT_GEN_GT_IMPORT = "Export to generators > import."
|
|
4764
|
+
EXPORT_3P_GT_IMPORT = "Export to 3rd party > import."
|
|
4762
4765
|
|
|
4763
4766
|
def __init__(self, start_date, finish_date, sites, supplies):
|
|
4764
4767
|
self.start_date = start_date
|
|
@@ -4775,9 +4778,22 @@ class SiteGroup:
|
|
|
4775
4778
|
"3rd-party": {True: ["imp_3p"], False: ["exp_3p"]},
|
|
4776
4779
|
"3rd-party-reverse": {True: ["exp_3p"], False: ["imp_3p"]},
|
|
4777
4780
|
}
|
|
4778
|
-
data = []
|
|
4779
4781
|
|
|
4780
|
-
|
|
4782
|
+
data = {
|
|
4783
|
+
hh_start: {
|
|
4784
|
+
"start_date": hh_start,
|
|
4785
|
+
"status": "A",
|
|
4786
|
+
"imp_net": 0,
|
|
4787
|
+
"exp_net": 0,
|
|
4788
|
+
"imp_gen": 0,
|
|
4789
|
+
"exp_gen": 0,
|
|
4790
|
+
"imp_3p": 0,
|
|
4791
|
+
"exp_3p": 0,
|
|
4792
|
+
}
|
|
4793
|
+
for hh_start in hh_range(caches, self.start_date, self.finish_date)
|
|
4794
|
+
}
|
|
4795
|
+
|
|
4796
|
+
for channel in sess.scalars(
|
|
4781
4797
|
select(Channel)
|
|
4782
4798
|
.join(Era)
|
|
4783
4799
|
.join(Supply)
|
|
@@ -4789,49 +4805,48 @@ class SiteGroup:
|
|
|
4789
4805
|
Source.code != "sub",
|
|
4790
4806
|
Channel.channel_type == "ACTIVE",
|
|
4791
4807
|
)
|
|
4792
|
-
)
|
|
4793
|
-
|
|
4794
|
-
(c.id, keys[c.era.supply.source.code][c.imp_related]) for c in channels
|
|
4795
|
-
)
|
|
4808
|
+
):
|
|
4809
|
+
channel_keys = keys[channel.era.supply.source.code][channel.imp_related]
|
|
4796
4810
|
|
|
4797
|
-
|
|
4798
|
-
|
|
4799
|
-
|
|
4800
|
-
|
|
4801
|
-
|
|
4802
|
-
|
|
4803
|
-
|
|
4804
|
-
|
|
4805
|
-
|
|
4806
|
-
|
|
4807
|
-
|
|
4808
|
-
|
|
4809
|
-
|
|
4811
|
+
chunk_start = hh_max(self.start_date, channel.era.start_date)
|
|
4812
|
+
chunk_finish = hh_min(self.finish_date, channel.era.finish_date)
|
|
4813
|
+
|
|
4814
|
+
db_data = iter(
|
|
4815
|
+
sess.execute(
|
|
4816
|
+
text(
|
|
4817
|
+
"select start_date, value, channel_id, status from hh_datum "
|
|
4818
|
+
"where channel_id = :channel_id "
|
|
4819
|
+
"and start_date >= :start_date "
|
|
4820
|
+
"and start_date <= :finish_date order by start_date"
|
|
4821
|
+
),
|
|
4822
|
+
{
|
|
4823
|
+
"channel_id": channel.id,
|
|
4824
|
+
"start_date": chunk_start,
|
|
4825
|
+
"finish_date": chunk_finish,
|
|
4826
|
+
},
|
|
4827
|
+
)
|
|
4810
4828
|
)
|
|
4811
|
-
)
|
|
4812
4829
|
|
|
4813
|
-
|
|
4830
|
+
hh = next(db_data, None)
|
|
4814
4831
|
|
|
4815
|
-
|
|
4816
|
-
|
|
4817
|
-
|
|
4818
|
-
|
|
4819
|
-
|
|
4820
|
-
|
|
4821
|
-
|
|
4822
|
-
|
|
4823
|
-
|
|
4824
|
-
|
|
4825
|
-
|
|
4826
|
-
while hh is not None and hh.start_date == hh_start:
|
|
4827
|
-
for key in channel_keys[hh.channel_id]:
|
|
4828
|
-
dd[key] += hh.value
|
|
4829
|
-
hh = next(db_data, None)
|
|
4832
|
+
for hh_start in hh_range(caches, chunk_start, chunk_finish):
|
|
4833
|
+
dd = data[hh_start]
|
|
4834
|
+
if hh is not None and hh.start_date == hh_start:
|
|
4835
|
+
if dd["status"] == "A" and hh.status != "A":
|
|
4836
|
+
dd["status"] = "E"
|
|
4837
|
+
for key in channel_keys:
|
|
4838
|
+
dd[key] += hh.value
|
|
4839
|
+
hh = next(db_data, None)
|
|
4840
|
+
else:
|
|
4841
|
+
if dd["status"] == "A":
|
|
4842
|
+
dd["status"] = "E"
|
|
4830
4843
|
|
|
4831
|
-
|
|
4832
|
-
|
|
4844
|
+
dd["displaced"] = dd["imp_gen"] - dd["exp_gen"] - dd["exp_net"]
|
|
4845
|
+
dd["used"] = (
|
|
4846
|
+
dd["displaced"] + dd["imp_net"] + dd["imp_3p"] - dd["exp_3p"]
|
|
4847
|
+
)
|
|
4833
4848
|
|
|
4834
|
-
return data
|
|
4849
|
+
return data.values()
|
|
4835
4850
|
|
|
4836
4851
|
def add_snag(self, sess, description, start_date, finish_date):
|
|
4837
4852
|
return Snag.add_snag(
|
|
@@ -4848,11 +4863,13 @@ class SiteGroup:
|
|
|
4848
4863
|
snag_1_start = snag_1_finish = None
|
|
4849
4864
|
resolve_2_start = resolve_2_finish = None
|
|
4850
4865
|
snag_2_start = snag_2_finish = None
|
|
4866
|
+
resolve_3_start = resolve_3_finish = None
|
|
4867
|
+
snag_3_start = snag_3_finish = None
|
|
4851
4868
|
|
|
4852
4869
|
for hh in self.hh_data(sess):
|
|
4853
4870
|
hh_start_date = hh["start_date"]
|
|
4854
4871
|
|
|
4855
|
-
if hh["exp_net"] > hh["imp_gen"]:
|
|
4872
|
+
if hh["exp_net"] > hh["imp_gen"] and hh["status"] == "A":
|
|
4856
4873
|
if snag_1_start is None:
|
|
4857
4874
|
snag_1_start = hh_start_date
|
|
4858
4875
|
|
|
@@ -4881,7 +4898,7 @@ class SiteGroup:
|
|
|
4881
4898
|
)
|
|
4882
4899
|
snag_1_start = None
|
|
4883
4900
|
|
|
4884
|
-
if hh["exp_gen"] > hh["imp_net"] + hh["imp_gen"]:
|
|
4901
|
+
if hh["exp_gen"] > hh["imp_net"] + hh["imp_gen"] and hh["status"] == "A":
|
|
4885
4902
|
if snag_2_start is None:
|
|
4886
4903
|
snag_2_start = hh_start_date
|
|
4887
4904
|
|
|
@@ -4910,6 +4927,38 @@ class SiteGroup:
|
|
|
4910
4927
|
)
|
|
4911
4928
|
snag_2_start = None
|
|
4912
4929
|
|
|
4930
|
+
if (
|
|
4931
|
+
hh["exp_3p"] > hh["imp_net"] + hh["imp_gen"] + hh["imp_3p"]
|
|
4932
|
+
and hh["status"] == "A"
|
|
4933
|
+
):
|
|
4934
|
+
if snag_3_start is None:
|
|
4935
|
+
snag_3_start = hh_start_date
|
|
4936
|
+
|
|
4937
|
+
snag_3_finish = hh_start_date
|
|
4938
|
+
|
|
4939
|
+
if resolve_3_start is not None:
|
|
4940
|
+
self.delete_snag(
|
|
4941
|
+
sess,
|
|
4942
|
+
SiteGroup.EXPORT_3P_GT_IMPORT,
|
|
4943
|
+
resolve_3_start,
|
|
4944
|
+
resolve_3_finish,
|
|
4945
|
+
)
|
|
4946
|
+
resolve_3_start = None
|
|
4947
|
+
else:
|
|
4948
|
+
if resolve_3_start is None:
|
|
4949
|
+
resolve_3_start = hh_start_date
|
|
4950
|
+
|
|
4951
|
+
resolve_3_finish = hh_start_date
|
|
4952
|
+
|
|
4953
|
+
if snag_3_start is not None:
|
|
4954
|
+
self.add_snag(
|
|
4955
|
+
sess,
|
|
4956
|
+
SiteGroup.EXPORT_3P_GT_IMPORT,
|
|
4957
|
+
snag_3_start,
|
|
4958
|
+
snag_3_finish,
|
|
4959
|
+
)
|
|
4960
|
+
snag_3_start = None
|
|
4961
|
+
|
|
4913
4962
|
if snag_1_start is not None:
|
|
4914
4963
|
self.add_snag(
|
|
4915
4964
|
sess, SiteGroup.EXPORT_NET_GT_IMPORT_GEN, snag_1_start, snag_1_finish
|
|
@@ -4933,6 +4982,16 @@ class SiteGroup:
|
|
|
4933
4982
|
sess, SiteGroup.EXPORT_GEN_GT_IMPORT, resolve_2_start, resolve_2_finish
|
|
4934
4983
|
)
|
|
4935
4984
|
|
|
4985
|
+
if snag_3_start is not None:
|
|
4986
|
+
self.add_snag(
|
|
4987
|
+
sess, SiteGroup.EXPORT_3P_GT_IMPORT, snag_3_start, snag_3_finish
|
|
4988
|
+
)
|
|
4989
|
+
|
|
4990
|
+
if resolve_3_start is not None:
|
|
4991
|
+
self.delete_snag(
|
|
4992
|
+
sess, SiteGroup.EXPORT_3P_GT_IMPORT, resolve_3_start, resolve_3_finish
|
|
4993
|
+
)
|
|
4994
|
+
|
|
4936
4995
|
|
|
4937
4996
|
class Scenario(Base, PersistentClass):
|
|
4938
4997
|
@staticmethod
|
|
@@ -42,8 +42,8 @@
|
|
|
42
42
|
|
|
43
43
|
<form method="post" action="/e/channels/{{channel.id}}/edit">
|
|
44
44
|
<fieldset>
|
|
45
|
-
<
|
|
46
|
-
<label>Start Date
|
|
45
|
+
<legend>Insert HH datum</legend>
|
|
46
|
+
<label>Start Date</label> {{input_date('start', None, 'minute')}}
|
|
47
47
|
<label>Value</label> {{input_text('value', '')}}
|
|
48
48
|
<label>Status </label>
|
|
49
49
|
<select name="status">
|
|
@@ -20,32 +20,35 @@
|
|
|
20
20
|
There are {{snags|length}} snag(s), over {{site_count}} site(s)
|
|
21
21
|
</p>
|
|
22
22
|
|
|
23
|
-
<table>
|
|
23
|
+
<table class="sticky">
|
|
24
24
|
<caption>Site Snags</caption>
|
|
25
25
|
<thead>
|
|
26
26
|
<tr>
|
|
27
|
-
<th
|
|
27
|
+
<th>View</th>
|
|
28
|
+
<th>Edit</th>
|
|
28
29
|
<th>Creation Date</th>
|
|
29
|
-
<th>Site
|
|
30
|
+
<th>Site Code</th>
|
|
30
31
|
<th>Site Name</th>
|
|
31
32
|
<th>Snag Description</th>
|
|
32
33
|
<th>Start Date</th>
|
|
33
34
|
<th>Finish Date</th>
|
|
35
|
+
<th>HH Data</th>
|
|
34
36
|
</tr>
|
|
35
37
|
</thead>
|
|
36
38
|
<tbody>
|
|
37
39
|
{% for snag in snags %}
|
|
38
40
|
<tr>
|
|
39
|
-
<td>
|
|
40
|
-
|
|
41
|
-
[<a href="/e/site_snags/{{snag.id}}/edit">edit</a>]
|
|
42
|
-
</td>
|
|
41
|
+
<td><a href="/e/site_snags/{{snag.id}}">View</a></td>
|
|
42
|
+
<td><a href="/e/site_snags/{{snag.id}}/edit">Edit</a></td>
|
|
43
43
|
<td>{{snag.date_created|hh_format}}</td>
|
|
44
|
-
<td><a href="/
|
|
44
|
+
<td><a href="/sites/{{snag.site.id}}">{{snag.site.code}}</a></td>
|
|
45
45
|
<td>{{snag.site.name}}</td>
|
|
46
46
|
<td>{{snag.description}}</td>
|
|
47
47
|
<td>{{snag.start_date|hh_format}}</td>
|
|
48
48
|
<td>{{snag.finish_date|hh_format}}</td>
|
|
49
|
+
<td>
|
|
50
|
+
<a href="/sites/{{snag.site.id}}/hh_data?year={{snag.start_date.year}}&month={{snag.start_date.month}}#:~:text={{snag.start_date|hh_format|urlencode}}">HH Data</a>
|
|
51
|
+
</td>
|
|
49
52
|
</tr>
|
|
50
53
|
{% endfor %}
|
|
51
54
|
</tbody>
|
chellow/templates/home.html
CHANGED
chellow/templates/site.html
CHANGED
|
@@ -161,7 +161,7 @@ Table of site level monthly kWh, MD kWh etc.</a>
|
|
|
161
161
|
<a href="/sites/{{site.id}}/hh_data?year={{month_finish.year}}&month={{month_finish.month}}">Table of hh data</a>
|
|
162
162
|
</li>
|
|
163
163
|
<li>
|
|
164
|
-
<a href="/sites/{{site.id}}/site_snags">Site Snags</a>
|
|
164
|
+
<a href="/e/sites/{{site.id}}/site_snags">Site Snags</a>
|
|
165
165
|
</li>
|
|
166
166
|
<li>
|
|
167
167
|
<a href="/e/sites/{{site.id}}/energy_management">Energy Managment Summary</a>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: chellow
|
|
3
|
-
Version:
|
|
3
|
+
Version: 1689935721.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=n6VI_zxScCn_Hn2daOnHauhEpqH68ZKeCwvDQ2ObFUI,3941
|
|
6
6
|
chellow/edi_lib.py,sha256=het3R0DBGtXEo-Sy1zvXQuX9EWQ1X6Y33G4l1hYYuds,51859
|
|
7
7
|
chellow/general_import.py,sha256=Xuiwl-yeM0MCmPstzQR2E6ASs8sYE8b1GNeDLStnizY,58470
|
|
8
|
-
chellow/models.py,sha256=
|
|
8
|
+
chellow/models.py,sha256=3iCwWh2NAHdATUrC_keQ8SBzQUocLTJXwgeFVItBkc4,234629
|
|
9
9
|
chellow/national_grid.py,sha256=Y0ckPONIpMnip2qB9ptXBLxs6jJCk14c98eCkyd2fNM,4427
|
|
10
10
|
chellow/proxy.py,sha256=Mzssi9nTf6s_G4RSn8k5oAHqzVYIxMsfbudj1amYucI,1387
|
|
11
11
|
chellow/rate_server.py,sha256=xVk15pdSovcD8K8BWcOmjwo_L3a8LYry7L2Gvw56OEQ,5696
|
|
@@ -34,7 +34,7 @@ chellow/e/scenario.py,sha256=IuyE494XaBLq3FW7NdJePD6J4cTzPogfACO6dThiY00,23239
|
|
|
34
34
|
chellow/e/system_price.py,sha256=IPBLSRPzGA3yca4tpR8PJemwPbgqVjn1WnljOMUyWnA,8145
|
|
35
35
|
chellow/e/tlms.py,sha256=gXBZTHXqGVcaTGHaYGVA5Ir5pzoBDqFC1Kl1mQ0IDqU,9549
|
|
36
36
|
chellow/e/tnuos.py,sha256=kxp9EXPCXv_yAbMRbpqa5b6fsw3KJ290zNaGU3piWgo,20647
|
|
37
|
-
chellow/e/views.py,sha256=
|
|
37
|
+
chellow/e/views.py,sha256=JC6phMmKpu-NmLEkDvFpMCiruQj-nmt9KSQRu0Q0I30,179019
|
|
38
38
|
chellow/e/bill_parsers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
39
39
|
chellow/e/bill_parsers/activity_mop_stark_xlsx.py,sha256=v1s4O8phVJVn9sOs9HKrKYcECAP0ApnUgqCaa2ARYiQ,4234
|
|
40
40
|
chellow/e/bill_parsers/annual_mop_stark_xlsx.py,sha256=4dAWjaxsDnnGBnRAjgFe7IZLxIcLMGiTuXh1uqNnnlQ,4382
|
|
@@ -113,7 +113,7 @@ chellow/templates/downloads.html,sha256=m_Mm6yqq42HjahYiL2NyGfrkm8JLqOEWuC7Qy9T0
|
|
|
113
113
|
chellow/templates/edi_viewer.html,sha256=szUthgHOdph6Of-7f_1LeC_zYlNJaMeS5ctn6xTAeiM,1437
|
|
114
114
|
chellow/templates/general_import.html,sha256=SMemHGu466Be3_cAWSS6Hn-Kv-1psbEMDD6NQG6bfbI,1013
|
|
115
115
|
chellow/templates/general_imports.html,sha256=Jqv9koKywQR4dqhePT8-khV_B5s-Cu41V90GE4yMgcQ,12208
|
|
116
|
-
chellow/templates/home.html,sha256=
|
|
116
|
+
chellow/templates/home.html,sha256=5GXzbgFeceQAnr8nQEg911v0xT4hJN1H0-5Npo9GbAE,5516
|
|
117
117
|
chellow/templates/local_report.html,sha256=pV7_0QwyQ-D3OS9LXrly5pq3qprZnwTCoq6vCnMTkS4,1332
|
|
118
118
|
chellow/templates/local_reports.html,sha256=4wbfVkY4wUfSSfWjxqIsvCpIsa9k7H_dGAjznrG5jNM,701
|
|
119
119
|
chellow/templates/national_grid.html,sha256=8W92tsjlqPSB0J--nyFIi-wzFae9CyDr6fODXLZp8ic,991
|
|
@@ -134,7 +134,7 @@ chellow/templates/report_run_row.html,sha256=bmtcdqJaS1CXpL0i8PuqvmeF98jKNYX5-mn
|
|
|
134
134
|
chellow/templates/report_run_row_bill_check.html,sha256=aC2LMu_6NvmTN3ZdxHJPPPczyxPN6hg0F-PPcqIWUws,4683
|
|
135
135
|
chellow/templates/report_run_supply_contacts.html,sha256=JNzwz9M6qbLRDMkCzFCxxANapUer5klxo7t5a48nAzg,2117
|
|
136
136
|
chellow/templates/report_runs.html,sha256=Xef2nilmHHSnyRNKUQJrU2qWsQfslFL_wWD5rR92SOo,667
|
|
137
|
-
chellow/templates/site.html,sha256=
|
|
137
|
+
chellow/templates/site.html,sha256=Pf3t3HC8Apzg283ZQz_Tnh3VWxvKorKiGQ1BA72dgMc,10018
|
|
138
138
|
chellow/templates/site_add.html,sha256=NxYmOIZQH6X8EBOuJUbhUJ8IYB3t0BukjR1yVRhnJhM,422
|
|
139
139
|
chellow/templates/site_edit.html,sha256=R1HTFzSuBzujAuYOcE5lXcBmktY_5RQAPz85Cg1wnt0,7803
|
|
140
140
|
chellow/templates/site_gen_graph.html,sha256=LXkD4n_aC_sFm9JJTCmBRrczpyTn2UUEgBToFiM5RPo,3468
|
|
@@ -151,7 +151,7 @@ chellow/templates/users.html,sha256=dBB0yOvsoYbY_I9le1XGqZ0SlesUbWMqfRGlZOtOgNs,
|
|
|
151
151
|
chellow/templates/e/asset_comparison.html,sha256=QyN3WMw8YoFaSWUvD2NOnRLdLdB3Kv6m3t8Id8Mb6_A,678
|
|
152
152
|
chellow/templates/e/channel.html,sha256=R5fhdsHvhB7k57Rw_gviUQ7_EXBGwP05E691V1BUNSQ,2056
|
|
153
153
|
chellow/templates/e/channel_add.html,sha256=X1hi0b-ZjchlQ2m7uZYCyqkqU-Qd1s3_5u4zsB_yySA,1479
|
|
154
|
-
chellow/templates/e/channel_edit.html,sha256=
|
|
154
|
+
chellow/templates/e/channel_edit.html,sha256=OUkdiS2NBQ_w4gmxRxXAcRToM5BT8DWWJrtQMFs-GUU,2198
|
|
155
155
|
chellow/templates/e/channel_snag.html,sha256=wBJ5KBfeJdAeRmaB0qu0AD9Z4nM5fn6tJ_8bNqTWtoo,1477
|
|
156
156
|
chellow/templates/e/channel_snag_edit.html,sha256=sUFI4Ml3F1B35x8_t_Pz3hWuQN9Xtxr3kt4u8hdxNwY,1911
|
|
157
157
|
chellow/templates/e/channel_snags.html,sha256=1dzC5FoCJ8bg6PBsQrVqGLn-DbPE2EHQklfm_pg3w0c,2899
|
|
@@ -270,7 +270,7 @@ chellow/templates/e/site_hh_data.html,sha256=1Ld5IIM3G84tVCAwtlJNGJTnrASS7d84Aga
|
|
|
270
270
|
chellow/templates/e/site_site_snags.html,sha256=vWpsFyxZj7GOrMXQz2rKq9zOQdVsqeUVtdBzehp9J5w,847
|
|
271
271
|
chellow/templates/e/site_snag.html,sha256=eZt1H-t-hsoKZBteU9ILpKqKLD0Pf0Uybp8pPQYuTAc,924
|
|
272
272
|
chellow/templates/e/site_snag_edit.html,sha256=O-m95S-ig9sXmFFkQmjfNnF9zJkgSIuPizuF7ieNi7s,1436
|
|
273
|
-
chellow/templates/e/site_snags.html,sha256=
|
|
273
|
+
chellow/templates/e/site_snags.html,sha256=6MKZQVJQJ61dhwYhcdro-ZyWQotu2iapHC9_qS92zSg,1421
|
|
274
274
|
chellow/templates/e/site_snags_edit.html,sha256=MEkRBEKtLUusS0_H9h-M1XXWi5-U8QAbfYN4q7giDm4,427
|
|
275
275
|
chellow/templates/e/source.html,sha256=6cLjZWKS2w9Zy1C4hzi1lTKXAdKKFQ8wSxbwAjhP3jU,373
|
|
276
276
|
chellow/templates/e/sources.html,sha256=AW_ysj5ZzArTLz0-FWappMsUEU1AO9gw7D4XSHbINu4,453
|
|
@@ -351,6 +351,6 @@ chellow/templates/g/supply_note_edit.html,sha256=6UQf_qbhFDys3cVsTp-c7ABWZpggW9R
|
|
|
351
351
|
chellow/templates/g/supply_notes.html,sha256=WR3YwGh_qqTklSJ7JqWX6BKBc9rk_jMff4RiWZiF2CM,936
|
|
352
352
|
chellow/templates/g/unit.html,sha256=KouNVU0-i84afANkLQ_heJ0uDfJ9H5A05PuLqb8iCN8,438
|
|
353
353
|
chellow/templates/g/units.html,sha256=p5Nd-lAIboKPEOO6N451hx1bcKxMg4BDODnZ-43MmJc,441
|
|
354
|
-
chellow-
|
|
355
|
-
chellow-
|
|
356
|
-
chellow-
|
|
354
|
+
chellow-1689935721.0.0.dist-info/METADATA,sha256=Oyqja1WTIYohyoew87-PlpKLKOvD-iQc8kwbTJeEYCw,12161
|
|
355
|
+
chellow-1689935721.0.0.dist-info/WHEEL,sha256=9QBuHhg6FNW7lppboF2vKVbCGTVzsFykgRQjjlajrhA,87
|
|
356
|
+
chellow-1689935721.0.0.dist-info/RECORD,,
|
|
File without changes
|