uk_bin_collection 0.138.1__py3-none-any.whl → 0.140.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.
Files changed (32) hide show
  1. uk_bin_collection/tests/input.json +63 -26
  2. uk_bin_collection/uk_bin_collection/councils/AberdeenCityCouncil.py +2 -1
  3. uk_bin_collection/uk_bin_collection/councils/AberdeenshireCouncil.py +1 -0
  4. uk_bin_collection/uk_bin_collection/councils/ArdsAndNorthDownCouncil.py +1 -0
  5. uk_bin_collection/uk_bin_collection/councils/BarnsleyMBCouncil.py +1 -0
  6. uk_bin_collection/uk_bin_collection/councils/BroadlandDistrictCouncil.py +185 -0
  7. uk_bin_collection/uk_bin_collection/councils/BroxbourneCouncil.py +7 -3
  8. uk_bin_collection/uk_bin_collection/councils/CeredigionCountyCouncil.py +157 -0
  9. uk_bin_collection/uk_bin_collection/councils/CheltenhamBoroughCouncil.py +95 -61
  10. uk_bin_collection/uk_bin_collection/councils/CheshireEastCouncil.py +1 -0
  11. uk_bin_collection/uk_bin_collection/councils/CoventryCityCouncil.py +4 -1
  12. uk_bin_collection/uk_bin_collection/councils/ForestOfDeanDistrictCouncil.py +52 -41
  13. uk_bin_collection/uk_bin_collection/councils/GooglePublicCalendarCouncil.py +3 -4
  14. uk_bin_collection/uk_bin_collection/councils/LondonBoroughOfRichmondUponThames.py +11 -9
  15. uk_bin_collection/uk_bin_collection/councils/MiddlesbroughCouncil.py +13 -4
  16. uk_bin_collection/uk_bin_collection/councils/MonmouthshireCountyCouncil.py +5 -1
  17. uk_bin_collection/uk_bin_collection/councils/NewForestCouncil.py +1 -3
  18. uk_bin_collection/uk_bin_collection/councils/NorthDevonCountyCouncil.py +159 -0
  19. uk_bin_collection/uk_bin_collection/councils/NorwichCityCouncil.py +15 -3
  20. uk_bin_collection/uk_bin_collection/councils/NuneatonBedworthBoroughCouncil.py +873 -871
  21. uk_bin_collection/uk_bin_collection/councils/RugbyBoroughCouncil.py +1 -1
  22. uk_bin_collection/uk_bin_collection/councils/RushcliffeBoroughCouncil.py +3 -6
  23. uk_bin_collection/uk_bin_collection/councils/SouthHollandDistrictCouncil.py +136 -0
  24. uk_bin_collection/uk_bin_collection/councils/WalsallCouncil.py +6 -2
  25. uk_bin_collection/uk_bin_collection/councils/WalthamForest.py +1 -1
  26. uk_bin_collection/uk_bin_collection/councils/WestLindseyDistrictCouncil.py +6 -3
  27. uk_bin_collection/uk_bin_collection/councils/WychavonDistrictCouncil.py +1 -0
  28. {uk_bin_collection-0.138.1.dist-info → uk_bin_collection-0.140.0.dist-info}/METADATA +1 -1
  29. {uk_bin_collection-0.138.1.dist-info → uk_bin_collection-0.140.0.dist-info}/RECORD +32 -28
  30. {uk_bin_collection-0.138.1.dist-info → uk_bin_collection-0.140.0.dist-info}/LICENSE +0 -0
  31. {uk_bin_collection-0.138.1.dist-info → uk_bin_collection-0.140.0.dist-info}/WHEEL +0 -0
  32. {uk_bin_collection-0.138.1.dist-info → uk_bin_collection-0.140.0.dist-info}/entry_points.txt +0 -0
@@ -69,7 +69,7 @@ class CouncilClass(AbstractGetBinDataClass):
69
69
  for row in table_rows:
70
70
  row_text = row.text.strip().split("\n")
71
71
  bin_text = row_text[0].split(" ")
72
- bin_type = ' '.join(bin_text[1:]).capitalize()
72
+ bin_type = " ".join(bin_text[1:]).capitalize()
73
73
  collections.append(
74
74
  (bin_type, datetime.strptime(row_text[1], "%A %d %b %Y"))
75
75
  )
@@ -9,6 +9,7 @@ from uk_bin_collection.uk_bin_collection.get_bin_data import AbstractGetBinDataC
9
9
 
10
10
  import string
11
11
 
12
+
12
13
  # import the wonderful Beautiful Soup and the URL grabber
13
14
  class CouncilClass(AbstractGetBinDataClass):
14
15
  """
@@ -50,9 +51,7 @@ class CouncilClass(AbstractGetBinDataClass):
50
51
 
51
52
  # Wait for the 'Select address' dropdown to be visible and select option matching UPRN
52
53
  dropdown = WebDriverWait(driver, 10).until(
53
- EC.visibility_of_element_located(
54
- (By.ID, "FF3518-list")
55
- )
54
+ EC.visibility_of_element_located((By.ID, "FF3518-list"))
56
55
  )
57
56
 
58
57
  # Create a 'Select' for it, then select the matching URPN option
@@ -76,9 +75,7 @@ class CouncilClass(AbstractGetBinDataClass):
76
75
 
77
76
  # Wait for the confirmation panel to appear
78
77
  conf_div = WebDriverWait(driver, 10).until(
79
- EC.presence_of_element_located(
80
- (By.CLASS_NAME, "ss_confPanel")
81
- )
78
+ EC.presence_of_element_located((By.CLASS_NAME, "ss_confPanel"))
82
79
  )
83
80
 
84
81
  soup = BeautifulSoup(driver.page_source, features="html.parser")
@@ -0,0 +1,136 @@
1
+ import time
2
+
3
+ from bs4 import BeautifulSoup
4
+ from selenium import webdriver
5
+ from selenium.webdriver.common.by import By
6
+ from selenium.webdriver.support import expected_conditions as EC
7
+ from selenium.webdriver.support.ui import Select, WebDriverWait
8
+
9
+ from uk_bin_collection.uk_bin_collection.common import *
10
+ from uk_bin_collection.uk_bin_collection.get_bin_data import AbstractGetBinDataClass
11
+
12
+ import re
13
+ from datetime import datetime
14
+
15
+
16
+ # import the wonderful Beautiful Soup and the URL grabber
17
+ class CouncilClass(AbstractGetBinDataClass):
18
+ """
19
+ Concrete classes have to implement all abstract operations of the
20
+ base class. They can also override some operations with a default
21
+ implementation.
22
+ """
23
+
24
+ def parse_data(self, page: str, **kwargs) -> dict:
25
+ try:
26
+ # Make a BS4 object
27
+ data = {"bins": []}
28
+
29
+ user_uprn = kwargs.get("uprn")
30
+ user_postcode = kwargs.get("postcode")
31
+ headless = kwargs.get("headless")
32
+ web_driver = kwargs.get("web_driver")
33
+ driver = create_webdriver(web_driver, headless, None, __name__)
34
+ page = "https://www.sholland.gov.uk/mycollections"
35
+ check_uprn(user_uprn)
36
+ check_postcode(user_postcode)
37
+ driver.get(page)
38
+
39
+ find_address_button = WebDriverWait(driver, timeout=15).until(
40
+ EC.presence_of_element_located(
41
+ (By.ID, "SHDCWASTECOLLECTIONS_PAGE1_FINDADDRESSBUTTON")
42
+ )
43
+ )
44
+ # Wait for the postcode field to appear then populate it
45
+ postcode_input = WebDriverWait(driver, timeout=15).until(
46
+ EC.presence_of_element_located(
47
+ (By.ID, "SHDCWASTECOLLECTIONS_PAGE1_POSTCODENEW")
48
+ )
49
+ )
50
+
51
+ postcode_input.send_keys(user_postcode)
52
+
53
+ find_address_button.click()
54
+
55
+ # Wait until the address list contains an option with the target UPRN
56
+ WebDriverWait(driver, timeout=20).until(
57
+ lambda d: str(user_uprn)
58
+ in [
59
+ option.get_attribute("value")
60
+ for option in Select(
61
+ d.find_element(By.ID, "SHDCWASTECOLLECTIONS_PAGE1_ADDRESSLIST")
62
+ ).options
63
+ ]
64
+ )
65
+
66
+ # Now select the UPRN
67
+ address_selection_menu = Select(
68
+ driver.find_element(By.ID, "SHDCWASTECOLLECTIONS_PAGE1_ADDRESSLIST")
69
+ )
70
+ address_selection_menu.select_by_value(str(user_uprn))
71
+
72
+ next_button = WebDriverWait(driver, timeout=15).until(
73
+ EC.presence_of_element_located(
74
+ (By.ID, "SHDCWASTECOLLECTIONS_PAGE1_CONTINUEBUTTON_NEXT")
75
+ )
76
+ )
77
+
78
+ next_button.click()
79
+
80
+ # Check for text saying "Next collection dates"
81
+ WebDriverWait(driver, 30).until(
82
+ EC.presence_of_element_located(
83
+ (By.XPATH, "//*[contains(text(), 'Check your collection days')]")
84
+ )
85
+ )
86
+
87
+ soup = BeautifulSoup(driver.page_source, "html.parser")
88
+
89
+ # Find the results container
90
+ waste_blocks = soup.select("div.mycollections div.waste")
91
+
92
+ for block in waste_blocks:
93
+ try:
94
+ # Get the bin type
95
+ heading = block.find("h3").get_text(strip=True)
96
+ bin_type = heading.split(":")[0] # e.g., "Refuse"
97
+
98
+ # Find the div with the next collection info
99
+ next_coll_div = block.find("div", class_="nextcoll")
100
+ if not next_coll_div:
101
+ continue
102
+
103
+ text = next_coll_div.get_text(" ", strip=True)
104
+
105
+ # Extract date using regex, e.g. 'Wednesday 9th April 2025'
106
+ match = re.search(
107
+ r"\b(\d{1,2})(?:st|nd|rd|th)?\s+([A-Za-z]+)\s+(\d{4})\b", text
108
+ )
109
+ if match:
110
+ day, month_str, year = match.groups()
111
+
112
+ # Convert to datetime to format as dd/mm/yyyy
113
+ date_obj = datetime.strptime(
114
+ f"{day} {month_str} {year}", "%d %B %Y"
115
+ )
116
+ formatted_date = date_obj.strftime("%d/%m/%Y")
117
+ else:
118
+ formatted_date = "Unknown"
119
+
120
+ data["bins"].append(
121
+ {"type": bin_type, "collectionDate": formatted_date}
122
+ )
123
+
124
+ except Exception as parse_error:
125
+ print(f"Error parsing bin data: {parse_error}")
126
+
127
+ except Exception as e:
128
+ # Here you can log the exception if needed
129
+ print(f"An error occurred: {e}")
130
+ # Optionally, re-raise the exception if you want it to propagate
131
+ raise
132
+ finally:
133
+ # This block ensures that the driver is closed regardless of an exception.
134
+ if driver:
135
+ driver.quit()
136
+ return data
@@ -34,11 +34,15 @@ class CouncilClass(AbstractGetBinDataClass):
34
34
  for item in schedule_links:
35
35
  if "roundname" in item.contents[1]["href"]:
36
36
  # get bin colour
37
- bin_colour = item.contents[1]["href"].split("=")[-1].split("%")[0].upper()
37
+ bin_colour = (
38
+ item.contents[1]["href"].split("=")[-1].split("%")[0].upper()
39
+ )
38
40
  bin_url = "https://cag.walsall.gov.uk" + item.contents[1]["href"]
39
41
  r = requests.get(bin_url, headers=headers)
40
42
  if r.status_code != 200:
41
- print(f"Collection details for {bin_colour.lower()} bin could not be retrieved.")
43
+ print(
44
+ f"Collection details for {bin_colour.lower()} bin could not be retrieved."
45
+ )
42
46
  break
43
47
  soup = BeautifulSoup(r.text, "html.parser")
44
48
  table = soup.findAll("tr")
@@ -123,4 +123,4 @@ class CouncilClass(AbstractGetBinDataClass):
123
123
  # This block ensures that the driver is closed regardless of an exception
124
124
  if driver:
125
125
  driver.quit()
126
- return data
126
+ return data
@@ -48,7 +48,7 @@ class CouncilClass(AbstractGetBinDataClass):
48
48
  address_x = address_data["Locations"][0]["X"]
49
49
  address_y = address_data["Locations"][0]["Y"]
50
50
 
51
- stage2_url = fr"https://wlnk.statmap.co.uk/map/Cluster.svc/getpage?script=\Cluster\Cluster.AuroraScript$&taskId=bins&format=js&updateOnly=true&query=x%3D{address_x}%3By%3D{address_y}%3Bid%3D{address_id}"
51
+ stage2_url = rf"https://wlnk.statmap.co.uk/map/Cluster.svc/getpage?script=\Cluster\Cluster.AuroraScript$&taskId=bins&format=js&updateOnly=true&query=x%3D{address_x}%3By%3D{address_y}%3Bid%3D{address_id}"
52
52
 
53
53
  bin_query = requests.get(stage2_url).text
54
54
 
@@ -97,7 +97,11 @@ class CouncilClass(AbstractGetBinDataClass):
97
97
  )
98
98
  # If the current month is December and one of the next collections is in January, increment the year
99
99
  if datetime.now().month == 12 and int(split_date[1]) < 12:
100
- full_date = datetime(year=datetime.now().year + 1, month=int(split_date[1]), day=int(split_date[0]))
100
+ full_date = datetime(
101
+ year=datetime.now().year + 1,
102
+ month=int(split_date[1]),
103
+ day=int(split_date[0]),
104
+ )
101
105
 
102
106
  # Since data in unordered, add to a tuple
103
107
  collections.append((bin_type.title(), full_date))
@@ -115,4 +119,3 @@ class CouncilClass(AbstractGetBinDataClass):
115
119
  data["bins"].append(dict_data)
116
120
 
117
121
  return data
118
-
@@ -20,6 +20,7 @@ logging.basicConfig(
20
20
  level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s"
21
21
  )
22
22
 
23
+
23
24
  class CouncilClass(AbstractGetBinDataClass):
24
25
 
25
26
  def parse_data(self, page: str, **kwargs) -> dict:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: uk_bin_collection
3
- Version: 0.138.1
3
+ Version: 0.140.0
4
4
  Summary: Python Lib to collect UK Bin Data
5
5
  Author: Robert Bradley
6
6
  Author-email: robbrad182@gmail.com
@@ -3,7 +3,7 @@ uk_bin_collection/tests/check_selenium_url_in_input.json.py,sha256=Iecdja0I3XIiY
3
3
  uk_bin_collection/tests/council_feature_input_parity.py,sha256=DO6Mk4ImYgM5ZCZ-cutwz5RoYYWZRLYx2tr6zIs_9Rc,3843
4
4
  uk_bin_collection/tests/features/environment.py,sha256=VQZjJdJI_kZn08M0j5cUgvKT4k3iTw8icJge1DGOkoA,127
5
5
  uk_bin_collection/tests/features/validate_council_outputs.feature,sha256=SJK-Vc737hrf03tssxxbeg_JIvAH-ddB8f6gU1LTbuQ,251
6
- uk_bin_collection/tests/input.json,sha256=acZWzLnjM5obEdPHHCQGqVC6-D01kCHzgtqPro5pj18,118188
6
+ uk_bin_collection/tests/input.json,sha256=b6MsNMMQbs1-lW6g1_dYz5WTiwt8Puuu3q_BEopiulk,120060
7
7
  uk_bin_collection/tests/output.schema,sha256=ZwKQBwYyTDEM4G2hJwfLUVM-5v1vKRvRK9W9SS1sd18,1086
8
8
  uk_bin_collection/tests/step_defs/step_helpers/file_handler.py,sha256=Ygzi4V0S1MIHqbdstUlIqtRIwnynvhu4UtpweJ6-5N8,1474
9
9
  uk_bin_collection/tests/step_defs/test_validate_council.py,sha256=VZ0a81sioJULD7syAYHjvK_-nT_Rd36tUyzPetSA0gk,3475
@@ -13,12 +13,12 @@ uk_bin_collection/tests/test_conftest.py,sha256=qI_zgGjNOnwE9gmZUiuirL1SYz3TFw5y
13
13
  uk_bin_collection/tests/test_get_data.py,sha256=sFJz_Fd6o-1r2gdmzY52JGwVi0Of_mDzvYSoc7a3RUw,7239
14
14
  uk_bin_collection/uk_bin_collection/collect_data.py,sha256=dB7wWXsJX4fm5bIf84lexkvHIcO54CZ3JPxqmS-60YY,4654
15
15
  uk_bin_collection/uk_bin_collection/common.py,sha256=Wj6o2NaxYDE1lkpYzMFDIZiPARX0K3xmt-5bnt2kjSI,10970
16
- uk_bin_collection/uk_bin_collection/councils/AberdeenCityCouncil.py,sha256=l8OahAm9w9AG61VjCu0B_i51TrwB4vEl_KO0907uJPE,4197
17
- uk_bin_collection/uk_bin_collection/councils/AberdeenshireCouncil.py,sha256=xhAdPFEQrPpQxQQ6Q5JYy2GS0QQ10-_y7nxoC74ARc4,1654
16
+ uk_bin_collection/uk_bin_collection/councils/AberdeenCityCouncil.py,sha256=Je8VwVLK9KnYl9vqf2gWJ7ZYDgUq3A7caDiIzk5Xof8,4194
17
+ uk_bin_collection/uk_bin_collection/councils/AberdeenshireCouncil.py,sha256=aO1CSdyqa8oAD0fB79y1Q9bikAWCP_JFa7CsyTa2j9s,1655
18
18
  uk_bin_collection/uk_bin_collection/councils/AdurAndWorthingCouncils.py,sha256=ppbrmm-MzB1wOulK--CU_0j4P-djNf3ozMhHnmQFqLo,1511
19
19
  uk_bin_collection/uk_bin_collection/councils/AmberValleyBoroughCouncil.py,sha256=mTeluIIEcuxLxhfDQ95A1fp8RM6AkJT5tRGZPUbYGdk,1853
20
20
  uk_bin_collection/uk_bin_collection/councils/AntrimAndNewtonabbeyCouncil.py,sha256=Hp5pteaC5RjL5ZqPZ564S9WQ6ZTKLMO6Dl_fxip2TUc,1653
21
- uk_bin_collection/uk_bin_collection/councils/ArdsAndNorthDownCouncil.py,sha256=E9A5-mKBMHOuh-WJtHzo-mSPYqAsgghvV6SwV889hmA,3823
21
+ uk_bin_collection/uk_bin_collection/councils/ArdsAndNorthDownCouncil.py,sha256=iMBldxNErgi-ok1o6xpqdNgMvR6qapaNqoTWDTqMeGo,3824
22
22
  uk_bin_collection/uk_bin_collection/councils/ArgyllandButeCouncil.py,sha256=fJ0UvuSCbzFE9CPoxt1U9CJeFsbTKts_5GRBc3E9Eno,2201
23
23
  uk_bin_collection/uk_bin_collection/councils/ArmaghBanbridgeCraigavonCouncil.py,sha256=o9NBbVCTdxKXnpYbP8-zxe1Gh8s57vwfV75Son_sAHE,2863
24
24
  uk_bin_collection/uk_bin_collection/councils/ArunCouncil.py,sha256=yfhthv9nuogP19VOZ3TYQrq51qqjiCZcSel4sXhiKjs,4012
@@ -28,7 +28,7 @@ uk_bin_collection/uk_bin_collection/councils/AylesburyValeCouncil.py,sha256=Louq
28
28
  uk_bin_collection/uk_bin_collection/councils/BCPCouncil.py,sha256=W7QBx6Mgso8RYosuXsaYo3GGNAu-tiyBSmuYxr1JSOU,1707
29
29
  uk_bin_collection/uk_bin_collection/councils/BaberghDistrictCouncil.py,sha256=1eXdST58xFRMdYl8AGNG_EwyQeLa31WSWUe882hQ2ec,6329
30
30
  uk_bin_collection/uk_bin_collection/councils/BarnetCouncil.py,sha256=Sd4-pbv0QZsR7soxvXYqsfdOUIqZqS6notyoZthG77s,9182
31
- uk_bin_collection/uk_bin_collection/councils/BarnsleyMBCouncil.py,sha256=RKuH8HzGc3Q0WtLg-g_xVMn9hUYqdENgfcvvR4Bx5PI,4763
31
+ uk_bin_collection/uk_bin_collection/councils/BarnsleyMBCouncil.py,sha256=hqzVKEqwYmjcQjCYBletcCt9_pE96qQ3kn7eDroJeNk,4764
32
32
  uk_bin_collection/uk_bin_collection/councils/BasildonCouncil.py,sha256=NymPmq5pud0PJ8ePcc2r1SKED4EHQ0EY2l71O-Metxc,3313
33
33
  uk_bin_collection/uk_bin_collection/councils/BasingstokeCouncil.py,sha256=VPWGljnH4C3q8qs5ZmCtqjNjgWQvviALzjk00q3EZeQ,2632
34
34
  uk_bin_collection/uk_bin_collection/councils/BathAndNorthEastSomersetCouncil.py,sha256=N_TPiIv8VBzN3rY0p3JtLlxSEru-6k1wW4UNIhN5X1M,3709
@@ -50,9 +50,10 @@ uk_bin_collection/uk_bin_collection/councils/BrecklandCouncil.py,sha256=PX6A_pDv
50
50
  uk_bin_collection/uk_bin_collection/councils/BrentCouncil.py,sha256=ucwokxvASYi_KiOYSOVdaGfC1kfUbII0r6Zl2NE1hnU,4208
51
51
  uk_bin_collection/uk_bin_collection/councils/BrightonandHoveCityCouncil.py,sha256=k6qt4cds-Ejd97Z-__pw2BYvGVbFdc9SUfF73PPrTNA,5823
52
52
  uk_bin_collection/uk_bin_collection/councils/BristolCityCouncil.py,sha256=kJmmDJz_kQ45DHmG7ocrUpNJonEn0kuXYEDQyZaf9ks,5576
53
+ uk_bin_collection/uk_bin_collection/councils/BroadlandDistrictCouncil.py,sha256=aelqhh503dx6O2EEmC3AT5tnY39Dc53qcouH8T-mek8,7613
53
54
  uk_bin_collection/uk_bin_collection/councils/BromleyBoroughCouncil.py,sha256=dii85JLmYU1uMidCEsWVo3stTcq_QqyC65DxG8u1UmE,4302
54
55
  uk_bin_collection/uk_bin_collection/councils/BromsgroveDistrictCouncil.py,sha256=PUfxP8j5Oh9wFHkdjbrJzQli9UzMHZzwrZ2hkThrvhI,1781
55
- uk_bin_collection/uk_bin_collection/councils/BroxbourneCouncil.py,sha256=NR1FoxLF0Ne61cJJmlVJhGfxjZ2sj60aLlOHBWWxtrM,2921
56
+ uk_bin_collection/uk_bin_collection/councils/BroxbourneCouncil.py,sha256=mcRtkFc9g3YNN17OQfhzYJtNYeWrZPP_e7m7goEhz5I,3012
56
57
  uk_bin_collection/uk_bin_collection/councils/BroxtoweBoroughCouncil.py,sha256=-Facq-ToQkcWUePpKBwq90LZUFxgUSydNL2sYaLX4yw,4473
57
58
  uk_bin_collection/uk_bin_collection/councils/BuckinghamshireCouncil.py,sha256=_ELVUM5VLp1nwDxRpvpsp6n8SzLJvp_UyMp-i_MXYuo,4383
58
59
  uk_bin_collection/uk_bin_collection/councils/BurnleyBoroughCouncil.py,sha256=GJf1OPvUVj3vqsR3KjG0DFHZrSBu4ogIz_MJeVV8tNA,3192
@@ -64,11 +65,12 @@ uk_bin_collection/uk_bin_collection/councils/CanterburyCityCouncil.py,sha256=Uz7
64
65
  uk_bin_collection/uk_bin_collection/councils/CardiffCouncil.py,sha256=_k3sT_WR-gnjjt3tHQ-L2-keP9sdBV0ZeW7gHDzFPYo,7208
65
66
  uk_bin_collection/uk_bin_collection/councils/CarmarthenshireCountyCouncil.py,sha256=viiZprMos_qcD44dki5_RRVZgGE4cH4zSHAzYRKrjHw,1864
66
67
  uk_bin_collection/uk_bin_collection/councils/CastlepointDistrictCouncil.py,sha256=AjxuIqKxx0tYHMaTBITXTcnN2L-Zrx78uwUkqTjI0xU,3599
68
+ uk_bin_collection/uk_bin_collection/councils/CeredigionCountyCouncil.py,sha256=np9iLnMVWpMYUiHZ4sJaSaU5pOWfmiCLQ8TIrOlY48o,5924
67
69
  uk_bin_collection/uk_bin_collection/councils/CharnwoodBoroughCouncil.py,sha256=tXfzMetN6wxahuGGRp2mIyCCDSL4F2aG61HhUxw6COQ,2172
68
70
  uk_bin_collection/uk_bin_collection/councils/ChelmsfordCityCouncil.py,sha256=EB88D0MNJwuDZ2GX1ENc5maGYx17mnHTCtNl6s-v11E,5090
69
- uk_bin_collection/uk_bin_collection/councils/CheltenhamBoroughCouncil.py,sha256=fo9n2AuD8a174h3YMa9awa3S4YO2XU1KaInQ4ULz6s4,13686
71
+ uk_bin_collection/uk_bin_collection/councils/CheltenhamBoroughCouncil.py,sha256=Su77RQoX4Hw6goAT0f-sfhOf3NFPn0MaPFrNdEEhsMM,14100
70
72
  uk_bin_collection/uk_bin_collection/councils/CherwellDistrictCouncil.py,sha256=VxTe9qk93MFgtELEgVrEz3W0vYaG_32EpPmky_b4j0k,2590
71
- uk_bin_collection/uk_bin_collection/councils/CheshireEastCouncil.py,sha256=K95UaS67nxGSFzLoyqMSZcLmfhwjDImVXznMZC_bFa4,1680
73
+ uk_bin_collection/uk_bin_collection/councils/CheshireEastCouncil.py,sha256=I7Dj8LzG-Q4yrJ99jLRIwKwW5WQ9he8UksvF_YPzTxI,1681
72
74
  uk_bin_collection/uk_bin_collection/councils/CheshireWestAndChesterCouncil.py,sha256=5mKZf22NgdyBY-SqV0c2q8b8IJobkoZrsfGEVUcxUyM,3544
73
75
  uk_bin_collection/uk_bin_collection/councils/ChesterfieldBoroughCouncil.py,sha256=mZiM8Ugm_OP0JkC5pLaQmi4i79mAp4SNNrcIdsREjHw,7198
74
76
  uk_bin_collection/uk_bin_collection/councils/ChichesterDistrictCouncil.py,sha256=HxrLcJves7ZsE8FbooymeecTUmScY4R7Oi71vwCePPo,4118
@@ -78,7 +80,7 @@ uk_bin_collection/uk_bin_collection/councils/ConwyCountyBorough.py,sha256=QcFHTz
78
80
  uk_bin_collection/uk_bin_collection/councils/CopelandBoroughCouncil.py,sha256=JDtcJFUY47a3Ws4_7pnCYlngw_3p_A-m5MitPLdrv3w,3983
79
81
  uk_bin_collection/uk_bin_collection/councils/CornwallCouncil.py,sha256=6zHe_Qu-R9hTB52QRk215rYfO3OocbJ_D62kVWnrve8,2912
80
82
  uk_bin_collection/uk_bin_collection/councils/CotswoldDistrictCouncil.py,sha256=85MPd1idsil3F-0Y6RQGMHKEcP9VS-z9B8l8ITK4BUU,4854
81
- uk_bin_collection/uk_bin_collection/councils/CoventryCityCouncil.py,sha256=QejW440Wp1mpEyRZIy1A0hYPejg_-D0bfHtpC2-VoaI,2050
83
+ uk_bin_collection/uk_bin_collection/councils/CoventryCityCouncil.py,sha256=YjVSEGxuu92-hcfLtNjzh98To_HSiTfjrfZHF3DHChg,2085
82
84
  uk_bin_collection/uk_bin_collection/councils/CrawleyBoroughCouncil.py,sha256=Oaj5INA3zNjtzBRsfLvRTIxZzcd4E4bJfVF1ULWlrL4,4322
83
85
  uk_bin_collection/uk_bin_collection/councils/CroydonCouncil.py,sha256=Vxh5ICoaXTAvx0nDOq_95XQ4He9sQKcLdI5keV2uxM4,11384
84
86
  uk_bin_collection/uk_bin_collection/councils/CumberlandAllerdaleCouncil.py,sha256=bPOmkyzNnHrOtUprbouHdOsgpu7WilUADcaccWTCPFI,2839
@@ -120,13 +122,13 @@ uk_bin_collection/uk_bin_collection/councils/FenlandDistrictCouncil.py,sha256=sF
120
122
  uk_bin_collection/uk_bin_collection/councils/FifeCouncil.py,sha256=eP_NnHtBLyflRUko9ubi_nxUPb7qg9SbaaSxqWZxNEs,2157
121
123
  uk_bin_collection/uk_bin_collection/councils/FlintshireCountyCouncil.py,sha256=RvPHhGbzP3mcjgWe2rIQux43UuDH7XofJGIKs7wJRe0,2060
122
124
  uk_bin_collection/uk_bin_collection/councils/FolkstoneandHytheDistrictCouncil.py,sha256=yKgZhua-2hjMihHshhncXVUBagbTOQBnNbKzdIZkWjw,3114
123
- uk_bin_collection/uk_bin_collection/councils/ForestOfDeanDistrictCouncil.py,sha256=YWT2GM2-bQ3Zh9ps1K14XRZfanuJOlV-zHpOOYMXAXY,4893
125
+ uk_bin_collection/uk_bin_collection/councils/ForestOfDeanDistrictCouncil.py,sha256=wsDHQI2QgrydMaLtOfkJpE95caRKARB9ITxemaS9YcE,5249
124
126
  uk_bin_collection/uk_bin_collection/councils/FyldeCouncil.py,sha256=XkiOx-RAykEB75U2R_u69sKov9r5OMZgnZI61vHnN9Y,3026
125
127
  uk_bin_collection/uk_bin_collection/councils/GatesheadCouncil.py,sha256=SRCgYhYs6rv_8C1UEDVORHZgXxcJkoZBjzdYS4Lu-ew,4531
126
128
  uk_bin_collection/uk_bin_collection/councils/GedlingBoroughCouncil.py,sha256=XzfFMCwclh9zAJgsbaj4jywjdiH0wPaFicaVsLrN3ms,2297
127
129
  uk_bin_collection/uk_bin_collection/councils/GlasgowCityCouncil.py,sha256=9Rk9KfcglJvRhh4373OfRX-fwywE2xgwx5KejqzV5fE,3399
128
130
  uk_bin_collection/uk_bin_collection/councils/GloucesterCityCouncil.py,sha256=67D8rbhn0t4rsCSJRTXZVtHmph2wT6rJiexNWKOnMok,4625
129
- uk_bin_collection/uk_bin_collection/councils/GooglePublicCalendarCouncil.py,sha256=DsheXk3sooWWKctIY3PbHI88HI7GfdgZ7qS-iSVCKYA,1140
131
+ uk_bin_collection/uk_bin_collection/councils/GooglePublicCalendarCouncil.py,sha256=oFAfvSA7dH7a9wgse5NAA45J8NJ_ltx4mGoKjDYc7pk,1124
130
132
  uk_bin_collection/uk_bin_collection/councils/GraveshamBoroughCouncil.py,sha256=ueQ9xFiTxMUBTGV9VjtySHA1EFWliTM0AeNePBIG9ho,4568
131
133
  uk_bin_collection/uk_bin_collection/councils/GuildfordCouncil.py,sha256=9pVrmQhZcK2AD8gX8mNvP--L4L9KaY6L3B822VX6fec,5695
132
134
  uk_bin_collection/uk_bin_collection/councils/GwyneddCouncil.py,sha256=eK2KkY1NbIxVtBruQYSNPA0J7fuzMik5it02dFbKYV0,1855
@@ -165,7 +167,7 @@ uk_bin_collection/uk_bin_collection/councils/LondonBoroughHavering.py,sha256=6DN
165
167
  uk_bin_collection/uk_bin_collection/councils/LondonBoroughHounslow.py,sha256=UOeiOxGMvVMm2UFaqjmQpm7vxzqJNSSN8LM9lAUjs2c,3021
166
168
  uk_bin_collection/uk_bin_collection/councils/LondonBoroughLambeth.py,sha256=r9D5lHe5kIRStCd5lRIax16yhb4KTFzzfYEFv1bacWw,2009
167
169
  uk_bin_collection/uk_bin_collection/councils/LondonBoroughLewisham.py,sha256=d8rlJDTbY3nj-Zjg6iwvwfe-X13Gq86DGGW6QkQAUW0,5310
168
- uk_bin_collection/uk_bin_collection/councils/LondonBoroughOfRichmondUponThames.py,sha256=F5G_Xu-nilCA72Qbm9N87q77yYZMzyXhiuJaB1tjFFs,3933
170
+ uk_bin_collection/uk_bin_collection/councils/LondonBoroughOfRichmondUponThames.py,sha256=H1ej7Bw1zW3kvxCqz0W1137YIZCdG5AmhAyVK3cvp00,3987
169
171
  uk_bin_collection/uk_bin_collection/councils/LondonBoroughRedbridge.py,sha256=A_6Sis5hsF53Th04KeadHRasGbpAm6aoaWJ6X8eC4Y8,6604
170
172
  uk_bin_collection/uk_bin_collection/councils/LondonBoroughSutton.py,sha256=T0gCjpBQ9k3uNNIiJGphNiSXeh2n6bohflg9RwbL3NA,2565
171
173
  uk_bin_collection/uk_bin_collection/councils/LutonBoroughCouncil.py,sha256=vScUi_R8FnBddii2_zLlZBLxuh85mKmCm8nKW3zxky0,2758
@@ -179,20 +181,21 @@ uk_bin_collection/uk_bin_collection/councils/MidAndEastAntrimBoroughCouncil.py,s
179
181
  uk_bin_collection/uk_bin_collection/councils/MidDevonCouncil.py,sha256=8MxqGgOJVseMkrTmEMT0EyDW7UMbXMoa5ZcJ2nD55Ew,3367
180
182
  uk_bin_collection/uk_bin_collection/councils/MidSuffolkDistrictCouncil.py,sha256=h6M-v5jVYe7OlQ47Vf-0pEgECZLOOacK3_XE6zbpsM4,6329
181
183
  uk_bin_collection/uk_bin_collection/councils/MidSussexDistrictCouncil.py,sha256=AZgC9wmDLEjUOtIFvf0ehF5LHturXTH4DkE3ioPSVBA,6254
182
- uk_bin_collection/uk_bin_collection/councils/MiddlesbroughCouncil.py,sha256=l7amseG4fhyOiPWS3cbwUvE6gZSnS6V8o73vL5kxL_c,4056
184
+ uk_bin_collection/uk_bin_collection/councils/MiddlesbroughCouncil.py,sha256=BiYexiZj-9PxRnB7sYRy0G-72s3L9jfh2vd1Y2NQwtg,4223
183
185
  uk_bin_collection/uk_bin_collection/councils/MidlothianCouncil.py,sha256=-VKvdIhrs859-YqxsNMzRWm2alP1avBR1_J8O9gJnYw,6725
184
186
  uk_bin_collection/uk_bin_collection/councils/MiltonKeynesCityCouncil.py,sha256=7e2pGBLCw24pNItHeI9jkxQ3rEOZ4WC4zVlbvKYGdXE,2600
185
187
  uk_bin_collection/uk_bin_collection/councils/MoleValleyDistrictCouncil.py,sha256=xWR5S0gwQu9gXxjl788Wux1KaC0CT7ZFw0iXuRLZCEM,5599
186
- uk_bin_collection/uk_bin_collection/councils/MonmouthshireCountyCouncil.py,sha256=V3R98D3DtCPZK3RNCg8yR2ddoUz_tOzl2YTgWfjdPX0,2468
188
+ uk_bin_collection/uk_bin_collection/councils/MonmouthshireCountyCouncil.py,sha256=PC2tui10S-DXmiKUqXZun5MInIgqqQjtT5wII1K_9a0,2532
187
189
  uk_bin_collection/uk_bin_collection/councils/MorayCouncil.py,sha256=jsHCQ_aV_bG0GPfF7h6g5TP84sroplYC5k2M6iEKiTw,2265
188
190
  uk_bin_collection/uk_bin_collection/councils/NeathPortTalbotCouncil.py,sha256=p95UYogx3_WJ_1kgfeH5kGQdrZ3YyEJjVuZ7WOOPAvs,5710
189
- uk_bin_collection/uk_bin_collection/councils/NewForestCouncil.py,sha256=LSQu1djVkbp4ous3DuOr9VWg4k9sFyBrQ2ZaJHY5FbA,5374
191
+ uk_bin_collection/uk_bin_collection/councils/NewForestCouncil.py,sha256=Vdmv_p75OJwSeltWE5wZhE8wy5XW0CIKIn1cKNvI0pQ,5336
190
192
  uk_bin_collection/uk_bin_collection/councils/NewarkAndSherwoodDC.py,sha256=lAleYfCGUWCKOi7Ye_cjgfpI3pWwTcFctlYmh0hjebM,2140
191
193
  uk_bin_collection/uk_bin_collection/councils/NewcastleCityCouncil.py,sha256=eJMX10CG9QO7FRhHSmUDL-jO_44qoK3_1ztNTAXhkbw,2085
192
194
  uk_bin_collection/uk_bin_collection/councils/NewcastleUnderLymeCouncil.py,sha256=t150wPtF2eEFYNTVj2EnhXt6JJJRiEX8976bh9JBXlg,2328
193
195
  uk_bin_collection/uk_bin_collection/councils/NewhamCouncil.py,sha256=klFqr2Km1BuQ4wERmjbXZzOvN1N0jnVmhTGRSVzVOaU,2086
194
196
  uk_bin_collection/uk_bin_collection/councils/NewportCityCouncil.py,sha256=dAcl5P97bttl2xCPvxof1a18kmqOrMmiElgtn3Ej7zs,8480
195
197
  uk_bin_collection/uk_bin_collection/councils/NorthAyrshireCouncil.py,sha256=o8zv40Wt19d51mrN5lsgLMCKMokMPmI1cMHBNT5yAho,1976
198
+ uk_bin_collection/uk_bin_collection/councils/NorthDevonCountyCouncil.py,sha256=tgJKIvu7nnCAHu_HImfG5SQABD6ygKFqrZU-ZoC6ObY,6260
196
199
  uk_bin_collection/uk_bin_collection/councils/NorthEastDerbyshireDistrictCouncil.py,sha256=bps_uCFAeUHQla7AE5lZOv6sUkUz1fb6zduZdAcYMuw,4651
197
200
  uk_bin_collection/uk_bin_collection/councils/NorthEastLincs.py,sha256=fYf438VZIaOaqPSwdTTWVjFTdrI0jGfFsxVzOc-QdkA,1817
198
201
  uk_bin_collection/uk_bin_collection/councils/NorthHertfordshireDistrictCouncil.py,sha256=dFgvZqVKEVEP0zSPeh2s9xIWSCGbhYHpXn2U6Nk0HXM,2847
@@ -206,9 +209,9 @@ uk_bin_collection/uk_bin_collection/councils/NorthTynesideCouncil.py,sha256=MHfc
206
209
  uk_bin_collection/uk_bin_collection/councils/NorthWestLeicestershire.py,sha256=gJj0dyQc5QUefqusKGk2LLXfWbG5tlEXUOh8KAPh3RI,4584
207
210
  uk_bin_collection/uk_bin_collection/councils/NorthYorkshire.py,sha256=rwW6y5yhRiuYk3lVS7YFZxLaY_yfojdcn2dxiWaP4YA,2013
208
211
  uk_bin_collection/uk_bin_collection/councils/NorthumberlandCouncil.py,sha256=CF9__v8xOUJ9Ukic9Yg9WnVUojV3Cv6_dHAHJzL6V3o,5106
209
- uk_bin_collection/uk_bin_collection/councils/NorwichCityCouncil.py,sha256=6w5-xKiyxTlJLaCkwUnAWjd5jnohonnNRr0sTlfACvk,2702
212
+ uk_bin_collection/uk_bin_collection/councils/NorwichCityCouncil.py,sha256=hddZD4tv-fw52hvxTm2UjSvRP3MwGchzWZyuhNeNvp0,2970
210
213
  uk_bin_collection/uk_bin_collection/councils/NottinghamCityCouncil.py,sha256=panTCjnsBOQ98-TBO9xVZk_jcT_gjMhx3Gg5oWxBRLo,1254
211
- uk_bin_collection/uk_bin_collection/councils/NuneatonBedworthBoroughCouncil.py,sha256=KqjQczn214ctkTsm-zimlDSDtgvcLQ23fte3kHiCEsg,19187
214
+ uk_bin_collection/uk_bin_collection/councils/NuneatonBedworthBoroughCouncil.py,sha256=PViXaBJ5SeP3inOnqf4PuPahzRCLN06n5Gicqyt3gbM,37781
212
215
  uk_bin_collection/uk_bin_collection/councils/OadbyAndWigstonBoroughCouncil.py,sha256=Kgy5HA0xZ9hR4_cAydPfOfskhGUB4j93AQF2-9Fj-Cg,2179
213
216
  uk_bin_collection/uk_bin_collection/councils/OldhamCouncil.py,sha256=9dlesCxNoVXlmQaqZj7QFh00smnJbm1Gnjkr_Uvzurs,1771
214
217
  uk_bin_collection/uk_bin_collection/councils/OxfordCityCouncil.py,sha256=d_bY0cXRDH4kSoWGGCTNN61MNErapSOf2WSTYDJr2r8,2318
@@ -228,9 +231,9 @@ uk_bin_collection/uk_bin_collection/councils/RochfordCouncil.py,sha256=rfhD66A9H
228
231
  uk_bin_collection/uk_bin_collection/councils/RotherDistrictCouncil.py,sha256=-fdLvtik9ytfwXrrhwWdBxqQOMq2N1pvrIuvShhf8PU,3090
229
232
  uk_bin_collection/uk_bin_collection/councils/RotherhamCouncil.py,sha256=LtMPM8lj5bfReDR4buHEo-aRC_HTBIeo1nf8GE5-R80,1790
230
233
  uk_bin_collection/uk_bin_collection/councils/RoyalBoroughofGreenwich.py,sha256=BZzLmWK_VONOmMpSrLrnKtJaOrrepm6aStfKGVcgf9Y,3487
231
- uk_bin_collection/uk_bin_collection/councils/RugbyBoroughCouncil.py,sha256=qwyi2K1p1erSawthC1QD1_oYghLfXFlXMdClszZTitU,4190
234
+ uk_bin_collection/uk_bin_collection/councils/RugbyBoroughCouncil.py,sha256=cuoxb1PdKtGvYUvcp2bcj7MWL3r83cOnc66Jx79M3sE,4190
232
235
  uk_bin_collection/uk_bin_collection/councils/RunnymedeBoroughCouncil.py,sha256=vmTZfijt9b6sKzRdRwROE94lrMVnqs6kn6tg-xi1jR4,1618
233
- uk_bin_collection/uk_bin_collection/councils/RushcliffeBoroughCouncil.py,sha256=EZGf0en7lBXv3IOkrObxCXLNC6FFCkqqGlIMNFrQvPw,4296
236
+ uk_bin_collection/uk_bin_collection/councils/RushcliffeBoroughCouncil.py,sha256=nWo8xeER71FEbnMTX8W9bcwZNpLEExWzPvgRT7DmcMc,4221
234
237
  uk_bin_collection/uk_bin_collection/councils/RushmoorCouncil.py,sha256=ZsGnXjoEaOS6U7fI0w7-uqxayAHdNVKsJi2fqIWEls8,3375
235
238
  uk_bin_collection/uk_bin_collection/councils/SalfordCityCouncil.py,sha256=XUGemp2cdzsvkWjnv2m4YKTMcoKDUfIlVy3YucX-_o4,2601
236
239
  uk_bin_collection/uk_bin_collection/councils/SandwellBoroughCouncil.py,sha256=shJhvqDcha2ypDCSfhss59G95jNaWBuMnVIxJiZXcY8,3110
@@ -245,6 +248,7 @@ uk_bin_collection/uk_bin_collection/councils/SouthCambridgeshireCouncil.py,sha25
245
248
  uk_bin_collection/uk_bin_collection/councils/SouthDerbyshireDistrictCouncil.py,sha256=irqelQSENPsZLlNtYtpt-Z7GwKUyvhp94kKKVIIDjQg,2087
246
249
  uk_bin_collection/uk_bin_collection/councils/SouthGloucestershireCouncil.py,sha256=ytQot0J7i6DTJo6hb9koTB1UpXLATKVeRU4FBF9kHRo,2412
247
250
  uk_bin_collection/uk_bin_collection/councils/SouthHamsDistrictCouncil.py,sha256=DiijlLisR8qwPSo-4XSAiNk5G31-fYr7bDHKSFjDT7o,3180
251
+ uk_bin_collection/uk_bin_collection/councils/SouthHollandDistrictCouncil.py,sha256=KU5-d6imNEV89O9WcAP-5WLcXUsouf9A-_mEZNxl-vo,5165
248
252
  uk_bin_collection/uk_bin_collection/councils/SouthKestevenDistrictCouncil.py,sha256=_26ouWln5VrKiIFcp2b6ZzuwCKpp3aNcS2n5d4-8NsA,6210
249
253
  uk_bin_collection/uk_bin_collection/councils/SouthLanarkshireCouncil.py,sha256=fj-eZI0yrvQVCv8GvhcovZ3b9bV6Xv_ws3IunWjnv4U,3126
250
254
  uk_bin_collection/uk_bin_collection/councils/SouthNorfolkCouncil.py,sha256=C2qIZjjbl9JnuukX9OH2RbfP0hSdp3uX76APGY33qKs,4622
@@ -287,8 +291,8 @@ uk_bin_collection/uk_bin_collection/councils/UttlesfordDistrictCouncil.py,sha256
287
291
  uk_bin_collection/uk_bin_collection/councils/ValeofGlamorganCouncil.py,sha256=dz3zDJsJKYYqUB-Gxf6twvP6kG_wyENaszxXxK4iJn0,5089
288
292
  uk_bin_collection/uk_bin_collection/councils/ValeofWhiteHorseCouncil.py,sha256=fyskrQ4-osGOeCZuB_8m2TpW8iwHr7lpl52nrR06Xpo,4441
289
293
  uk_bin_collection/uk_bin_collection/councils/WakefieldCityCouncil.py,sha256=mdAXKcoSSF-xnXS8boesFftS8RiKyuR76ITHQ9Q5DgM,4916
290
- uk_bin_collection/uk_bin_collection/councils/WalsallCouncil.py,sha256=wv-M3zZj0E6EIPoVB9AF_NCg_8XGM9uhqGa-F5yzoc4,2277
291
- uk_bin_collection/uk_bin_collection/councils/WalthamForest.py,sha256=0z7TmlnSNKP42Etk0FusbIo-NzA_Y-zqOJa4P8HykVk,4923
294
+ uk_bin_collection/uk_bin_collection/councils/WalsallCouncil.py,sha256=aniL34mc0ehLl5fDUi8Y_L_TK8HFoE605IJIarb5CSk,2363
295
+ uk_bin_collection/uk_bin_collection/councils/WalthamForest.py,sha256=8Xoi9G8iXJi8uqnyNuqba37RwTqvuvMj9FZxi4NA-n4,4924
292
296
  uk_bin_collection/uk_bin_collection/councils/WandsworthCouncil.py,sha256=aQoJpC7YkhKewQyZlsv5m4__2IPoKRsOrPxjNH5xRNo,2594
293
297
  uk_bin_collection/uk_bin_collection/councils/WarringtonBoroughCouncil.py,sha256=AB9mrV1v4pKKhfsBS8MpjO8XXBifqojSk53J9Q74Guk,1583
294
298
  uk_bin_collection/uk_bin_collection/councils/WarwickDistrictCouncil.py,sha256=DAL_f0BcIxFj7Ngkms5Q80kgSGp9y5zB35wRPudayz8,1644
@@ -299,7 +303,7 @@ uk_bin_collection/uk_bin_collection/councils/WelhatCouncil.py,sha256=ikUft37dYNJ
299
303
  uk_bin_collection/uk_bin_collection/councils/WestBerkshireCouncil.py,sha256=pTNiyR4WoGdRnYPdMhv0T4ArVm5Blz82QBY1pSGh6eI,5513
300
304
  uk_bin_collection/uk_bin_collection/councils/WestDunbartonshireCouncil.py,sha256=I73A8ehWqwowYqanBD8mAMDJH9R0cJnX3RFykrSvf_Y,2648
301
305
  uk_bin_collection/uk_bin_collection/councils/WestLancashireBoroughCouncil.py,sha256=iohI2NZSjsEnCpSGsCPZFC2EQZL5pyzcb9Ng_H0tMUE,4718
302
- uk_bin_collection/uk_bin_collection/councils/WestLindseyDistrictCouncil.py,sha256=ip7HWKl2ysHHwGbn4nZMQWfMSwq9eh-5DWO_Hjb7It0,4757
306
+ uk_bin_collection/uk_bin_collection/councils/WestLindseyDistrictCouncil.py,sha256=xy6xxqndYm-XMaU9LetRoGd7Uq3DloumyfJaX_lN27s,4851
303
307
  uk_bin_collection/uk_bin_collection/councils/WestLothianCouncil.py,sha256=dq0jimtARvRkZiGbVFrXXZgY-BODtz3uYZ5UKn0bf64,4114
304
308
  uk_bin_collection/uk_bin_collection/councils/WestMorlandAndFurness.py,sha256=jbqV3460rn9D0yTBGWjpSe1IvWWcdGur5pzgj-hJcQ4,2513
305
309
  uk_bin_collection/uk_bin_collection/councils/WestNorthamptonshireCouncil.py,sha256=Se3Cfn_6ADjhsUzEJI_JnGkVcIbXxSTferM4ZC6pZ0g,1166
@@ -314,15 +318,15 @@ uk_bin_collection/uk_bin_collection/councils/WokingBoroughCouncil.py,sha256=37ig
314
318
  uk_bin_collection/uk_bin_collection/councils/WokinghamBoroughCouncil.py,sha256=H8aFHlacwV07X-6T9RQua4irqDA0cIQrF4O1FfPR7yI,4114
315
319
  uk_bin_collection/uk_bin_collection/councils/WolverhamptonCityCouncil.py,sha256=ncXfu5RHPCFsArczXHy7g0l_HEZa7GC-QA1QRReP_00,1801
316
320
  uk_bin_collection/uk_bin_collection/councils/WorcesterCityCouncil.py,sha256=dKHB2fPSmOGOwyvfpbdR4U8XW2ctBf63gCPxX06kwKA,1867
317
- uk_bin_collection/uk_bin_collection/councils/WychavonDistrictCouncil.py,sha256=GnNNMe33YMlK6S7rjM3c4BQkBnXelS0DKl2x5V4fb2w,5775
321
+ uk_bin_collection/uk_bin_collection/councils/WychavonDistrictCouncil.py,sha256=YuZdzEW0CZLwusm1VQcGRIKXAab_UDFLaCnN60itt_E,5776
318
322
  uk_bin_collection/uk_bin_collection/councils/WyreCouncil.py,sha256=QpCkmRSQmJo0RLsjXoCYPDcoxuDzG_00qNV0AHTDmXo,3000
319
323
  uk_bin_collection/uk_bin_collection/councils/WyreForestDistrictCouncil.py,sha256=3b7WzBXdYub6j13sqDL3jlqgICKmNyQaF4KxRxOMHWk,2000
320
324
  uk_bin_collection/uk_bin_collection/councils/YorkCouncil.py,sha256=I2kBYMlsD4bIdsvmoSzBjJAvTTi6yPfJa8xjJx1ys2w,1490
321
325
  uk_bin_collection/uk_bin_collection/councils/council_class_template/councilclasstemplate.py,sha256=EQWRhZ2pEejlvm0fPyOTsOHKvUZmPnxEYO_OWRGKTjs,1158
322
326
  uk_bin_collection/uk_bin_collection/create_new_council.py,sha256=m-IhmWmeWQlFsTZC4OxuFvtw5ZtB8EAJHxJTH4O59lQ,1536
323
327
  uk_bin_collection/uk_bin_collection/get_bin_data.py,sha256=YvmHfZqanwrJ8ToGch34x-L-7yPe31nB_x77_Mgl_vo,4545
324
- uk_bin_collection-0.138.1.dist-info/LICENSE,sha256=vABBUOzcrgfaTKpzeo-si9YVEun6juDkndqA8RKdKGs,1071
325
- uk_bin_collection-0.138.1.dist-info/METADATA,sha256=Ou6pY68sx1H_I3oRWLDjb1hx0XCDGAX5jecP9tO0pYQ,19851
326
- uk_bin_collection-0.138.1.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
327
- uk_bin_collection-0.138.1.dist-info/entry_points.txt,sha256=36WCSGMWSc916S3Hi1ZkazzDKHaJ6CD-4fCEFm5MIao,90
328
- uk_bin_collection-0.138.1.dist-info/RECORD,,
328
+ uk_bin_collection-0.140.0.dist-info/LICENSE,sha256=vABBUOzcrgfaTKpzeo-si9YVEun6juDkndqA8RKdKGs,1071
329
+ uk_bin_collection-0.140.0.dist-info/METADATA,sha256=3Dw3sim4P-LwGOmRbcX7jSK15SFpT16G2lTDl_wcuj8,19851
330
+ uk_bin_collection-0.140.0.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
331
+ uk_bin_collection-0.140.0.dist-info/entry_points.txt,sha256=36WCSGMWSc916S3Hi1ZkazzDKHaJ6CD-4fCEFm5MIao,90
332
+ uk_bin_collection-0.140.0.dist-info/RECORD,,