uk_bin_collection 0.121.1__py3-none-any.whl → 0.122.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.
- uk_bin_collection/tests/input.json +13 -1
- uk_bin_collection/uk_bin_collection/councils/BlabyDistrictCouncil.py +8 -5
- uk_bin_collection/uk_bin_collection/councils/BlackburnCouncil.py +10 -2
- uk_bin_collection/uk_bin_collection/councils/CarmarthenshireCountyCouncil.py +3 -3
- uk_bin_collection/uk_bin_collection/councils/GlasgowCityCouncil.py +17 -0
- uk_bin_collection/uk_bin_collection/councils/HighPeakCouncil.py +10 -5
- uk_bin_collection/uk_bin_collection/councils/HinckleyandBosworthBoroughCouncil.py +71 -0
- uk_bin_collection/uk_bin_collection/councils/MonmouthshireCountyCouncil.py +70 -0
- uk_bin_collection/uk_bin_collection/councils/WarwickDistrictCouncil.py +29 -10
- {uk_bin_collection-0.121.1.dist-info → uk_bin_collection-0.122.0.dist-info}/METADATA +1 -1
- {uk_bin_collection-0.121.1.dist-info → uk_bin_collection-0.122.0.dist-info}/RECORD +14 -12
- {uk_bin_collection-0.121.1.dist-info → uk_bin_collection-0.122.0.dist-info}/LICENSE +0 -0
- {uk_bin_collection-0.121.1.dist-info → uk_bin_collection-0.122.0.dist-info}/WHEEL +0 -0
- {uk_bin_collection-0.121.1.dist-info → uk_bin_collection-0.122.0.dist-info}/entry_points.txt +0 -0
@@ -871,6 +871,12 @@
|
|
871
871
|
"wiki_name": "High Peak Council",
|
872
872
|
"wiki_note": "Pass the name of the street with the house number parameter, wrapped in double quotes. This parser requires a Selenium webdriver."
|
873
873
|
},
|
874
|
+
"HinckleyandBosworthBoroughCouncil": {
|
875
|
+
"url": "https://www.hinckley-bosworth.gov.uk",
|
876
|
+
"uprn": "100030533512",
|
877
|
+
"wiki_name": "Hinckley and Bosworth Borough Council",
|
878
|
+
"wiki_note": "You will need to use [FindMyAddress](https://www.findmyaddress.co.uk/search) to find the UPRN."
|
879
|
+
},
|
874
880
|
"HounslowCouncil": {
|
875
881
|
"house_number": "17A LAMPTON PARK ROAD, HOUNSLOW",
|
876
882
|
"postcode": "TW3 4HS",
|
@@ -1072,7 +1078,7 @@
|
|
1072
1078
|
"wiki_note": "Pass the UPRN. You can find it using [FindMyAddress](https://www.findmyaddress.co.uk/search)."
|
1073
1079
|
},
|
1074
1080
|
"MertonCouncil": {
|
1075
|
-
"url": "https://myneighbourhood.merton.gov.uk/wasteservices/WasteServices.aspx?ID=
|
1081
|
+
"url": "https://myneighbourhood.merton.gov.uk/wasteservices/WasteServices.aspx?ID=25936129",
|
1076
1082
|
"wiki_command_url_override": "https://myneighbourhood.merton.gov.uk/Wasteservices/WasteServices.aspx?ID=XXXXXXXX",
|
1077
1083
|
"wiki_name": "Merton Council",
|
1078
1084
|
"wiki_note": "Follow the instructions [here](https://myneighbourhood.merton.gov.uk/Wasteservices/WasteServicesSearch.aspx) until you get the \"Your recycling and rubbish collection days\" page, then copy the URL and replace the URL in the command."
|
@@ -1132,6 +1138,12 @@
|
|
1132
1138
|
"wiki_name": "Mole Valley District Council",
|
1133
1139
|
"wiki_note": "UPRN can only be parsed with a valid postcode."
|
1134
1140
|
},
|
1141
|
+
"MonmouthshireCountyCouncil": {
|
1142
|
+
"url": "https://maps.monmouthshire.gov.uk",
|
1143
|
+
"uprn": "100100266220",
|
1144
|
+
"wiki_name": "Monmouthshire County Council",
|
1145
|
+
"wiki_note": "You will need to use [FindMyAddress](https://www.findmyaddress.co.uk/search) to find the UPRN."
|
1146
|
+
},
|
1135
1147
|
"MorayCouncil": {
|
1136
1148
|
"uprn": "28841",
|
1137
1149
|
"url": "https://bindayfinder.moray.gov.uk/",
|
@@ -31,11 +31,14 @@ class CouncilClass(AbstractGetBinDataClass):
|
|
31
31
|
for container in soup.find_all(class_="box-item"):
|
32
32
|
|
33
33
|
# Get the next collection dates from the <p> tag containing <strong>
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
34
|
+
try:
|
35
|
+
dates_tag = (
|
36
|
+
container.find("p", string=lambda text: "Next" in text)
|
37
|
+
.find_next("p")
|
38
|
+
.find("strong")
|
39
|
+
)
|
40
|
+
except:
|
41
|
+
continue
|
39
42
|
collection_dates = (
|
40
43
|
dates_tag.text.strip().split(", and then ")
|
41
44
|
if dates_tag
|
@@ -67,11 +67,19 @@ class CouncilClass(AbstractGetBinDataClass):
|
|
67
67
|
for collection in bin_collections:
|
68
68
|
if collection is not None:
|
69
69
|
bin_type = collection[0].get("BinType")
|
70
|
+
current_collection_date = collection[0].get("CollectionDate")
|
71
|
+
if current_collection_date is None:
|
72
|
+
continue
|
70
73
|
current_collection_date = datetime.strptime(
|
71
|
-
|
74
|
+
current_collection_date, "%Y-%m-%d"
|
72
75
|
)
|
76
|
+
next_collection_date = collection[0].get(
|
77
|
+
"NextScheduledCollectionDate"
|
78
|
+
)
|
79
|
+
if next_collection_date is None:
|
80
|
+
continue
|
73
81
|
next_collection_date = datetime.strptime(
|
74
|
-
|
82
|
+
next_collection_date, "%Y-%m-%d"
|
75
83
|
)
|
76
84
|
|
77
85
|
# Work out the most recent collection date to display
|
@@ -34,10 +34,10 @@ class CouncilClass(AbstractGetBinDataClass):
|
|
34
34
|
|
35
35
|
# Find the next collection date
|
36
36
|
date_tag = container.find(class_="font11 text-center")
|
37
|
-
if date_tag:
|
38
|
-
collection_date = date_tag.text.strip()
|
39
|
-
else:
|
37
|
+
if date_tag.text.strip() == "":
|
40
38
|
continue
|
39
|
+
else:
|
40
|
+
collection_date = date_tag.text.strip()
|
41
41
|
|
42
42
|
dict_data = {
|
43
43
|
"type": bin_type,
|
@@ -27,6 +27,23 @@ class CouncilClass(AbstractGetBinDataClass):
|
|
27
27
|
"../Images/Bins/ashBin.gif": "Ash bin",
|
28
28
|
}
|
29
29
|
|
30
|
+
fieldset = soup.find("fieldset")
|
31
|
+
ps = fieldset.find_all("p")
|
32
|
+
for p in ps:
|
33
|
+
collection = p.text.strip().replace("Your next ", "").split(".")[0]
|
34
|
+
bin_type = collection.split(" day is")[0]
|
35
|
+
collection_date = datetime.strptime(
|
36
|
+
remove_ordinal_indicator_from_date_string(collection).split("day is ")[
|
37
|
+
1
|
38
|
+
],
|
39
|
+
"%A %d %B %Y",
|
40
|
+
)
|
41
|
+
dict_data = {
|
42
|
+
"type": bin_type,
|
43
|
+
"collectionDate": collection_date.strftime(date_format),
|
44
|
+
}
|
45
|
+
data["bins"].append(dict_data)
|
46
|
+
|
30
47
|
# Find the page body with all the calendars
|
31
48
|
body = soup.find("div", {"id": "Application_ctl00"})
|
32
49
|
calendars = body.find_all_next("table", {"title": "Calendar"})
|
@@ -83,11 +83,16 @@ class CouncilClass(AbstractGetBinDataClass):
|
|
83
83
|
)
|
84
84
|
|
85
85
|
# Select address from dropdown and wait
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
86
|
+
WebDriverWait(driver, 10).until(
|
87
|
+
EC.element_to_be_clickable(
|
88
|
+
(
|
89
|
+
By.XPATH,
|
90
|
+
"//select[@id='FINDBINDAYSHIGHPEAK_ADDRESSSELECT_ADDRESS']//option[contains(., '"
|
91
|
+
+ user_paon
|
92
|
+
+ "')]",
|
93
|
+
)
|
94
|
+
)
|
95
|
+
).click()
|
91
96
|
|
92
97
|
WebDriverWait(driver, 10).until(
|
93
98
|
EC.presence_of_element_located(
|
@@ -0,0 +1,71 @@
|
|
1
|
+
import requests
|
2
|
+
from bs4 import BeautifulSoup
|
3
|
+
|
4
|
+
from uk_bin_collection.uk_bin_collection.common import *
|
5
|
+
from uk_bin_collection.uk_bin_collection.get_bin_data import AbstractGetBinDataClass
|
6
|
+
|
7
|
+
|
8
|
+
# import the wonderful Beautiful Soup and the URL grabber
|
9
|
+
class CouncilClass(AbstractGetBinDataClass):
|
10
|
+
"""
|
11
|
+
Concrete classes have to implement all abstract operations of the
|
12
|
+
base class. They can also override some operations with a default
|
13
|
+
implementation.
|
14
|
+
"""
|
15
|
+
|
16
|
+
def parse_data(self, page: str, **kwargs) -> dict:
|
17
|
+
|
18
|
+
user_uprn = kwargs.get("uprn")
|
19
|
+
check_uprn(user_uprn)
|
20
|
+
bindata = {"bins": []}
|
21
|
+
|
22
|
+
URI = f"https://www.hinckley-bosworth.gov.uk/set-location?id={user_uprn}&redirect=refuse&rememberloc="
|
23
|
+
|
24
|
+
# Make the GET request
|
25
|
+
response = requests.get(URI)
|
26
|
+
|
27
|
+
# Parse the HTML
|
28
|
+
soup = BeautifulSoup(response.content, "html.parser")
|
29
|
+
|
30
|
+
# Find all the bin collection date containers
|
31
|
+
bin_schedule = []
|
32
|
+
collection_divs = soup.find_all(
|
33
|
+
"div", class_=["first_date_bins", "last_date_bins"]
|
34
|
+
)
|
35
|
+
|
36
|
+
for div in collection_divs:
|
37
|
+
# Extract the date
|
38
|
+
date = div.find("h3", class_="collectiondate").text.strip().replace(":", "")
|
39
|
+
|
40
|
+
# Extract bin types
|
41
|
+
bins = [img["alt"] for img in div.find_all("img", class_="collection")]
|
42
|
+
|
43
|
+
# Append to the schedule
|
44
|
+
bin_schedule.append({"date": date, "bins": bins})
|
45
|
+
|
46
|
+
current_year = datetime.now().year
|
47
|
+
current_month = datetime.now().month
|
48
|
+
|
49
|
+
# Print the schedule
|
50
|
+
for entry in bin_schedule:
|
51
|
+
bin_types = entry["bins"]
|
52
|
+
date = datetime.strptime(entry["date"], "%d %B")
|
53
|
+
|
54
|
+
if (current_month > 9) and (date.month < 4):
|
55
|
+
date = date.replace(year=(current_year + 1))
|
56
|
+
else:
|
57
|
+
date = date.replace(year=current_year)
|
58
|
+
|
59
|
+
for bin_type in bin_types:
|
60
|
+
|
61
|
+
dict_data = {
|
62
|
+
"type": bin_type,
|
63
|
+
"collectionDate": date.strftime("%d/%m/%Y"),
|
64
|
+
}
|
65
|
+
bindata["bins"].append(dict_data)
|
66
|
+
|
67
|
+
bindata["bins"].sort(
|
68
|
+
key=lambda x: datetime.strptime(x.get("collectionDate"), "%d/%m/%Y")
|
69
|
+
)
|
70
|
+
|
71
|
+
return bindata
|
@@ -0,0 +1,70 @@
|
|
1
|
+
import requests
|
2
|
+
from bs4 import BeautifulSoup
|
3
|
+
|
4
|
+
from uk_bin_collection.uk_bin_collection.common import *
|
5
|
+
from uk_bin_collection.uk_bin_collection.get_bin_data import AbstractGetBinDataClass
|
6
|
+
|
7
|
+
|
8
|
+
# import the wonderful Beautiful Soup and the URL grabber
|
9
|
+
class CouncilClass(AbstractGetBinDataClass):
|
10
|
+
"""
|
11
|
+
Concrete classes have to implement all abstract operations of the
|
12
|
+
base class. They can also override some operations with a default
|
13
|
+
implementation.
|
14
|
+
"""
|
15
|
+
|
16
|
+
def parse_data(self, page: str, **kwargs) -> dict:
|
17
|
+
|
18
|
+
user_uprn = kwargs.get("uprn")
|
19
|
+
check_uprn(user_uprn)
|
20
|
+
bindata = {"bins": []}
|
21
|
+
|
22
|
+
URI = (
|
23
|
+
f"https://maps.monmouthshire.gov.uk/?action=SetAddress&UniqueId={user_uprn}"
|
24
|
+
)
|
25
|
+
|
26
|
+
# Make the GET request
|
27
|
+
response = requests.get(URI)
|
28
|
+
|
29
|
+
# Parse the HTML
|
30
|
+
soup = BeautifulSoup(response.content, "html.parser")
|
31
|
+
|
32
|
+
waste_collections_div = soup.find("div", {"aria-label": "Waste Collections"})
|
33
|
+
|
34
|
+
# Find all bin collection panels
|
35
|
+
bin_panels = waste_collections_div.find_all("div", class_="atPanelContent")
|
36
|
+
|
37
|
+
current_year = datetime.now().year
|
38
|
+
current_month = datetime.now().month
|
39
|
+
|
40
|
+
for panel in bin_panels:
|
41
|
+
# Extract bin name (e.g., "Household rubbish bag")
|
42
|
+
bin_name = panel.find("h4").text.strip().replace("\r", "").replace("\n", "")
|
43
|
+
|
44
|
+
# Extract collection date (e.g., "Monday 9th December")
|
45
|
+
date_tag = panel.find("p")
|
46
|
+
if date_tag and "Your next collection date is" in date_tag.text:
|
47
|
+
collection_date = date_tag.find("strong").text.strip()
|
48
|
+
else:
|
49
|
+
continue
|
50
|
+
|
51
|
+
collection_date = datetime.strptime(
|
52
|
+
remove_ordinal_indicator_from_date_string(collection_date), "%A %d %B"
|
53
|
+
)
|
54
|
+
|
55
|
+
if (current_month > 9) and (collection_date.month < 4):
|
56
|
+
collection_date = collection_date.replace(year=(current_year + 1))
|
57
|
+
else:
|
58
|
+
collection_date = collection_date.replace(year=current_year)
|
59
|
+
|
60
|
+
dict_data = {
|
61
|
+
"type": bin_name,
|
62
|
+
"collectionDate": collection_date.strftime("%d/%m/%Y"),
|
63
|
+
}
|
64
|
+
bindata["bins"].append(dict_data)
|
65
|
+
|
66
|
+
bindata["bins"].sort(
|
67
|
+
key=lambda x: datetime.strptime(x.get("collectionDate"), "%d/%m/%Y")
|
68
|
+
)
|
69
|
+
|
70
|
+
return bindata
|
@@ -1,7 +1,11 @@
|
|
1
1
|
# This script pulls (in one hit) the data
|
2
2
|
# from Warick District Council Bins Data
|
3
3
|
|
4
|
+
from datetime import datetime
|
5
|
+
|
4
6
|
from bs4 import BeautifulSoup
|
7
|
+
|
8
|
+
from uk_bin_collection.uk_bin_collection.common import *
|
5
9
|
from uk_bin_collection.uk_bin_collection.get_bin_data import AbstractGetBinDataClass
|
6
10
|
|
7
11
|
|
@@ -20,15 +24,30 @@ class CouncilClass(AbstractGetBinDataClass):
|
|
20
24
|
|
21
25
|
data = {"bins": []}
|
22
26
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
27
|
+
# Find all bin panels
|
28
|
+
bin_panels = soup.find_all("div", class_="col-sm-4 col-lg-3")
|
29
|
+
|
30
|
+
# Iterate through each panel to extract information
|
31
|
+
for panel in bin_panels:
|
32
|
+
bin_type = panel.find("img")["alt"].strip()
|
33
|
+
|
34
|
+
waste_dates = panel.find(
|
35
|
+
"div", class_="col-xs-12 text-center waste-dates margin-bottom-15"
|
36
|
+
)
|
37
|
+
|
38
|
+
for p in waste_dates.find_all("p")[1:]:
|
39
|
+
date = p.text.strip()
|
40
|
+
if " " in date:
|
41
|
+
date = date.split(" ")[1]
|
42
|
+
|
43
|
+
dict_data = {
|
44
|
+
"type": bin_type,
|
45
|
+
"collectionDate": date,
|
46
|
+
}
|
47
|
+
data["bins"].append(dict_data)
|
48
|
+
|
49
|
+
data["bins"].sort(
|
50
|
+
key=lambda x: datetime.strptime(x.get("collectionDate"), date_format)
|
51
|
+
)
|
33
52
|
|
34
53
|
return data
|
@@ -2,7 +2,7 @@ uk_bin_collection/README.rst,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,
|
|
2
2
|
uk_bin_collection/tests/council_feature_input_parity.py,sha256=DO6Mk4ImYgM5ZCZ-cutwz5RoYYWZRLYx2tr6zIs_9Rc,3843
|
3
3
|
uk_bin_collection/tests/features/environment.py,sha256=VQZjJdJI_kZn08M0j5cUgvKT4k3iTw8icJge1DGOkoA,127
|
4
4
|
uk_bin_collection/tests/features/validate_council_outputs.feature,sha256=SJK-Vc737hrf03tssxxbeg_JIvAH-ddB8f6gU1LTbuQ,251
|
5
|
-
uk_bin_collection/tests/input.json,sha256=
|
5
|
+
uk_bin_collection/tests/input.json,sha256=bKqDUy2Db-A44Vz-Tc0a-xwRh6MIaSxbvbsgBP1Bw1U,111573
|
6
6
|
uk_bin_collection/tests/output.schema,sha256=ZwKQBwYyTDEM4G2hJwfLUVM-5v1vKRvRK9W9SS1sd18,1086
|
7
7
|
uk_bin_collection/tests/step_defs/step_helpers/file_handler.py,sha256=Ygzi4V0S1MIHqbdstUlIqtRIwnynvhu4UtpweJ6-5N8,1474
|
8
8
|
uk_bin_collection/tests/step_defs/test_validate_council.py,sha256=VZ0a81sioJULD7syAYHjvK_-nT_Rd36tUyzPetSA0gk,3475
|
@@ -35,8 +35,8 @@ uk_bin_collection/uk_bin_collection/councils/BedfordshireCouncil.py,sha256=U1HOr
|
|
35
35
|
uk_bin_collection/uk_bin_collection/councils/BelfastCityCouncil.py,sha256=SGOv9mm3fByyR3TQDyNcSLeidX_7FlHelkxnh-NUTcY,4327
|
36
36
|
uk_bin_collection/uk_bin_collection/councils/BexleyCouncil.py,sha256=wqqCQZzu_q_pJrxTTlTrGGDgPB5EYgd4RiBy7nKnSHc,5835
|
37
37
|
uk_bin_collection/uk_bin_collection/councils/BirminghamCityCouncil.py,sha256=now2xgpfshYM33UWC18j6xa6BuBydO5Sl7OrDQOo6b0,4687
|
38
|
-
uk_bin_collection/uk_bin_collection/councils/BlabyDistrictCouncil.py,sha256=
|
39
|
-
uk_bin_collection/uk_bin_collection/councils/BlackburnCouncil.py,sha256=
|
38
|
+
uk_bin_collection/uk_bin_collection/councils/BlabyDistrictCouncil.py,sha256=xqWkQz3HDLkP5TgxQqVJziHJF2yl-q9PcV3Rv-38xDU,1941
|
39
|
+
uk_bin_collection/uk_bin_collection/councils/BlackburnCouncil.py,sha256=ZLA2V3qPsJTom7SeQdGDhF4tJSfgIV5Qi202QvGKJZ0,4477
|
40
40
|
uk_bin_collection/uk_bin_collection/councils/BoltonCouncil.py,sha256=WI68r8jB0IHPUT4CgmZMtng899AAMFTxkyTdPg9yLF8,4117
|
41
41
|
uk_bin_collection/uk_bin_collection/councils/BracknellForestCouncil.py,sha256=Llo1rULaAZ8rChVYZqXFFLo7CN6vbT0ULUJD6ActouY,9015
|
42
42
|
uk_bin_collection/uk_bin_collection/councils/BradfordMDC.py,sha256=BEWS2c62cOsf26jqn1AkNUvVmc5AlUADYLaQuPn9RY4,5456
|
@@ -55,7 +55,7 @@ uk_bin_collection/uk_bin_collection/councils/CalderdaleCouncil.py,sha256=OJZcHYl
|
|
55
55
|
uk_bin_collection/uk_bin_collection/councils/CannockChaseDistrictCouncil.py,sha256=ZamevXN8_Q8mRZOTESWtkb8jVyDXkTczcmhXMAVVSkM,2276
|
56
56
|
uk_bin_collection/uk_bin_collection/councils/CanterburyCityCouncil.py,sha256=2s8OL2H0QlUaNu6gUWcoAKHrRdLuQzfMHjcSZuLYbB0,1771
|
57
57
|
uk_bin_collection/uk_bin_collection/councils/CardiffCouncil.py,sha256=_k3sT_WR-gnjjt3tHQ-L2-keP9sdBV0ZeW7gHDzFPYo,7208
|
58
|
-
uk_bin_collection/uk_bin_collection/councils/CarmarthenshireCountyCouncil.py,sha256=
|
58
|
+
uk_bin_collection/uk_bin_collection/councils/CarmarthenshireCountyCouncil.py,sha256=lcZdnARG64NZMn9NxwANaxCk_Uq6pXRBpPXfhbd-3bE,1883
|
59
59
|
uk_bin_collection/uk_bin_collection/councils/CastlepointDistrictCouncil.py,sha256=JVPYUIlU2ISgbUSr5AOOXNK6IFQFtQmhZyYIMAOedD4,3858
|
60
60
|
uk_bin_collection/uk_bin_collection/councils/CharnwoodBoroughCouncil.py,sha256=tXfzMetN6wxahuGGRp2mIyCCDSL4F2aG61HhUxw6COQ,2172
|
61
61
|
uk_bin_collection/uk_bin_collection/councils/ChelmsfordCityCouncil.py,sha256=EB88D0MNJwuDZ2GX1ENc5maGYx17mnHTCtNl6s-v11E,5090
|
@@ -109,7 +109,7 @@ uk_bin_collection/uk_bin_collection/councils/FolkstoneandHytheDistrictCouncil.py
|
|
109
109
|
uk_bin_collection/uk_bin_collection/councils/ForestOfDeanDistrictCouncil.py,sha256=YWT2GM2-bQ3Zh9ps1K14XRZfanuJOlV-zHpOOYMXAXY,4893
|
110
110
|
uk_bin_collection/uk_bin_collection/councils/GatesheadCouncil.py,sha256=SRCgYhYs6rv_8C1UEDVORHZgXxcJkoZBjzdYS4Lu-ew,4531
|
111
111
|
uk_bin_collection/uk_bin_collection/councils/GedlingBoroughCouncil.py,sha256=XzfFMCwclh9zAJgsbaj4jywjdiH0wPaFicaVsLrN3ms,2297
|
112
|
-
uk_bin_collection/uk_bin_collection/councils/GlasgowCityCouncil.py,sha256
|
112
|
+
uk_bin_collection/uk_bin_collection/councils/GlasgowCityCouncil.py,sha256=-QKWlavyDqydJz97WYywvOjBC9fJmS530HyHnnxTe1A,2974
|
113
113
|
uk_bin_collection/uk_bin_collection/councils/GloucesterCityCouncil.py,sha256=8Wjvmdvg5blHVrREaEnhhWZaWhYVP4v_KdDVPLIUxaU,4889
|
114
114
|
uk_bin_collection/uk_bin_collection/councils/GraveshamBoroughCouncil.py,sha256=ueQ9xFiTxMUBTGV9VjtySHA1EFWliTM0AeNePBIG9ho,4568
|
115
115
|
uk_bin_collection/uk_bin_collection/councils/GuildfordCouncil.py,sha256=9pVrmQhZcK2AD8gX8mNvP--L4L9KaY6L3B822VX6fec,5695
|
@@ -120,8 +120,9 @@ uk_bin_collection/uk_bin_collection/councils/HaringeyCouncil.py,sha256=t_6AkAu4w
|
|
120
120
|
uk_bin_collection/uk_bin_collection/councils/HarrogateBoroughCouncil.py,sha256=_g3fP5Nq-OUjgNrfRf4UEyFKzq0x8QK-4enh5RP1efA,2050
|
121
121
|
uk_bin_collection/uk_bin_collection/councils/HartlepoolBoroughCouncil.py,sha256=MUT1A24iZShT2p55rXEvgYwGUuw3W05Z4ZQAveehv-s,2842
|
122
122
|
uk_bin_collection/uk_bin_collection/councils/HertsmereBoroughCouncil.py,sha256=-ThSG6NIJP_wf2GmGL7SAvxbOujdhanZ8ECP4VSQCBs,5415
|
123
|
-
uk_bin_collection/uk_bin_collection/councils/HighPeakCouncil.py,sha256=
|
123
|
+
uk_bin_collection/uk_bin_collection/councils/HighPeakCouncil.py,sha256=x7dfy8mdt2iGl8qJxHb-uBh4u0knmi9MJ6irOJw9WYA,4805
|
124
124
|
uk_bin_collection/uk_bin_collection/councils/HighlandCouncil.py,sha256=GNxDU65QuZHV5va2IrKtcJ6TQoDdwmV03JvkVqOauP4,3291
|
125
|
+
uk_bin_collection/uk_bin_collection/councils/HinckleyandBosworthBoroughCouncil.py,sha256=2Hk-_pitSQXlLVct_Vmu1b2EiCNuTMQBYbJs1lJVdCc,2299
|
125
126
|
uk_bin_collection/uk_bin_collection/councils/HounslowCouncil.py,sha256=LXhJ47rujx7k3naz0tFiTT1l5k6gAYcVdekJN1t_HLY,4564
|
126
127
|
uk_bin_collection/uk_bin_collection/councils/HullCityCouncil.py,sha256=UHcesBoctFVcXDYuwfag43KbcJcopkEDzJ-54NxtK0Q,1851
|
127
128
|
uk_bin_collection/uk_bin_collection/councils/HuntingdonDistrictCouncil.py,sha256=dGyhhG6HRjQ2SPeiRwUPTGlk9dPIslagV2k0GjEOn1s,1587
|
@@ -157,6 +158,7 @@ uk_bin_collection/uk_bin_collection/councils/MidSussexDistrictCouncil.py,sha256=
|
|
157
158
|
uk_bin_collection/uk_bin_collection/councils/MidlothianCouncil.py,sha256=mM5-itJDNhjsT5UEjSFfWppmfmPFSns4u_1QblewuFU,5605
|
158
159
|
uk_bin_collection/uk_bin_collection/councils/MiltonKeynesCityCouncil.py,sha256=7e2pGBLCw24pNItHeI9jkxQ3rEOZ4WC4zVlbvKYGdXE,2600
|
159
160
|
uk_bin_collection/uk_bin_collection/councils/MoleValleyDistrictCouncil.py,sha256=xWR5S0gwQu9gXxjl788Wux1KaC0CT7ZFw0iXuRLZCEM,5599
|
161
|
+
uk_bin_collection/uk_bin_collection/councils/MonmouthshireCountyCouncil.py,sha256=jLdnZUVHPmm21hk4oQ6fruEj39Y4YikSl8TVb_CuN0s,2424
|
160
162
|
uk_bin_collection/uk_bin_collection/councils/MorayCouncil.py,sha256=jsHCQ_aV_bG0GPfF7h6g5TP84sroplYC5k2M6iEKiTw,2265
|
161
163
|
uk_bin_collection/uk_bin_collection/councils/NeathPortTalbotCouncil.py,sha256=ychYR2nsyk2UIb8tjWaKrLUT4hxSsHN558l3RqZ0mjw,5635
|
162
164
|
uk_bin_collection/uk_bin_collection/councils/NewForestCouncil.py,sha256=ylTn9KmWITtaO9_Z8kJCN2w2ALfhrfGt3SeJ78lgw7M,5391
|
@@ -256,7 +258,7 @@ uk_bin_collection/uk_bin_collection/councils/WakefieldCityCouncil.py,sha256=vRfI
|
|
256
258
|
uk_bin_collection/uk_bin_collection/councils/WalsallCouncil.py,sha256=_anovUnXMr40lZLHyX3opIP73BwauCllKy-Z2SBrzPw,2076
|
257
259
|
uk_bin_collection/uk_bin_collection/councils/WalthamForest.py,sha256=P7MMw0EhpRmDbbnHb25tY5_yvYuZUFwJ1br4TOv24sY,4997
|
258
260
|
uk_bin_collection/uk_bin_collection/councils/WarringtonBoroughCouncil.py,sha256=AB9mrV1v4pKKhfsBS8MpjO8XXBifqojSk53J9Q74Guk,1583
|
259
|
-
uk_bin_collection/uk_bin_collection/councils/WarwickDistrictCouncil.py,sha256=
|
261
|
+
uk_bin_collection/uk_bin_collection/councils/WarwickDistrictCouncil.py,sha256=DAL_f0BcIxFj7Ngkms5Q80kgSGp9y5zB35wRPudayz8,1644
|
260
262
|
uk_bin_collection/uk_bin_collection/councils/WatfordBoroughCouncil.py,sha256=zFkXmF1X5g8pjv7II_jXBdrHJu16gy_PowVWVdaDg7A,2657
|
261
263
|
uk_bin_collection/uk_bin_collection/councils/WaverleyBoroughCouncil.py,sha256=tp9l7vdgSGRzNNG0pDfnNuFj4D2bpRJUJmAiTJ6bM0g,4662
|
262
264
|
uk_bin_collection/uk_bin_collection/councils/WealdenDistrictCouncil.py,sha256=SvSSaLkx7iJjzypAwKkaJwegXkSsIQtUOS2V605kz1A,3368
|
@@ -285,8 +287,8 @@ uk_bin_collection/uk_bin_collection/councils/YorkCouncil.py,sha256=I2kBYMlsD4bId
|
|
285
287
|
uk_bin_collection/uk_bin_collection/councils/council_class_template/councilclasstemplate.py,sha256=EQWRhZ2pEejlvm0fPyOTsOHKvUZmPnxEYO_OWRGKTjs,1158
|
286
288
|
uk_bin_collection/uk_bin_collection/create_new_council.py,sha256=m-IhmWmeWQlFsTZC4OxuFvtw5ZtB8EAJHxJTH4O59lQ,1536
|
287
289
|
uk_bin_collection/uk_bin_collection/get_bin_data.py,sha256=YvmHfZqanwrJ8ToGch34x-L-7yPe31nB_x77_Mgl_vo,4545
|
288
|
-
uk_bin_collection-0.
|
289
|
-
uk_bin_collection-0.
|
290
|
-
uk_bin_collection-0.
|
291
|
-
uk_bin_collection-0.
|
292
|
-
uk_bin_collection-0.
|
290
|
+
uk_bin_collection-0.122.0.dist-info/LICENSE,sha256=vABBUOzcrgfaTKpzeo-si9YVEun6juDkndqA8RKdKGs,1071
|
291
|
+
uk_bin_collection-0.122.0.dist-info/METADATA,sha256=cuaZZvJNMw784bFqOHyuc7nJOJGOYROQ5LdyS6On0pA,17574
|
292
|
+
uk_bin_collection-0.122.0.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
293
|
+
uk_bin_collection-0.122.0.dist-info/entry_points.txt,sha256=36WCSGMWSc916S3Hi1ZkazzDKHaJ6CD-4fCEFm5MIao,90
|
294
|
+
uk_bin_collection-0.122.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|
{uk_bin_collection-0.121.1.dist-info → uk_bin_collection-0.122.0.dist-info}/entry_points.txt
RENAMED
File without changes
|