uk_bin_collection 0.79.1__py3-none-any.whl → 0.81.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 +47 -1
 - uk_bin_collection/uk_bin_collection/common.py +23 -1
 - uk_bin_collection/uk_bin_collection/councils/BedfordshireCouncil.py +2 -1
 - uk_bin_collection/uk_bin_collection/councils/BirminghamCityCouncil.py +27 -13
 - uk_bin_collection/uk_bin_collection/councils/BracknellForestCouncil.py +4 -4
 - uk_bin_collection/uk_bin_collection/councils/BristolCityCouncil.py +2 -1
 - uk_bin_collection/uk_bin_collection/councils/BromleyBoroughCouncil.py +6 -15
 - uk_bin_collection/uk_bin_collection/councils/BuckinghamshireCouncil.py +8 -6
 - uk_bin_collection/uk_bin_collection/councils/CroydonCouncil.py +5 -4
 - uk_bin_collection/uk_bin_collection/councils/DartfordBoroughCouncil.py +7 -9
 - uk_bin_collection/uk_bin_collection/councils/EastCambridgeshireCouncil.py +2 -1
 - uk_bin_collection/uk_bin_collection/councils/HaringeyCouncil.py +13 -5
 - uk_bin_collection/uk_bin_collection/councils/LancasterCityCouncil.py +6 -4
 - uk_bin_collection/uk_bin_collection/councils/LisburnCastlereaghCityCouncil.py +1 -0
 - uk_bin_collection/uk_bin_collection/councils/ManchesterCityCouncil.py +2 -1
 - uk_bin_collection/uk_bin_collection/councils/NewForestCouncil.py +146 -0
 - uk_bin_collection/uk_bin_collection/councils/NewportCityCouncil.py +1 -0
 - uk_bin_collection/uk_bin_collection/councils/NorthTynesideCouncil.py +2 -1
 - uk_bin_collection/uk_bin_collection/councils/SomersetCouncil.py +1 -0
 - uk_bin_collection/uk_bin_collection/councils/SouthCambridgeshireCouncil.py +1 -0
 - uk_bin_collection/uk_bin_collection/councils/StHelensBC.py +2 -1
 - uk_bin_collection/uk_bin_collection/councils/StaffordBoroughCouncil.py +69 -0
 - uk_bin_collection/uk_bin_collection/councils/SwanseaCouncil.py +70 -0
 - uk_bin_collection/uk_bin_collection/councils/TestValleyBoroughCouncil.py +1 -0
 - uk_bin_collection/uk_bin_collection/councils/ThreeRiversDistrictCouncil.py +140 -0
 - uk_bin_collection/uk_bin_collection/councils/UttlesfordDistrictCouncil.py +117 -0
 - uk_bin_collection/uk_bin_collection/councils/WaverleyBoroughCouncil.py +2 -1
 - uk_bin_collection/uk_bin_collection/councils/WiganBoroughCouncil.py +2 -1
 - uk_bin_collection/uk_bin_collection/councils/WindsorAndMaidenheadCouncil.py +2 -1
 - uk_bin_collection/uk_bin_collection/councils/WokingBoroughCouncil.py +4 -2
 - uk_bin_collection/uk_bin_collection/councils/WychavonDistrictCouncil.py +156 -0
 - {uk_bin_collection-0.79.1.dist-info → uk_bin_collection-0.81.0.dist-info}/METADATA +1 -1
 - {uk_bin_collection-0.79.1.dist-info → uk_bin_collection-0.81.0.dist-info}/RECORD +36 -30
 - {uk_bin_collection-0.79.1.dist-info → uk_bin_collection-0.81.0.dist-info}/LICENSE +0 -0
 - {uk_bin_collection-0.79.1.dist-info → uk_bin_collection-0.81.0.dist-info}/WHEEL +0 -0
 - {uk_bin_collection-0.79.1.dist-info → uk_bin_collection-0.81.0.dist-info}/entry_points.txt +0 -0
 
| 
         @@ -0,0 +1,156 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            import logging
         
     | 
| 
      
 2 
     | 
    
         
            +
            import pickle
         
     | 
| 
      
 3 
     | 
    
         
            +
            import time
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            import requests
         
     | 
| 
      
 6 
     | 
    
         
            +
            from bs4 import BeautifulSoup
         
     | 
| 
      
 7 
     | 
    
         
            +
            from selenium import webdriver
         
     | 
| 
      
 8 
     | 
    
         
            +
            from selenium.webdriver.common.by import By
         
     | 
| 
      
 9 
     | 
    
         
            +
            from selenium.webdriver.common.keys import Keys
         
     | 
| 
      
 10 
     | 
    
         
            +
            from selenium.webdriver.support import expected_conditions as EC
         
     | 
| 
      
 11 
     | 
    
         
            +
            from selenium.webdriver.support.ui import Select
         
     | 
| 
      
 12 
     | 
    
         
            +
            from selenium.webdriver.support.wait import WebDriverWait
         
     | 
| 
      
 13 
     | 
    
         
            +
            from uk_bin_collection.uk_bin_collection.common import *
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
            from uk_bin_collection.uk_bin_collection.common import *
         
     | 
| 
      
 16 
     | 
    
         
            +
            from uk_bin_collection.uk_bin_collection.get_bin_data import AbstractGetBinDataClass
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
            # Set up logging
         
     | 
| 
      
 19 
     | 
    
         
            +
            logging.basicConfig(
         
     | 
| 
      
 20 
     | 
    
         
            +
                level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s"
         
     | 
| 
      
 21 
     | 
    
         
            +
            )
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
            class CouncilClass(AbstractGetBinDataClass):
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
                def parse_data(self, page: str, **kwargs) -> dict:
         
     | 
| 
      
 27 
     | 
    
         
            +
                    driver = None
         
     | 
| 
      
 28 
     | 
    
         
            +
                    try:
         
     | 
| 
      
 29 
     | 
    
         
            +
                        data = {"bins": []}
         
     | 
| 
      
 30 
     | 
    
         
            +
                        collections = []
         
     | 
| 
      
 31 
     | 
    
         
            +
                        user_uprn = kwargs.get("uprn")
         
     | 
| 
      
 32 
     | 
    
         
            +
                        user_postcode = kwargs.get("postcode")
         
     | 
| 
      
 33 
     | 
    
         
            +
                        web_driver = kwargs.get("web_driver")
         
     | 
| 
      
 34 
     | 
    
         
            +
                        headless = kwargs.get("headless")
         
     | 
| 
      
 35 
     | 
    
         
            +
                        check_postcode(user_postcode)
         
     | 
| 
      
 36 
     | 
    
         
            +
                        url = "https://selfservice.wychavon.gov.uk/wdcroundlookup/wdc_search.jsp"
         
     | 
| 
      
 37 
     | 
    
         
            +
             
     | 
| 
      
 38 
     | 
    
         
            +
                        # Get session cookies using requests
         
     | 
| 
      
 39 
     | 
    
         
            +
             
     | 
| 
      
 40 
     | 
    
         
            +
                        user_agent = """general.useragent.override", "userAgent=Mozilla/5.0 
         
     | 
| 
      
 41 
     | 
    
         
            +
                        (iPhone; CPU iPhone OS 15_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like 
         
     | 
| 
      
 42 
     | 
    
         
            +
                        Gecko) CriOS/101.0.4951.44 Mobile/15E148 Safari/604.1"""
         
     | 
| 
      
 43 
     | 
    
         
            +
             
     | 
| 
      
 44 
     | 
    
         
            +
                        # Create Selenium webdriver
         
     | 
| 
      
 45 
     | 
    
         
            +
                        driver = create_webdriver(web_driver, headless, user_agent, __name__)
         
     | 
| 
      
 46 
     | 
    
         
            +
             
     | 
| 
      
 47 
     | 
    
         
            +
                        # Navigate to the page first
         
     | 
| 
      
 48 
     | 
    
         
            +
                        driver.get(url)
         
     | 
| 
      
 49 
     | 
    
         
            +
             
     | 
| 
      
 50 
     | 
    
         
            +
                        wait = WebDriverWait(driver, 60)
         
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
| 
      
 52 
     | 
    
         
            +
                        logging.info("Accepting cookies")
         
     | 
| 
      
 53 
     | 
    
         
            +
             
     | 
| 
      
 54 
     | 
    
         
            +
                        try:
         
     | 
| 
      
 55 
     | 
    
         
            +
                            logging.info("Cookies")
         
     | 
| 
      
 56 
     | 
    
         
            +
                            cookie_window = wait.until(
         
     | 
| 
      
 57 
     | 
    
         
            +
                                EC.presence_of_element_located(
         
     | 
| 
      
 58 
     | 
    
         
            +
                                    (By.XPATH, '//div[@id="ccc-content"]')
         
     | 
| 
      
 59 
     | 
    
         
            +
                                )
         
     | 
| 
      
 60 
     | 
    
         
            +
                            )
         
     | 
| 
      
 61 
     | 
    
         
            +
                            time.sleep(2)
         
     | 
| 
      
 62 
     | 
    
         
            +
                            accept_cookies = WebDriverWait(driver, timeout=10).until(
         
     | 
| 
      
 63 
     | 
    
         
            +
                                EC.presence_of_element_located(
         
     | 
| 
      
 64 
     | 
    
         
            +
                                    (By.XPATH, '//button[@id="ccc-recommended-settings"]')
         
     | 
| 
      
 65 
     | 
    
         
            +
                                )
         
     | 
| 
      
 66 
     | 
    
         
            +
                            )
         
     | 
| 
      
 67 
     | 
    
         
            +
                            accept_cookies.send_keys(Keys.ENTER)
         
     | 
| 
      
 68 
     | 
    
         
            +
                            accept_cookies.click()
         
     | 
| 
      
 69 
     | 
    
         
            +
                            accept_cookies_close = WebDriverWait(driver, timeout=10).until(
         
     | 
| 
      
 70 
     | 
    
         
            +
                                EC.presence_of_element_located(
         
     | 
| 
      
 71 
     | 
    
         
            +
                                    (By.XPATH, '//button[@id="ccc-close"]')
         
     | 
| 
      
 72 
     | 
    
         
            +
                                )
         
     | 
| 
      
 73 
     | 
    
         
            +
                            )
         
     | 
| 
      
 74 
     | 
    
         
            +
                            accept_cookies_close.send_keys(Keys.ENTER)
         
     | 
| 
      
 75 
     | 
    
         
            +
                            accept_cookies_close.click()
         
     | 
| 
      
 76 
     | 
    
         
            +
                        except:
         
     | 
| 
      
 77 
     | 
    
         
            +
                            print(
         
     | 
| 
      
 78 
     | 
    
         
            +
                                "Accept cookies banner not found or clickable within the specified time."
         
     | 
| 
      
 79 
     | 
    
         
            +
                            )
         
     | 
| 
      
 80 
     | 
    
         
            +
                            pass
         
     | 
| 
      
 81 
     | 
    
         
            +
             
     | 
| 
      
 82 
     | 
    
         
            +
                        logging.info("Entering postcode")
         
     | 
| 
      
 83 
     | 
    
         
            +
                        input_element_postcode = wait.until(
         
     | 
| 
      
 84 
     | 
    
         
            +
                            EC.presence_of_element_located((By.XPATH, '//input[@id="alAddrtxt"]'))
         
     | 
| 
      
 85 
     | 
    
         
            +
                        )
         
     | 
| 
      
 86 
     | 
    
         
            +
             
     | 
| 
      
 87 
     | 
    
         
            +
                        input_element_postcode.send_keys(user_postcode)
         
     | 
| 
      
 88 
     | 
    
         
            +
             
     | 
| 
      
 89 
     | 
    
         
            +
                        logging.info("Searching for postcode")
         
     | 
| 
      
 90 
     | 
    
         
            +
                        input_element_postcode_btn = wait.until(
         
     | 
| 
      
 91 
     | 
    
         
            +
                            EC.element_to_be_clickable((By.XPATH, '//button[@id="alAddrbtn"]'))
         
     | 
| 
      
 92 
     | 
    
         
            +
                        )
         
     | 
| 
      
 93 
     | 
    
         
            +
             
     | 
| 
      
 94 
     | 
    
         
            +
                        input_element_postcode_btn.click()
         
     | 
| 
      
 95 
     | 
    
         
            +
             
     | 
| 
      
 96 
     | 
    
         
            +
                        logging.info("Waiting for address dropdown")
         
     | 
| 
      
 97 
     | 
    
         
            +
                        input_element_postcode_dropdown = wait.until(
         
     | 
| 
      
 98 
     | 
    
         
            +
                            EC.presence_of_element_located((By.XPATH, '//select[@id="alAddrsel"]'))
         
     | 
| 
      
 99 
     | 
    
         
            +
                        )
         
     | 
| 
      
 100 
     | 
    
         
            +
             
     | 
| 
      
 101 
     | 
    
         
            +
                        logging.info("Selecting address")
         
     | 
| 
      
 102 
     | 
    
         
            +
                        drop_down_values = Select(input_element_postcode_dropdown)
         
     | 
| 
      
 103 
     | 
    
         
            +
                        option_element = wait.until(
         
     | 
| 
      
 104 
     | 
    
         
            +
                            EC.presence_of_element_located(
         
     | 
| 
      
 105 
     | 
    
         
            +
                                (By.CSS_SELECTOR, f'option[value="{str(user_uprn)}"]')
         
     | 
| 
      
 106 
     | 
    
         
            +
                            )
         
     | 
| 
      
 107 
     | 
    
         
            +
                        )
         
     | 
| 
      
 108 
     | 
    
         
            +
             
     | 
| 
      
 109 
     | 
    
         
            +
                        driver.execute_script("arguments[0].scrollIntoView();", option_element)
         
     | 
| 
      
 110 
     | 
    
         
            +
                        drop_down_values.select_by_value(str(user_uprn))
         
     | 
| 
      
 111 
     | 
    
         
            +
             
     | 
| 
      
 112 
     | 
    
         
            +
                        input_element_address_btn = wait.until(
         
     | 
| 
      
 113 
     | 
    
         
            +
                            EC.element_to_be_clickable((By.XPATH, '//input[@id="btnSubmit"]'))
         
     | 
| 
      
 114 
     | 
    
         
            +
                        )
         
     | 
| 
      
 115 
     | 
    
         
            +
             
     | 
| 
      
 116 
     | 
    
         
            +
                        input_element_address_btn.click()
         
     | 
| 
      
 117 
     | 
    
         
            +
             
     | 
| 
      
 118 
     | 
    
         
            +
                        logging.info("Waiting for bin collection page")
         
     | 
| 
      
 119 
     | 
    
         
            +
                        strong_element = wait.until(
         
     | 
| 
      
 120 
     | 
    
         
            +
                            EC.presence_of_element_located(
         
     | 
| 
      
 121 
     | 
    
         
            +
                                (By.XPATH, "//strong[contains(text(), 'Upcoming collections')]")
         
     | 
| 
      
 122 
     | 
    
         
            +
                            )
         
     | 
| 
      
 123 
     | 
    
         
            +
                        )
         
     | 
| 
      
 124 
     | 
    
         
            +
             
     | 
| 
      
 125 
     | 
    
         
            +
                        logging.info("Extracting bin collection data")
         
     | 
| 
      
 126 
     | 
    
         
            +
                        soup = BeautifulSoup(driver.page_source, features="html.parser")
         
     | 
| 
      
 127 
     | 
    
         
            +
                        bins = []
         
     | 
| 
      
 128 
     | 
    
         
            +
             
     | 
| 
      
 129 
     | 
    
         
            +
                        rows = soup.select("table tbody tr")
         
     | 
| 
      
 130 
     | 
    
         
            +
                        for row in rows:
         
     | 
| 
      
 131 
     | 
    
         
            +
                            bin_type = row.select_one("td:nth-of-type(2)").contents[0].strip()
         
     | 
| 
      
 132 
     | 
    
         
            +
                            date_elements = row.select("td:nth-of-type(3) strong")
         
     | 
| 
      
 133 
     | 
    
         
            +
                            if date_elements:
         
     | 
| 
      
 134 
     | 
    
         
            +
                                dates = [date.get_text(strip=True) for date in date_elements]
         
     | 
| 
      
 135 
     | 
    
         
            +
                            else:
         
     | 
| 
      
 136 
     | 
    
         
            +
                                dates = ["Not applicable"]
         
     | 
| 
      
 137 
     | 
    
         
            +
             
     | 
| 
      
 138 
     | 
    
         
            +
                            for date in dates:
         
     | 
| 
      
 139 
     | 
    
         
            +
                                if date != "Not applicable":
         
     | 
| 
      
 140 
     | 
    
         
            +
                                    # Format the date to dd/mm/yyyy
         
     | 
| 
      
 141 
     | 
    
         
            +
                                    formatted_date = re.search(r"\d{2}/\d{2}/\d{4}", date).group(0)
         
     | 
| 
      
 142 
     | 
    
         
            +
                                    bins.append(
         
     | 
| 
      
 143 
     | 
    
         
            +
                                        {"type": bin_type, "collectionDate": formatted_date}
         
     | 
| 
      
 144 
     | 
    
         
            +
                                    )
         
     | 
| 
      
 145 
     | 
    
         
            +
             
     | 
| 
      
 146 
     | 
    
         
            +
                        bin_data = {"bins": bins}
         
     | 
| 
      
 147 
     | 
    
         
            +
             
     | 
| 
      
 148 
     | 
    
         
            +
                        return bin_data
         
     | 
| 
      
 149 
     | 
    
         
            +
             
     | 
| 
      
 150 
     | 
    
         
            +
                    except Exception as e:
         
     | 
| 
      
 151 
     | 
    
         
            +
                        logging.error(f"An error occurred: {e}")
         
     | 
| 
      
 152 
     | 
    
         
            +
                        raise
         
     | 
| 
      
 153 
     | 
    
         
            +
             
     | 
| 
      
 154 
     | 
    
         
            +
                    finally:
         
     | 
| 
      
 155 
     | 
    
         
            +
                        if driver:
         
     | 
| 
      
 156 
     | 
    
         
            +
                            driver.quit()
         
     | 
| 
         @@ -2,14 +2,14 @@ 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=tsLMMV6SegrudMLCU-F99uuUl3-RGY-dsG39rjeijhA,59231
         
     | 
| 
       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=zDLF5UUBp2n5S3ZlJod7AmYHt92TYQMMhHbX1keNn8U,3424
         
     | 
| 
       9 
9 
     | 
    
         
             
            uk_bin_collection/tests/test_collect_data.py,sha256=C5w1qfz_1CU37_T7UPdBk3nisMLobIeVHNl6EXrgfrQ,3316
         
     | 
| 
       10 
10 
     | 
    
         
             
            uk_bin_collection/tests/test_common_functions.py,sha256=IvTNmuFKm9u5j2A9PumMB6eScQS165sPknFakc0l-eg,11190
         
     | 
| 
       11 
11 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/collect_data.py,sha256=txdtYoPgWDHLPohGz_Wu9OLXOr8TpXyuIGn0WnsFbZQ,4383
         
     | 
| 
       12 
     | 
    
         
            -
            uk_bin_collection/uk_bin_collection/common.py,sha256= 
     | 
| 
      
 12 
     | 
    
         
            +
            uk_bin_collection/uk_bin_collection/common.py,sha256=ZvylERlKexeHtqBRb2_fZhYxC8aoEpUtcGo0dzJnWUo,9837
         
     | 
| 
       13 
13 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/AdurAndWorthingCouncils.py,sha256=ppbrmm-MzB1wOulK--CU_0j4P-djNf3ozMhHnmQFqLo,1511
         
     | 
| 
       14 
14 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/ArunCouncil.py,sha256=yfhthv9nuogP19VOZ3TYQrq51qqjiCZcSel4sXhiKjs,4012
         
     | 
| 
       15 
15 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/AylesburyValeCouncil.py,sha256=LouqjspEMt1TkOGqWHs2zkxwOETIy3n7p64uKIlAgUg,2401
         
     | 
| 
         @@ -19,18 +19,18 @@ uk_bin_collection/uk_bin_collection/councils/BarnsleyMBCouncil.py,sha256=MgF_7Xy 
     | 
|
| 
       19 
19 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/BasingstokeCouncil.py,sha256=VPWGljnH4C3q8qs5ZmCtqjNjgWQvviALzjk00q3EZeQ,2632
         
     | 
| 
       20 
20 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/BathAndNorthEastSomersetCouncil.py,sha256=N_TPiIv8VBzN3rY0p3JtLlxSEru-6k1wW4UNIhN5X1M,3709
         
     | 
| 
       21 
21 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/BedfordBoroughCouncil.py,sha256=CvGB7w9HMn7XyEtwfd9MWZE_HlZ75pDcaKMsQJz0xhk,1669
         
     | 
| 
       22 
     | 
    
         
            -
            uk_bin_collection/uk_bin_collection/councils/BedfordshireCouncil.py,sha256= 
     | 
| 
      
 22 
     | 
    
         
            +
            uk_bin_collection/uk_bin_collection/councils/BedfordshireCouncil.py,sha256=U1HOr9YLMAlFoZysfw5n04E0bVuCliO5Yj1FMiiwcHA,2549
         
     | 
| 
       23 
23 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/BexleyCouncil.py,sha256=9MrbpfR17R6DYjDrItQL3CPF7ie1SJkaoNbwQumPgIQ,5399
         
     | 
| 
       24 
     | 
    
         
            -
            uk_bin_collection/uk_bin_collection/councils/BirminghamCityCouncil.py,sha256= 
     | 
| 
      
 24 
     | 
    
         
            +
            uk_bin_collection/uk_bin_collection/councils/BirminghamCityCouncil.py,sha256=yrO9dnSMdqVTcrzqXXfexFxSuESW01VPxXNAl0_lNOU,4669
         
     | 
| 
       25 
25 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/BlackburnCouncil.py,sha256=jHbCK8sL09vdmdP7Xnh8lIrU5AHTnJLEZfOLephPvWg,4090
         
     | 
| 
       26 
26 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/BoltonCouncil.py,sha256=MrSzfK3EukRVasgP1nxAqg3lTkZzlAkDLJ2Nu5dJJ-0,4023
         
     | 
| 
       27 
     | 
    
         
            -
            uk_bin_collection/uk_bin_collection/councils/BracknellForestCouncil.py,sha256= 
     | 
| 
      
 27 
     | 
    
         
            +
            uk_bin_collection/uk_bin_collection/councils/BracknellForestCouncil.py,sha256=Llo1rULaAZ8rChVYZqXFFLo7CN6vbT0ULUJD6ActouY,9015
         
     | 
| 
       28 
28 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/BradfordMDC.py,sha256=9EDTdhbGb8BQ5PLEw9eiWZ3BrS0TtoFpYOHQU44wc2k,4308
         
     | 
| 
       29 
29 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/BrightonandHoveCityCouncil.py,sha256=k6qt4cds-Ejd97Z-__pw2BYvGVbFdc9SUfF73PPrTNA,5823
         
     | 
| 
       30 
     | 
    
         
            -
            uk_bin_collection/uk_bin_collection/councils/BristolCityCouncil.py,sha256= 
     | 
| 
       31 
     | 
    
         
            -
            uk_bin_collection/uk_bin_collection/councils/BromleyBoroughCouncil.py,sha256= 
     | 
| 
      
 30 
     | 
    
         
            +
            uk_bin_collection/uk_bin_collection/councils/BristolCityCouncil.py,sha256=kJmmDJz_kQ45DHmG7ocrUpNJonEn0kuXYEDQyZaf9ks,5576
         
     | 
| 
      
 31 
     | 
    
         
            +
            uk_bin_collection/uk_bin_collection/councils/BromleyBoroughCouncil.py,sha256=_bAFykZWZkEVUB-QKeVLfWO8plG6nRgn71QF2BUN2rk,4329
         
     | 
| 
       32 
32 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/BroxtoweBoroughCouncil.py,sha256=-Facq-ToQkcWUePpKBwq90LZUFxgUSydNL2sYaLX4yw,4473
         
     | 
| 
       33 
     | 
    
         
            -
            uk_bin_collection/uk_bin_collection/councils/BuckinghamshireCouncil.py,sha256 
     | 
| 
      
 33 
     | 
    
         
            +
            uk_bin_collection/uk_bin_collection/councils/BuckinghamshireCouncil.py,sha256=-EAj7-CCb1kWEglITePOsSCUknJRU9hnuS5sysCf19w,3319
         
     | 
| 
       34 
34 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/BuryCouncil.py,sha256=H7wAxO1nfxkewVoRRolumq8bBJG04siE3jieFH3RGpQ,2632
         
     | 
| 
       35 
35 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/CalderdaleCouncil.py,sha256=OJZcHYlvZDzmBpjjPPm3J8CRK9Twc49vRj7O9c5fyQ4,4971
         
     | 
| 
       36 
36 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/CannockChaseDistrictCouncil.py,sha256=ZamevXN8_Q8mRZOTESWtkb8jVyDXkTczcmhXMAVVSkM,2276
         
     | 
| 
         @@ -44,14 +44,14 @@ uk_bin_collection/uk_bin_collection/councils/ChichesterDistrictCouncil.py,sha256 
     | 
|
| 
       44 
44 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/ChorleyCouncil.py,sha256=M7HjuUaFq8aSnOf_9m1QS4MmPPMmPhF3mLHSrfDPtV0,5194
         
     | 
| 
       45 
45 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/ConwyCountyBorough.py,sha256=el75qv2QyfWZBU09tJLvD8vLQZ9pCg73u1NBFs6ybo8,1034
         
     | 
| 
       46 
46 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/CrawleyBoroughCouncil.py,sha256=_BEKZAjlS5Ad5DjyxqAEFSLn8F-KYox0zmn4BXaAD6A,2367
         
     | 
| 
       47 
     | 
    
         
            -
            uk_bin_collection/uk_bin_collection/councils/CroydonCouncil.py,sha256= 
     | 
| 
       48 
     | 
    
         
            -
            uk_bin_collection/uk_bin_collection/councils/DartfordBoroughCouncil.py,sha256= 
     | 
| 
      
 47 
     | 
    
         
            +
            uk_bin_collection/uk_bin_collection/councils/CroydonCouncil.py,sha256=QJH27plySbbmoNcLNUXq-hUiFmZ5zBlRS5mzOJgWSK8,11594
         
     | 
| 
      
 48 
     | 
    
         
            +
            uk_bin_collection/uk_bin_collection/councils/DartfordBoroughCouncil.py,sha256=SPirUUoweMwX5Txtsr0ocdcFtKxCQ9LhzTTJN20tM4w,1550
         
     | 
| 
       49 
49 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/DerbyshireDalesDistrictCouncil.py,sha256=MQC1-jXezXczrxTcvPQvkpGgyyAbzSKlX38WsmftHak,4007
         
     | 
| 
       50 
50 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/DoncasterCouncil.py,sha256=b7pxoToXu6dBBYXsXmlwfPXE8BjHxt0hjCOBNlNgvX8,3118
         
     | 
| 
       51 
51 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/DorsetCouncil.py,sha256=sdSR5ryOSWHtK_0OKJ75LGOvMiUAnQCc3uwT3xfqZ_0,2304
         
     | 
| 
       52 
52 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/DoverDistrictCouncil.py,sha256=3Zgap6kaVpDXtRfBKEL1Ms6eb0iFIipYKNtOq3Hrdd4,1891
         
     | 
| 
       53 
53 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/DurhamCouncil.py,sha256=6O8bNsQVYQbrCYQE9Rp0c_rtkcXuxR3s9J6jn4MK4_s,1695
         
     | 
| 
       54 
     | 
    
         
            -
            uk_bin_collection/uk_bin_collection/councils/EastCambridgeshireCouncil.py,sha256= 
     | 
| 
      
 54 
     | 
    
         
            +
            uk_bin_collection/uk_bin_collection/councils/EastCambridgeshireCouncil.py,sha256=aYUVE5QqTxdj8FHhCB4EiFVDJahWJD9Pq0d1upBEvXg,1501
         
     | 
| 
       55 
55 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/EastDevonDC.py,sha256=U0VwSNIldMv5nUoiXtFgjbE0m6Kb-8W2WZQGVCNF_WI,3261
         
     | 
| 
       56 
56 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/EastLindseyDistrictCouncil.py,sha256=o_HPSFhb2ybmwv32_7T7CO1f2mGDkYCNPfaM5xz6bUI,4356
         
     | 
| 
       57 
57 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/EastRidingCouncil.py,sha256=CsYdkmL-8Ty-Kz7uNdlnJnhiDMgOPah_swYgSKbaFqA,5218
         
     | 
| 
         @@ -68,7 +68,7 @@ uk_bin_collection/uk_bin_collection/councils/GedlingBoroughCouncil.py,sha256=3Dp 
     | 
|
| 
       68 
68 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/GlasgowCityCouncil.py,sha256=IOgM8Wl-LpO1T-F9uU1FlVfPaEObpvsdP7S2h03Mycc,2528
         
     | 
| 
       69 
69 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/GuildfordCouncil.py,sha256=9pVrmQhZcK2AD8gX8mNvP--L4L9KaY6L3B822VX6fec,5695
         
     | 
| 
       70 
70 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/HaltonBoroughCouncil.py,sha256=r8cmtWhMJg-XG63ZHxidKKW7i4yQNrZSSMSCkBwrqjI,5837
         
     | 
| 
       71 
     | 
    
         
            -
            uk_bin_collection/uk_bin_collection/councils/HaringeyCouncil.py,sha256= 
     | 
| 
      
 71 
     | 
    
         
            +
            uk_bin_collection/uk_bin_collection/councils/HaringeyCouncil.py,sha256=t_6AkAu4wrv8Q0WlDhWh_82I0djl5tk531Pzs-SjWzg,2647
         
     | 
| 
       72 
72 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/HarrogateBoroughCouncil.py,sha256=_g3fP5Nq-OUjgNrfRf4UEyFKzq0x8QK-4enh5RP1efA,2050
         
     | 
| 
       73 
73 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/HighPeakCouncil.py,sha256=oybn_cbzjBTEPLH-Ya6WaoRTvMHxLV6a0zXCX-AhOjY,4815
         
     | 
| 
       74 
74 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/HounslowCouncil.py,sha256=LXhJ47rujx7k3naz0tFiTT1l5k6gAYcVdekJN1t_HLY,4564
         
     | 
| 
         @@ -77,15 +77,15 @@ uk_bin_collection/uk_bin_collection/councils/HuntingdonDistrictCouncil.py,sha256 
     | 
|
| 
       77 
77 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/KingstonUponThamesCouncil.py,sha256=iZ7njIxccCGBhUUWWd9Azh7cxUAKaofebCm3lo-TuxA,3543
         
     | 
| 
       78 
78 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/KirkleesCouncil.py,sha256=gtAtM6FappSZ0-BKid7_pnSrnqPPjHn_UYWqMg9wQlM,4499
         
     | 
| 
       79 
79 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/KnowsleyMBCouncil.py,sha256=VdlWDESoHfr_X0r8-UMaLMUQhKZOa2BnpVPkX-1u3EQ,5605
         
     | 
| 
       80 
     | 
    
         
            -
            uk_bin_collection/uk_bin_collection/councils/LancasterCityCouncil.py,sha256= 
     | 
| 
      
 80 
     | 
    
         
            +
            uk_bin_collection/uk_bin_collection/councils/LancasterCityCouncil.py,sha256=FmHT6oyD4BwWuhxA80PHnGA7HPrLuyjP_54Cg8hT6k4,2537
         
     | 
| 
       81 
81 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/LeedsCityCouncil.py,sha256=iSZApZ9oSfSatQ6dAxmykSfti91jGuY6n2BwEkVMOiU,5144
         
     | 
| 
       82 
     | 
    
         
            -
            uk_bin_collection/uk_bin_collection/councils/LisburnCastlereaghCityCouncil.py,sha256= 
     | 
| 
      
 82 
     | 
    
         
            +
            uk_bin_collection/uk_bin_collection/councils/LisburnCastlereaghCityCouncil.py,sha256=vSOzdEwp9ZeUhed7E3eVv9ReD-2XgbSkpyAbVnfc-Gk,3309
         
     | 
| 
       83 
83 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/LiverpoolCityCouncil.py,sha256=n17OqZrCGrPrnxGUfHc-RGkb4oJ9Bx6uUWiLdzxfQlY,2587
         
     | 
| 
       84 
84 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/LondonBoroughHounslow.py,sha256=UOeiOxGMvVMm2UFaqjmQpm7vxzqJNSSN8LM9lAUjs2c,3021
         
     | 
| 
       85 
85 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/LondonBoroughRedbridge.py,sha256=A_6Sis5hsF53Th04KeadHRasGbpAm6aoaWJ6X8eC4Y8,6604
         
     | 
| 
       86 
86 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/MaldonDistrictCouncil.py,sha256=PMVt2XFggttPmbWyrBrHJ-W6R_6-0ux1BkY1kj1IKzg,1997
         
     | 
| 
       87 
87 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/MalvernHillsDC.py,sha256=iQG0EkX2npBicvsGKQRYyBGSBvKVUbKvUvvwrC9xV1A,2100
         
     | 
| 
       88 
     | 
    
         
            -
            uk_bin_collection/uk_bin_collection/councils/ManchesterCityCouncil.py,sha256= 
     | 
| 
      
 88 
     | 
    
         
            +
            uk_bin_collection/uk_bin_collection/councils/ManchesterCityCouncil.py,sha256=RFXC4bRDYZgeFIzfsOWZXoBEWV7mNiM0HejhcPsP3a0,4920
         
     | 
| 
       89 
89 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/MansfieldDistrictCouncil.py,sha256=F5AiTxImrnjE1k3ry96bfstOf5XSNBJS_4qqmymmh3w,1386
         
     | 
| 
       90 
90 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/MertonCouncil.py,sha256=3Y2Un4xXo1sCcMsudynODSzocV_mMofWkX2JqONDb5o,1997
         
     | 
| 
       91 
91 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/MidAndEastAntrimBoroughCouncil.py,sha256=oOWwU5FSgGej2Mv7FQ66N-EzS5nZgmGsd0WnfLWUc1I,5238
         
     | 
| 
         @@ -93,10 +93,11 @@ uk_bin_collection/uk_bin_collection/councils/MidSussexDistrictCouncil.py,sha256= 
     | 
|
| 
       93 
93 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/MiltonKeynesCityCouncil.py,sha256=3olsWa77L34vz-c7NgeGK9xmNuR4Ws_oAk5D4UpIkPw,2005
         
     | 
| 
       94 
94 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/MoleValleyDistrictCouncil.py,sha256=54-autRRGAM4pBxlqmUE6g825rmUF-gRqrcgHL_lkIk,3994
         
     | 
| 
       95 
95 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/NeathPortTalbotCouncil.py,sha256=2DJ0gK385CWTdJzWyDdmNBTTrwX6F5YbIXg7di2oXDQ,5506
         
     | 
| 
      
 96 
     | 
    
         
            +
            uk_bin_collection/uk_bin_collection/councils/NewForestCouncil.py,sha256=ylTn9KmWITtaO9_Z8kJCN2w2ALfhrfGt3SeJ78lgw7M,5391
         
     | 
| 
       96 
97 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/NewarkAndSherwoodDC.py,sha256=lAleYfCGUWCKOi7Ye_cjgfpI3pWwTcFctlYmh0hjebM,2140
         
     | 
| 
       97 
98 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/NewcastleCityCouncil.py,sha256=eJMX10CG9QO7FRhHSmUDL-jO_44qoK3_1ztNTAXhkbw,2085
         
     | 
| 
       98 
99 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/NewhamCouncil.py,sha256=klFqr2Km1BuQ4wERmjbXZzOvN1N0jnVmhTGRSVzVOaU,2086
         
     | 
| 
       99 
     | 
    
         
            -
            uk_bin_collection/uk_bin_collection/councils/NewportCityCouncil.py,sha256= 
     | 
| 
      
 100 
     | 
    
         
            +
            uk_bin_collection/uk_bin_collection/councils/NewportCityCouncil.py,sha256=dAcl5P97bttl2xCPvxof1a18kmqOrMmiElgtn3Ej7zs,8480
         
     | 
| 
       100 
101 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/NorthEastDerbyshireDistrictCouncil.py,sha256=bps_uCFAeUHQla7AE5lZOv6sUkUz1fb6zduZdAcYMuw,4651
         
     | 
| 
       101 
102 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/NorthEastLincs.py,sha256=fYf438VZIaOaqPSwdTTWVjFTdrI0jGfFsxVzOc-QdkA,1817
         
     | 
| 
       102 
103 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/NorthKestevenDistrictCouncil.py,sha256=vYOCerJXr9LTP6F2wm4vpYNYbQaWNZ6yfHEQ33N_hTw,1681
         
     | 
| 
         @@ -105,7 +106,7 @@ uk_bin_collection/uk_bin_collection/councils/NorthLincolnshireCouncil.py,sha256= 
     | 
|
| 
       105 
106 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/NorthNorfolkDistrictCouncil.py,sha256=VV_zqVZYv8ekXcUHhrBlTX_W5qLYE9IA3mT2xmrZqoI,4315
         
     | 
| 
       106 
107 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/NorthNorthamptonshireCouncil.py,sha256=kcMN-5GBjYDM9F1BKfHoYeydub8SuDxHamJbSvJRZ68,2337
         
     | 
| 
       107 
108 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/NorthSomersetCouncil.py,sha256=EbFVnPYZIOkru5_Y75kjljM3Cr3HIJgP-SU6hxgf6tk,2754
         
     | 
| 
       108 
     | 
    
         
            -
            uk_bin_collection/uk_bin_collection/councils/NorthTynesideCouncil.py,sha256= 
     | 
| 
      
 109 
     | 
    
         
            +
            uk_bin_collection/uk_bin_collection/councils/NorthTynesideCouncil.py,sha256=waH6_PyJaiEF-v9HR3C_aUdiPTcdHlxfAuuuKBsvkII,11353
         
     | 
| 
       109 
110 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/NorthWestLeicestershire.py,sha256=gJj0dyQc5QUefqusKGk2LLXfWbG5tlEXUOh8KAPh3RI,4584
         
     | 
| 
       110 
111 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/NorthYorkshire.py,sha256=2wTrr3VrZDp9-YtDPmWd649gXeWH4hbm2-Hw8Vau5Xs,1933
         
     | 
| 
       111 
112 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/NorthumberlandCouncil.py,sha256=KEFsxEvQ159fkuFo-fza67YCnnCZ5ElwE80zTrqDEWI,4990
         
     | 
| 
         @@ -127,9 +128,9 @@ uk_bin_collection/uk_bin_collection/councils/SevenoaksDistrictCouncil.py,sha256= 
     | 
|
| 
       127 
128 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/SheffieldCityCouncil.py,sha256=9g9AeiackoWyej9EVlKUzywzAtMuBVD0f93ZryAUha8,2016
         
     | 
| 
       128 
129 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/ShropshireCouncil.py,sha256=6OIEhJmv-zLJiEo8WaJePA7JuhNRGkh2WohFLhzN8Kk,1477
         
     | 
| 
       129 
130 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/SolihullCouncil.py,sha256=gbTHjbdV46evGfLfF8rxVMQIgNZD-XPHgZeuyje7kGY,1609
         
     | 
| 
       130 
     | 
    
         
            -
            uk_bin_collection/uk_bin_collection/councils/SomersetCouncil.py,sha256= 
     | 
| 
      
 131 
     | 
    
         
            +
            uk_bin_collection/uk_bin_collection/councils/SomersetCouncil.py,sha256=CZJnkCGn4-yH31HH5_ix-8V2_vsjGuKYxgzAPGZdSAw,8480
         
     | 
| 
       131 
132 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/SouthAyrshireCouncil.py,sha256=03eapeXwxneKI4ccKPSHoviIbhmV1m90I-0WQ_s3KsY,2722
         
     | 
| 
       132 
     | 
    
         
            -
            uk_bin_collection/uk_bin_collection/councils/SouthCambridgeshireCouncil.py,sha256= 
     | 
| 
      
 133 
     | 
    
         
            +
            uk_bin_collection/uk_bin_collection/councils/SouthCambridgeshireCouncil.py,sha256=xGSMcikxjS4UzqKs0X50LJKmn09C-XAAs98SPhNZgkQ,2308
         
     | 
| 
       133 
134 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/SouthGloucestershireCouncil.py,sha256=ytQot0J7i6DTJo6hb9koTB1UpXLATKVeRU4FBF9kHRo,2412
         
     | 
| 
       134 
135 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/SouthKestevenDistrictCouncil.py,sha256=AgycOW-UIAm5_c8QondfKL0n4wUA4cbaN_Jp0e8g494,5587
         
     | 
| 
       135 
136 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/SouthLanarkshireCouncil.py,sha256=fj-eZI0yrvQVCv8GvhcovZ3b9bV6Xv_ws3IunWjnv4U,3126
         
     | 
| 
         @@ -137,7 +138,8 @@ uk_bin_collection/uk_bin_collection/councils/SouthNorfolkCouncil.py,sha256=ThO-o 
     | 
|
| 
       137 
138 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/SouthOxfordshireCouncil.py,sha256=zW4bN3hcqNoK_Y0-vPpuZs3K0LTPvApu6_v9K-D7WjE,3879
         
     | 
| 
       138 
139 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/SouthTynesideCouncil.py,sha256=dxXGrJfg_fn2IPTBgq6Duwy0WY8GYLafMuisaCjOnbs,3426
         
     | 
| 
       139 
140 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/StAlbansCityAndDistrictCouncil.py,sha256=mPZz6Za6kTSkrfHnj0OfwtnpRYR1dKvxbuFEKnWsiL8,1451
         
     | 
| 
       140 
     | 
    
         
            -
            uk_bin_collection/uk_bin_collection/councils/StHelensBC.py,sha256= 
     | 
| 
      
 141 
     | 
    
         
            +
            uk_bin_collection/uk_bin_collection/councils/StHelensBC.py,sha256=c7ZM8gnUkKdz9GYIhFLzTtwN0KAoMEKomTWDVbtJIpM,2069
         
     | 
| 
      
 142 
     | 
    
         
            +
            uk_bin_collection/uk_bin_collection/councils/StaffordBoroughCouncil.py,sha256=9Qj4HJI7Dbiqb2mVSG2UtkBe27Y7wvQ5SYFTwGzJ5g0,2292
         
     | 
| 
       141 
143 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/StaffordshireMoorlandsDistrictCouncil.py,sha256=_N8Cg26EbTaKp0RsWvQuELVcZDHbT2BlD2LW8qhkS_Q,4361
         
     | 
| 
       142 
144 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/StockportBoroughCouncil.py,sha256=v0HmioNVRoU1-9OnLJl2V3M5pVR1aVu1BgOLHFR1Sf4,1429
         
     | 
| 
       143 
145 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/StokeOnTrentCityCouncil.py,sha256=KM0EgWeO7mk8lkozX0RCTfMchXdjrfBqIjCiOtB09aM,2884
         
     | 
| 
         @@ -145,20 +147,23 @@ uk_bin_collection/uk_bin_collection/councils/StratfordUponAvonCouncil.py,sha256= 
     | 
|
| 
       145 
147 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/StroudDistrictCouncil.py,sha256=9bYWppi7ViLGHL4VEg--nFn28MLYJYbiEntull1uZxU,3561
         
     | 
| 
       146 
148 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/SunderlandCityCouncil.py,sha256=4DnKyyu56_AwuchD6_oL1dvpDStMvkkxQtYN79rUKOs,3825
         
     | 
| 
       147 
149 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/SwaleBoroughCouncil.py,sha256=CCAjclhkCxwf_MkdrIif7MZpLfV5SPy7hyM7BE0TRPc,2048
         
     | 
| 
      
 150 
     | 
    
         
            +
            uk_bin_collection/uk_bin_collection/councils/SwanseaCouncil.py,sha256=nmVPoPhnFgVi--vczX2i4Sf3bqM5RWJuwfhioRUr5XE,2303
         
     | 
| 
       148 
151 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/TamesideMBCouncil.py,sha256=k2TAAZG7n2S1BWVyxbE_-4-lZuzhOimCNz4yimUCOGk,1995
         
     | 
| 
       149 
152 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/TandridgeDistrictCouncil.py,sha256=KLVvM2NNq_DQylVe5dwO2l7qPahLHg08jJGLCv1MBQ4,2324
         
     | 
| 
       150 
153 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/TelfordAndWrekinCouncil.py,sha256=p1ZS5R4EGxbEWlRBrkGXgKwE_lkyBT-R60yKFFhVObc,1844
         
     | 
| 
       151 
154 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/TendringDistrictCouncil.py,sha256=DJbYI8m6lIISDrK5h8V5Jo-9kGG7kr9dz7GD8St4nc8,4274
         
     | 
| 
       152 
     | 
    
         
            -
            uk_bin_collection/uk_bin_collection/councils/TestValleyBoroughCouncil.py,sha256= 
     | 
| 
      
 155 
     | 
    
         
            +
            uk_bin_collection/uk_bin_collection/councils/TestValleyBoroughCouncil.py,sha256=Dtfkyrwt795W7gqFJxVGRR8t3R5WMNQZwTWJckLpZWE,8480
         
     | 
| 
      
 156 
     | 
    
         
            +
            uk_bin_collection/uk_bin_collection/councils/ThreeRiversDistrictCouncil.py,sha256=oZSW0Y5QHdqVy2fLys4sdB13tHgeNLha9WCUqG_R-gU,5527
         
     | 
| 
       153 
157 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/TonbridgeAndMallingBC.py,sha256=UlgnHDoi8ecav2H5-HqKNDpqW1J3RN-c___5c08_Q7I,4859
         
     | 
| 
       154 
158 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/TorbayCouncil.py,sha256=JW_BS7wkfxFsmx6taQtPAQWdBp1AfLrxs0XRQ2XZcSw,2029
         
     | 
| 
       155 
159 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/TorridgeDistrictCouncil.py,sha256=6gOO02pYU0cbj3LAHiBVNG4zkFMyIGbkE2jAye3KcGM,6386
         
     | 
| 
      
 160 
     | 
    
         
            +
            uk_bin_collection/uk_bin_collection/councils/UttlesfordDistrictCouncil.py,sha256=8CvO-WgdKdvyaOf3TYc4XwME8ogAXojgB40oyGRL8Dw,4129
         
     | 
| 
       156 
161 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/ValeofGlamorganCouncil.py,sha256=Phgb_ECiUOOkqOx6OsfsTHMCW5VQfRmOC2zgYIQhuZA,5044
         
     | 
| 
       157 
162 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/ValeofWhiteHorseCouncil.py,sha256=5nZLbU5YVKNsJ2X_wuybrNLFAzjVAxkazu-bYP4IGXw,4292
         
     | 
| 
       158 
163 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/WakefieldCityCouncil.py,sha256=9zW4C0WKbsDLCKvFyVYFpyvp20JbrWc4G0HzadqF8WQ,4466
         
     | 
| 
       159 
164 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/WalthamForest.py,sha256=P7MMw0EhpRmDbbnHb25tY5_yvYuZUFwJ1br4TOv24sY,4997
         
     | 
| 
       160 
165 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/WarwickDistrictCouncil.py,sha256=3WQrAxzYzKoV4LyOqNTp9xINVsNi1xW9t8etducGeag,1146
         
     | 
| 
       161 
     | 
    
         
            -
            uk_bin_collection/uk_bin_collection/councils/WaverleyBoroughCouncil.py,sha256= 
     | 
| 
      
 166 
     | 
    
         
            +
            uk_bin_collection/uk_bin_collection/councils/WaverleyBoroughCouncil.py,sha256=tp9l7vdgSGRzNNG0pDfnNuFj4D2bpRJUJmAiTJ6bM0g,4662
         
     | 
| 
       162 
167 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/WealdenDistrictCouncil.py,sha256=SvSSaLkx7iJjzypAwKkaJwegXkSsIQtUOS2V605kz1A,3368
         
     | 
| 
       163 
168 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/WelhatCouncil.py,sha256=ikUft37dYNJghfe-_6Fskiq1JihqpLmLNj38QkKSUUA,2316
         
     | 
| 
       164 
169 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/WestBerkshireCouncil.py,sha256=r90AIUdPgo85VuuvN_NeCDUy3NEJXdO4Ntt93yKo6qI,5110
         
     | 
| 
         @@ -166,17 +171,18 @@ uk_bin_collection/uk_bin_collection/councils/WestLindseyDistrictCouncil.py,sha25 
     | 
|
| 
       166 
171 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/WestLothianCouncil.py,sha256=dq0jimtARvRkZiGbVFrXXZgY-BODtz3uYZ5UKn0bf64,4114
         
     | 
| 
       167 
172 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/WestNorthamptonshireCouncil.py,sha256=F1GeJUGND4DN_HuM6N0Elpeb0DAMm9_KeqG6qtIgZf4,1079
         
     | 
| 
       168 
173 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/WestSuffolkCouncil.py,sha256=HMFWxM7VMhBuC7iubNGbZYEoCVWi--gRHDJMVdPPFOM,2633
         
     | 
| 
       169 
     | 
    
         
            -
            uk_bin_collection/uk_bin_collection/councils/WiganBoroughCouncil.py,sha256= 
     | 
| 
      
 174 
     | 
    
         
            +
            uk_bin_collection/uk_bin_collection/councils/WiganBoroughCouncil.py,sha256=3gqFA4-BVx_In6QOu3KUNqPN4Fkn9iMlZTeopMK9p6A,3746
         
     | 
| 
       170 
175 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/WiltshireCouncil.py,sha256=it2Oh5Kmq3lD30gAZgk2bzZPNCtJcFHyQO1NgOQtfvU,5653
         
     | 
| 
       171 
     | 
    
         
            -
            uk_bin_collection/uk_bin_collection/councils/WindsorAndMaidenheadCouncil.py,sha256= 
     | 
| 
       172 
     | 
    
         
            -
            uk_bin_collection/uk_bin_collection/councils/WokingBoroughCouncil.py,sha256= 
     | 
| 
      
 176 
     | 
    
         
            +
            uk_bin_collection/uk_bin_collection/councils/WindsorAndMaidenheadCouncil.py,sha256=yG5iu294q138Bvk-0IPd4pJDFsOQPDmtU5XXytxnAnA,5554
         
     | 
| 
      
 177 
     | 
    
         
            +
            uk_bin_collection/uk_bin_collection/councils/WokingBoroughCouncil.py,sha256=37igH9g0xe4XIhRhcJ-ZJBU8MxTp5yzgpadWbdE33Yg,5205
         
     | 
| 
      
 178 
     | 
    
         
            +
            uk_bin_collection/uk_bin_collection/councils/WychavonDistrictCouncil.py,sha256=YuZdzEW0CZLwusm1VQcGRIKXAab_UDFLaCnN60itt_E,5776
         
     | 
| 
       173 
179 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/WyreCouncil.py,sha256=zDDa7n4K_zm5PgDL08A26gD9yOOsOhuexI3x2seaBF4,3511
         
     | 
| 
       174 
180 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/YorkCouncil.py,sha256=I2kBYMlsD4bIdsvmoSzBjJAvTTi6yPfJa8xjJx1ys2w,1490
         
     | 
| 
       175 
181 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/councils/council_class_template/councilclasstemplate.py,sha256=4s9ODGPAwPqwXc8SrTX5Wlfmizs3_58iXUtHc4Ir86o,1162
         
     | 
| 
       176 
182 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/create_new_council.py,sha256=m-IhmWmeWQlFsTZC4OxuFvtw5ZtB8EAJHxJTH4O59lQ,1536
         
     | 
| 
       177 
183 
     | 
    
         
             
            uk_bin_collection/uk_bin_collection/get_bin_data.py,sha256=9qppF2oPkhmOoK8-ZkRIU1M6vhBh-yUCWAZEEd07iLk,5414
         
     | 
| 
       178 
     | 
    
         
            -
            uk_bin_collection-0. 
     | 
| 
       179 
     | 
    
         
            -
            uk_bin_collection-0. 
     | 
| 
       180 
     | 
    
         
            -
            uk_bin_collection-0. 
     | 
| 
       181 
     | 
    
         
            -
            uk_bin_collection-0. 
     | 
| 
       182 
     | 
    
         
            -
            uk_bin_collection-0. 
     | 
| 
      
 184 
     | 
    
         
            +
            uk_bin_collection-0.81.0.dist-info/LICENSE,sha256=vABBUOzcrgfaTKpzeo-si9YVEun6juDkndqA8RKdKGs,1071
         
     | 
| 
      
 185 
     | 
    
         
            +
            uk_bin_collection-0.81.0.dist-info/METADATA,sha256=FY2xzwnZMQ0FiEomvCzrJHbqIVc1RuPvo9dPwPxexR4,12594
         
     | 
| 
      
 186 
     | 
    
         
            +
            uk_bin_collection-0.81.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
         
     | 
| 
      
 187 
     | 
    
         
            +
            uk_bin_collection-0.81.0.dist-info/entry_points.txt,sha256=36WCSGMWSc916S3Hi1ZkazzDKHaJ6CD-4fCEFm5MIao,90
         
     | 
| 
      
 188 
     | 
    
         
            +
            uk_bin_collection-0.81.0.dist-info/RECORD,,
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     |