uk_bin_collection 0.86.0__tar.gz → 0.86.1__tar.gz
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-0.86.0 → uk_bin_collection-0.86.1}/PKG-INFO +1 -1
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/pyproject.toml +1 -1
- uk_bin_collection-0.86.1/uk_bin_collection/uk_bin_collection/councils/WakefieldCityCouncil.py +93 -0
- uk_bin_collection-0.86.0/uk_bin_collection/uk_bin_collection/councils/WakefieldCityCouncil.py +0 -91
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/LICENSE +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/README.md +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/README.rst +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/tests/council_feature_input_parity.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/tests/features/environment.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/tests/features/validate_council_outputs.feature +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/tests/input.json +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/tests/output.schema +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/tests/step_defs/step_helpers/file_handler.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/tests/step_defs/test_validate_council.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/tests/test_collect_data.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/tests/test_common_functions.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/tests/test_conftest.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/tests/test_get_data.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/collect_data.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/common.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/AdurAndWorthingCouncils.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/ArunCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/AylesburyValeCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/BCPCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/BarnetCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/BarnsleyMBCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/BasingstokeCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/BathAndNorthEastSomersetCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/BedfordBoroughCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/BedfordshireCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/BelfastCityCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/BexleyCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/BirminghamCityCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/BlackburnCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/BoltonCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/BracknellForestCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/BradfordMDC.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/BrightonandHoveCityCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/BristolCityCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/BromleyBoroughCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/BroxtoweBoroughCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/BuckinghamshireCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/BuryCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/CalderdaleCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/CannockChaseDistrictCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/CardiffCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/CastlepointDistrictCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/CharnwoodBoroughCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/ChelmsfordCityCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/CheshireEastCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/CheshireWestAndChesterCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/ChichesterDistrictCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/ChorleyCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/ConwyCountyBorough.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/CornwallCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/CrawleyBoroughCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/CroydonCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/DartfordBoroughCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/DerbyshireDalesDistrictCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/DoncasterCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/DorsetCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/DoverDistrictCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/DurhamCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/EastCambridgeshireCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/EastDevonDC.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/EastLindseyDistrictCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/EastRidingCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/EastSuffolkCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/EastleighBoroughCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/EnfieldCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/EnvironmentFirst.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/EppingForestDistrictCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/ErewashBoroughCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/FarehamBoroughCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/FenlandDistrictCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/ForestOfDeanDistrictCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/GatesheadCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/GedlingBoroughCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/GlasgowCityCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/GuildfordCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/HaltonBoroughCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/HaringeyCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/HarrogateBoroughCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/HighPeakCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/HounslowCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/HullCityCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/HuntingdonDistrictCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/KingstonUponThamesCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/KirkleesCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/KnowsleyMBCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/LancasterCityCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/LeedsCityCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/LisburnCastlereaghCityCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/LiverpoolCityCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/LondonBoroughHounslow.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/LondonBoroughRedbridge.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/MaldonDistrictCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/MalvernHillsDC.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/ManchesterCityCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/MansfieldDistrictCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/MertonCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/MidAndEastAntrimBoroughCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/MidSussexDistrictCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/MiltonKeynesCityCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/MoleValleyDistrictCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/NeathPortTalbotCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/NewForestCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/NewarkAndSherwoodDC.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/NewcastleCityCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/NewhamCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/NewportCityCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/NorthEastDerbyshireDistrictCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/NorthEastLincs.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/NorthKestevenDistrictCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/NorthLanarkshireCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/NorthLincolnshireCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/NorthNorfolkDistrictCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/NorthNorthamptonshireCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/NorthSomersetCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/NorthTynesideCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/NorthWestLeicestershire.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/NorthYorkshire.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/NorthumberlandCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/NottinghamCityCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/OldhamCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/PortsmouthCityCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/PrestonCityCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/ReadingBoroughCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/ReigateAndBansteadBoroughCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/RenfrewshireCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/RhonddaCynonTaffCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/RochdaleCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/RochfordCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/RotherhamCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/RugbyBoroughCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/RushcliffeBoroughCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/RushmoorCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/SalfordCityCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/SevenoaksDistrictCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/SheffieldCityCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/ShropshireCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/SolihullCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/SomersetCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/SouthAyrshireCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/SouthCambridgeshireCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/SouthGloucestershireCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/SouthKestevenDistrictCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/SouthLanarkshireCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/SouthNorfolkCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/SouthOxfordshireCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/SouthTynesideCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/StAlbansCityAndDistrictCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/StHelensBC.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/StaffordBoroughCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/StaffordshireMoorlandsDistrictCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/StockportBoroughCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/StokeOnTrentCityCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/StratfordUponAvonCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/StroudDistrictCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/SunderlandCityCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/SwaleBoroughCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/SwanseaCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/TamesideMBCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/TandridgeDistrictCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/TelfordAndWrekinCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/TendringDistrictCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/TestValleyBoroughCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/ThreeRiversDistrictCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/TonbridgeAndMallingBC.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/TorbayCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/TorridgeDistrictCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/UttlesfordDistrictCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/ValeofGlamorganCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/ValeofWhiteHorseCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/WalthamForest.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/WarwickDistrictCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/WaverleyBoroughCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/WealdenDistrictCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/WelhatCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/WestBerkshireCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/WestLindseyDistrictCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/WestLothianCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/WestNorthamptonshireCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/WestSuffolkCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/WiganBoroughCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/WiltshireCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/WindsorAndMaidenheadCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/WokingBoroughCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/WychavonDistrictCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/WyreCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/YorkCouncil.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/councils/council_class_template/councilclasstemplate.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/create_new_council.py +0 -0
- {uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/get_bin_data.py +0 -0
@@ -0,0 +1,93 @@
|
|
1
|
+
from bs4 import BeautifulSoup
|
2
|
+
from uk_bin_collection.uk_bin_collection.common import *
|
3
|
+
from uk_bin_collection.uk_bin_collection.get_bin_data import AbstractGetBinDataClass
|
4
|
+
from datetime import datetime
|
5
|
+
|
6
|
+
class CouncilClass(AbstractGetBinDataClass):
|
7
|
+
"""
|
8
|
+
Concrete class to scrape bin collection data.
|
9
|
+
"""
|
10
|
+
|
11
|
+
def parse_data(self, page: str, **kwargs) -> dict:
|
12
|
+
driver = None
|
13
|
+
try:
|
14
|
+
# Create Selenium webdriver
|
15
|
+
headless = kwargs.get("headless")
|
16
|
+
driver = create_webdriver(
|
17
|
+
kwargs.get("web_driver"), headless, None, __name__
|
18
|
+
)
|
19
|
+
driver.get(kwargs.get("url"))
|
20
|
+
|
21
|
+
# Make a BS4 object
|
22
|
+
soup = BeautifulSoup(driver.page_source, features="html.parser")
|
23
|
+
soup.prettify()
|
24
|
+
|
25
|
+
data = {"bins": []}
|
26
|
+
# Locate the section with bin collection data
|
27
|
+
sections = soup.find_all("div", {"class": "wil_c-content-section_heading"})
|
28
|
+
|
29
|
+
for s in sections:
|
30
|
+
if s.get_text(strip=True).lower() == "bin collections":
|
31
|
+
rows = s.find_next_sibling(
|
32
|
+
"div", {"class": "c-content-section_body"}
|
33
|
+
).find_all("div", class_="tablet:l-col-fb-4 u-mt-10")
|
34
|
+
|
35
|
+
for row in rows:
|
36
|
+
title_elem = row.find("div", class_="u-mb-4")
|
37
|
+
if title_elem:
|
38
|
+
title = title_elem.get_text(strip=True).capitalize()
|
39
|
+
|
40
|
+
# Find all collection info in the same section
|
41
|
+
collections = row.find_all("div", class_="u-mb-2")
|
42
|
+
for c in collections:
|
43
|
+
text = c.get_text(strip=True).lower()
|
44
|
+
|
45
|
+
if "next collection" in text:
|
46
|
+
date_text = text.replace("next collection - ", "")
|
47
|
+
try:
|
48
|
+
next_collection_date = datetime.strptime(
|
49
|
+
date_text, "%A, %d %B %Y"
|
50
|
+
).strftime(date_format)
|
51
|
+
|
52
|
+
dict_data = {
|
53
|
+
"type": title,
|
54
|
+
"collectionDate": next_collection_date
|
55
|
+
}
|
56
|
+
data["bins"].append(dict_data)
|
57
|
+
except ValueError:
|
58
|
+
# Skip if the date isn't a valid date
|
59
|
+
print(f"Skipping invalid date: {date_text}")
|
60
|
+
|
61
|
+
# Get future collections
|
62
|
+
future_collections_section = row.find("ul", class_="u-mt-4")
|
63
|
+
if future_collections_section:
|
64
|
+
future_collections = future_collections_section.find_all("li")
|
65
|
+
for future_collection in future_collections:
|
66
|
+
future_date_text = future_collection.get_text(strip=True)
|
67
|
+
try:
|
68
|
+
future_collection_date = datetime.strptime(
|
69
|
+
future_date_text, "%A, %d %B %Y"
|
70
|
+
).strftime(date_format)
|
71
|
+
|
72
|
+
# Avoid duplicates of next collection date
|
73
|
+
if future_collection_date != next_collection_date:
|
74
|
+
dict_data = {
|
75
|
+
"type": title,
|
76
|
+
"collectionDate": future_collection_date
|
77
|
+
}
|
78
|
+
data["bins"].append(dict_data)
|
79
|
+
except ValueError:
|
80
|
+
# Skip if the future collection date isn't valid
|
81
|
+
print(f"Skipping invalid future date: {future_date_text}")
|
82
|
+
|
83
|
+
# Sort the collections by date
|
84
|
+
data["bins"].sort(
|
85
|
+
key=lambda x: datetime.strptime(x.get("collectionDate"), date_format)
|
86
|
+
)
|
87
|
+
except Exception as e:
|
88
|
+
print(f"An error occurred: {e}")
|
89
|
+
raise
|
90
|
+
finally:
|
91
|
+
if driver:
|
92
|
+
driver.quit()
|
93
|
+
return data
|
uk_bin_collection-0.86.0/uk_bin_collection/uk_bin_collection/councils/WakefieldCityCouncil.py
DELETED
@@ -1,91 +0,0 @@
|
|
1
|
-
from bs4 import BeautifulSoup
|
2
|
-
|
3
|
-
from uk_bin_collection.uk_bin_collection.common import *
|
4
|
-
from uk_bin_collection.uk_bin_collection.get_bin_data import AbstractGetBinDataClass
|
5
|
-
|
6
|
-
|
7
|
-
# import the wonderful Beautiful Soup and the URL grabber
|
8
|
-
class CouncilClass(AbstractGetBinDataClass):
|
9
|
-
"""
|
10
|
-
Concrete classes have to implement all abstract operations of the base
|
11
|
-
class. They can also override some operations with a default
|
12
|
-
implementation.
|
13
|
-
"""
|
14
|
-
|
15
|
-
def parse_data(self, page: str, **kwargs) -> dict:
|
16
|
-
driver = None
|
17
|
-
try:
|
18
|
-
# Create Selenium webdriver
|
19
|
-
headless = kwargs.get("headless")
|
20
|
-
driver = create_webdriver(
|
21
|
-
kwargs.get("web_driver"), headless, None, __name__
|
22
|
-
)
|
23
|
-
driver.get(kwargs.get("url"))
|
24
|
-
|
25
|
-
# Make a BS4 object
|
26
|
-
soup = BeautifulSoup(driver.page_source, features="html.parser")
|
27
|
-
soup.prettify()
|
28
|
-
|
29
|
-
data = {"bins": []}
|
30
|
-
sections = soup.find_all("div", {"class": "wil_c-content-section_heading"})
|
31
|
-
for s in sections:
|
32
|
-
if s.get_text(strip=True).lower() == "bin collections":
|
33
|
-
rows = s.find_next_sibling(
|
34
|
-
"div", {"class": "c-content-section_body"}
|
35
|
-
).find_all("div", {"class": "u-mb-8"})
|
36
|
-
for row in rows:
|
37
|
-
title = row.find("div", {"class": "u-mb-4"})
|
38
|
-
collections = row.find_all("div", {"class": "u-mb-2"})
|
39
|
-
if title and collections:
|
40
|
-
for c in collections:
|
41
|
-
if (
|
42
|
-
c.get_text(strip=True)
|
43
|
-
.lower()
|
44
|
-
.startswith("next collection")
|
45
|
-
):
|
46
|
-
# add next collection
|
47
|
-
next_collection_date = datetime.strptime(
|
48
|
-
c.get_text(strip=True).replace(
|
49
|
-
"Next collection - ", ""
|
50
|
-
),
|
51
|
-
"%A, %d %B %Y",
|
52
|
-
).strftime(date_format)
|
53
|
-
dict_data = {
|
54
|
-
"type": title.get_text(strip=True).capitalize(),
|
55
|
-
"collectionDate": next_collection_date,
|
56
|
-
}
|
57
|
-
data["bins"].append(dict_data)
|
58
|
-
# add future collections without duplicating next collection
|
59
|
-
future_collections = row.find(
|
60
|
-
"ul", {"class": "u-mt-4"}
|
61
|
-
).find_all("li")
|
62
|
-
for c in future_collections:
|
63
|
-
future_collection_date = datetime.strptime(
|
64
|
-
c.get_text(strip=True),
|
65
|
-
"%A, %d %B %Y",
|
66
|
-
).strftime(date_format)
|
67
|
-
if (
|
68
|
-
future_collection_date
|
69
|
-
!= next_collection_date
|
70
|
-
):
|
71
|
-
dict_data = {
|
72
|
-
"type": title.get_text(
|
73
|
-
strip=True
|
74
|
-
).capitalize(),
|
75
|
-
"collectionDate": future_collection_date,
|
76
|
-
}
|
77
|
-
data["bins"].append(dict_data)
|
78
|
-
|
79
|
-
data["bins"].sort(
|
80
|
-
key=lambda x: datetime.strptime(x.get("collectionDate"), date_format)
|
81
|
-
)
|
82
|
-
except Exception as e:
|
83
|
-
# Here you can log the exception if needed
|
84
|
-
print(f"An error occurred: {e}")
|
85
|
-
# Optionally, re-raise the exception if you want it to propagate
|
86
|
-
raise
|
87
|
-
finally:
|
88
|
-
# This block ensures that the driver is closed regardless of an exception
|
89
|
-
if driver:
|
90
|
-
driver.quit()
|
91
|
-
return data
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/tests/test_collect_data.py
RENAMED
File without changes
|
File without changes
|
{uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/tests/test_conftest.py
RENAMED
File without changes
|
{uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/tests/test_get_data.py
RENAMED
File without changes
|
File without changes
|
{uk_bin_collection-0.86.0 → uk_bin_collection-0.86.1}/uk_bin_collection/uk_bin_collection/common.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|