uk_bin_collection 0.109.2__tar.gz → 0.111.0__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (252) hide show
  1. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/PKG-INFO +1 -1
  2. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/pyproject.toml +1 -1
  3. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/tests/input.json +60 -3
  4. uk_bin_collection-0.111.0/uk_bin_collection/uk_bin_collection/councils/BlabyDistrictCouncil.py +56 -0
  5. uk_bin_collection-0.111.0/uk_bin_collection/uk_bin_collection/councils/BromsgroveDistrictCouncil.py +55 -0
  6. uk_bin_collection-0.111.0/uk_bin_collection/uk_bin_collection/councils/CarmarthenshireCountyCouncil.py +55 -0
  7. uk_bin_collection-0.111.0/uk_bin_collection/uk_bin_collection/councils/EastAyrshireCouncil.py +46 -0
  8. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/EastLindseyDistrictCouncil.py +20 -22
  9. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/GlasgowCityCouncil.py +1 -1
  10. uk_bin_collection-0.111.0/uk_bin_collection/uk_bin_collection/councils/LondonBoroughSutton.py +75 -0
  11. uk_bin_collection-0.111.0/uk_bin_collection/uk_bin_collection/councils/MidDevonCouncil.py +93 -0
  12. uk_bin_collection-0.111.0/uk_bin_collection/uk_bin_collection/councils/OxfordCityCouncil.py +63 -0
  13. uk_bin_collection-0.111.0/uk_bin_collection/uk_bin_collection/councils/SeftonCouncil.py +67 -0
  14. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/LICENSE +0 -0
  15. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/README.md +0 -0
  16. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/README.rst +0 -0
  17. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/tests/council_feature_input_parity.py +0 -0
  18. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/tests/features/environment.py +0 -0
  19. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/tests/features/validate_council_outputs.feature +0 -0
  20. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/tests/output.schema +0 -0
  21. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/tests/step_defs/step_helpers/file_handler.py +0 -0
  22. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/tests/step_defs/test_validate_council.py +0 -0
  23. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/tests/test_collect_data.py +0 -0
  24. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/tests/test_common_functions.py +0 -0
  25. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/tests/test_conftest.py +0 -0
  26. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/tests/test_get_data.py +0 -0
  27. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/collect_data.py +0 -0
  28. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/common.py +0 -0
  29. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/AberdeenshireCouncil.py +0 -0
  30. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/AdurAndWorthingCouncils.py +0 -0
  31. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/ArdsAndNorthDownCouncil.py +0 -0
  32. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/ArmaghBanbridgeCraigavonCouncil.py +0 -0
  33. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/ArunCouncil.py +0 -0
  34. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/AshfordBoroughCouncil.py +0 -0
  35. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/AylesburyValeCouncil.py +0 -0
  36. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/BCPCouncil.py +0 -0
  37. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/BarnetCouncil.py +0 -0
  38. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/BarnsleyMBCouncil.py +0 -0
  39. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/BasildonCouncil.py +0 -0
  40. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/BasingstokeCouncil.py +0 -0
  41. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/BathAndNorthEastSomersetCouncil.py +0 -0
  42. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/BedfordBoroughCouncil.py +0 -0
  43. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/BedfordshireCouncil.py +0 -0
  44. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/BelfastCityCouncil.py +0 -0
  45. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/BexleyCouncil.py +0 -0
  46. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/BirminghamCityCouncil.py +0 -0
  47. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/BlackburnCouncil.py +0 -0
  48. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/BoltonCouncil.py +0 -0
  49. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/BracknellForestCouncil.py +0 -0
  50. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/BradfordMDC.py +0 -0
  51. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/BrecklandCouncil.py +0 -0
  52. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/BrightonandHoveCityCouncil.py +0 -0
  53. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/BristolCityCouncil.py +0 -0
  54. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/BromleyBoroughCouncil.py +0 -0
  55. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/BroxtoweBoroughCouncil.py +0 -0
  56. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/BuckinghamshireCouncil.py +0 -0
  57. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/BuryCouncil.py +0 -0
  58. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/CalderdaleCouncil.py +0 -0
  59. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/CannockChaseDistrictCouncil.py +0 -0
  60. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/CanterburyCityCouncil.py +0 -0
  61. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/CardiffCouncil.py +0 -0
  62. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/CastlepointDistrictCouncil.py +0 -0
  63. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/CharnwoodBoroughCouncil.py +0 -0
  64. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/ChelmsfordCityCouncil.py +0 -0
  65. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/CheshireEastCouncil.py +0 -0
  66. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/CheshireWestAndChesterCouncil.py +0 -0
  67. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/ChesterfieldBoroughCouncil.py +0 -0
  68. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/ChichesterDistrictCouncil.py +0 -0
  69. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/ChorleyCouncil.py +0 -0
  70. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/ColchesterCityCouncil.py +0 -0
  71. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/ConwyCountyBorough.py +0 -0
  72. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/CornwallCouncil.py +0 -0
  73. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/CotswoldDistrictCouncil.py +0 -0
  74. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/CoventryCityCouncil.py +0 -0
  75. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/CrawleyBoroughCouncil.py +0 -0
  76. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/CroydonCouncil.py +0 -0
  77. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/DacorumBoroughCouncil.py +0 -0
  78. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/DartfordBoroughCouncil.py +0 -0
  79. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/DerbyshireDalesDistrictCouncil.py +0 -0
  80. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/DoncasterCouncil.py +0 -0
  81. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/DorsetCouncil.py +0 -0
  82. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/DoverDistrictCouncil.py +0 -0
  83. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/DudleyCouncil.py +0 -0
  84. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/DurhamCouncil.py +0 -0
  85. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/EalingCouncil.py +0 -0
  86. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/EastCambridgeshireCouncil.py +0 -0
  87. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/EastDevonDC.py +0 -0
  88. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/EastHertsCouncil.py +0 -0
  89. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/EastRenfrewshireCouncil.py +0 -0
  90. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/EastRidingCouncil.py +0 -0
  91. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/EastSuffolkCouncil.py +0 -0
  92. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/EastleighBoroughCouncil.py +0 -0
  93. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/ElmbridgeBoroughCouncil.py +0 -0
  94. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/EnfieldCouncil.py +0 -0
  95. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/EnvironmentFirst.py +0 -0
  96. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/EppingForestDistrictCouncil.py +0 -0
  97. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/ErewashBoroughCouncil.py +0 -0
  98. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/FalkirkCouncil.py +0 -0
  99. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/FarehamBoroughCouncil.py +0 -0
  100. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/FenlandDistrictCouncil.py +0 -0
  101. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/FifeCouncil.py +0 -0
  102. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/FlintshireCountyCouncil.py +0 -0
  103. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/ForestOfDeanDistrictCouncil.py +0 -0
  104. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/GatesheadCouncil.py +0 -0
  105. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/GedlingBoroughCouncil.py +0 -0
  106. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/GloucesterCityCouncil.py +0 -0
  107. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/GuildfordCouncil.py +0 -0
  108. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/HaltonBoroughCouncil.py +0 -0
  109. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/HarboroughDistrictCouncil.py +0 -0
  110. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/HaringeyCouncil.py +0 -0
  111. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/HarrogateBoroughCouncil.py +0 -0
  112. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/HighPeakCouncil.py +0 -0
  113. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/HighlandCouncil.py +0 -0
  114. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/HounslowCouncil.py +0 -0
  115. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/HullCityCouncil.py +0 -0
  116. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/HuntingdonDistrictCouncil.py +0 -0
  117. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/IslingtonCouncil.py +0 -0
  118. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/KingstonUponThamesCouncil.py +0 -0
  119. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/KirkleesCouncil.py +0 -0
  120. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/KnowsleyMBCouncil.py +0 -0
  121. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/LancasterCityCouncil.py +0 -0
  122. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/LeedsCityCouncil.py +0 -0
  123. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/LichfieldDistrictCouncil.py +0 -0
  124. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/LincolnCouncil.py +0 -0
  125. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/LisburnCastlereaghCityCouncil.py +0 -0
  126. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/LiverpoolCityCouncil.py +0 -0
  127. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/LondonBoroughEaling.py +0 -0
  128. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/LondonBoroughHarrow.py +0 -0
  129. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/LondonBoroughHounslow.py +0 -0
  130. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/LondonBoroughLambeth.py +0 -0
  131. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/LondonBoroughRedbridge.py +0 -0
  132. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/LutonBoroughCouncil.py +0 -0
  133. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/MaldonDistrictCouncil.py +0 -0
  134. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/MalvernHillsDC.py +0 -0
  135. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/ManchesterCityCouncil.py +0 -0
  136. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/MansfieldDistrictCouncil.py +0 -0
  137. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/MertonCouncil.py +0 -0
  138. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/MidAndEastAntrimBoroughCouncil.py +0 -0
  139. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/MidSussexDistrictCouncil.py +0 -0
  140. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/MidlothianCouncil.py +0 -0
  141. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/MiltonKeynesCityCouncil.py +0 -0
  142. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/MoleValleyDistrictCouncil.py +0 -0
  143. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/NeathPortTalbotCouncil.py +0 -0
  144. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/NewForestCouncil.py +0 -0
  145. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/NewarkAndSherwoodDC.py +0 -0
  146. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/NewcastleCityCouncil.py +0 -0
  147. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/NewhamCouncil.py +0 -0
  148. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/NewportCityCouncil.py +0 -0
  149. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/NorthAyrshireCouncil.py +0 -0
  150. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/NorthEastDerbyshireDistrictCouncil.py +0 -0
  151. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/NorthEastLincs.py +0 -0
  152. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/NorthKestevenDistrictCouncil.py +0 -0
  153. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/NorthLanarkshireCouncil.py +0 -0
  154. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/NorthLincolnshireCouncil.py +0 -0
  155. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/NorthNorfolkDistrictCouncil.py +0 -0
  156. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/NorthNorthamptonshireCouncil.py +0 -0
  157. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/NorthSomersetCouncil.py +0 -0
  158. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/NorthTynesideCouncil.py +0 -0
  159. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/NorthWestLeicestershire.py +0 -0
  160. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/NorthYorkshire.py +0 -0
  161. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/NorthumberlandCouncil.py +0 -0
  162. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/NorwichCityCouncil.py +0 -0
  163. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/NottinghamCityCouncil.py +0 -0
  164. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/OldhamCouncil.py +0 -0
  165. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/PerthAndKinrossCouncil.py +0 -0
  166. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/PlymouthCouncil.py +0 -0
  167. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/PortsmouthCityCouncil.py +0 -0
  168. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/PowysCouncil.py +0 -0
  169. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/PrestonCityCouncil.py +0 -0
  170. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/ReadingBoroughCouncil.py +0 -0
  171. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/ReigateAndBansteadBoroughCouncil.py +0 -0
  172. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/RenfrewshireCouncil.py +0 -0
  173. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/RhonddaCynonTaffCouncil.py +0 -0
  174. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/RochdaleCouncil.py +0 -0
  175. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/RochfordCouncil.py +0 -0
  176. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/RotherhamCouncil.py +0 -0
  177. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/RugbyBoroughCouncil.py +0 -0
  178. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/RushcliffeBoroughCouncil.py +0 -0
  179. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/RushmoorCouncil.py +0 -0
  180. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/SalfordCityCouncil.py +0 -0
  181. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/SevenoaksDistrictCouncil.py +0 -0
  182. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/SheffieldCityCouncil.py +0 -0
  183. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/ShropshireCouncil.py +0 -0
  184. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/SolihullCouncil.py +0 -0
  185. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/SomersetCouncil.py +0 -0
  186. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/SouthAyrshireCouncil.py +0 -0
  187. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/SouthCambridgeshireCouncil.py +0 -0
  188. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/SouthDerbyshireDistrictCouncil.py +0 -0
  189. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/SouthGloucestershireCouncil.py +0 -0
  190. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/SouthKestevenDistrictCouncil.py +0 -0
  191. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/SouthLanarkshireCouncil.py +0 -0
  192. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/SouthNorfolkCouncil.py +0 -0
  193. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/SouthOxfordshireCouncil.py +0 -0
  194. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/SouthRibbleCouncil.py +0 -0
  195. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/SouthTynesideCouncil.py +0 -0
  196. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/SouthwarkCouncil.py +0 -0
  197. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/StAlbansCityAndDistrictCouncil.py +0 -0
  198. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/StHelensBC.py +0 -0
  199. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/StaffordBoroughCouncil.py +0 -0
  200. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/StaffordshireMoorlandsDistrictCouncil.py +0 -0
  201. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/StockportBoroughCouncil.py +0 -0
  202. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/StocktonOnTeesCouncil.py +0 -0
  203. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/StokeOnTrentCityCouncil.py +0 -0
  204. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/StratfordUponAvonCouncil.py +0 -0
  205. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/StroudDistrictCouncil.py +0 -0
  206. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/SunderlandCityCouncil.py +0 -0
  207. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/SwaleBoroughCouncil.py +0 -0
  208. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/SwanseaCouncil.py +0 -0
  209. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/SwindonBoroughCouncil.py +0 -0
  210. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/TamesideMBCouncil.py +0 -0
  211. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/TandridgeDistrictCouncil.py +0 -0
  212. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/TeignbridgeCouncil.py +0 -0
  213. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/TelfordAndWrekinCouncil.py +0 -0
  214. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/TendringDistrictCouncil.py +0 -0
  215. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/TestValleyBoroughCouncil.py +0 -0
  216. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/ThreeRiversDistrictCouncil.py +0 -0
  217. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/TonbridgeAndMallingBC.py +0 -0
  218. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/TorbayCouncil.py +0 -0
  219. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/TorridgeDistrictCouncil.py +0 -0
  220. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/TunbridgeWellsCouncil.py +0 -0
  221. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/UttlesfordDistrictCouncil.py +0 -0
  222. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/ValeofGlamorganCouncil.py +0 -0
  223. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/ValeofWhiteHorseCouncil.py +0 -0
  224. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/WakefieldCityCouncil.py +0 -0
  225. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/WalsallCouncil.py +0 -0
  226. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/WalthamForest.py +0 -0
  227. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/WarwickDistrictCouncil.py +0 -0
  228. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/WatfordBoroughCouncil.py +0 -0
  229. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/WaverleyBoroughCouncil.py +0 -0
  230. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/WealdenDistrictCouncil.py +0 -0
  231. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/WelhatCouncil.py +0 -0
  232. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/WestBerkshireCouncil.py +0 -0
  233. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/WestLindseyDistrictCouncil.py +0 -0
  234. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/WestLothianCouncil.py +0 -0
  235. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/WestMorlandAndFurness.py +0 -0
  236. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/WestNorthamptonshireCouncil.py +0 -0
  237. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/WestOxfordshireDistrictCouncil.py +0 -0
  238. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/WestSuffolkCouncil.py +0 -0
  239. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/WiganBoroughCouncil.py +0 -0
  240. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/WiltshireCouncil.py +0 -0
  241. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/WinchesterCityCouncil.py +0 -0
  242. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/WindsorAndMaidenheadCouncil.py +0 -0
  243. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/WirralCouncil.py +0 -0
  244. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/WokingBoroughCouncil.py +0 -0
  245. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/WokinghamBoroughCouncil.py +0 -0
  246. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/WorcesterCityCouncil.py +0 -0
  247. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/WychavonDistrictCouncil.py +0 -0
  248. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/WyreCouncil.py +0 -0
  249. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/YorkCouncil.py +0 -0
  250. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/councils/council_class_template/councilclasstemplate.py +0 -0
  251. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/create_new_council.py +0 -0
  252. {uk_bin_collection-0.109.2 → uk_bin_collection-0.111.0}/uk_bin_collection/uk_bin_collection/get_bin_data.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: uk_bin_collection
3
- Version: 0.109.2
3
+ Version: 0.111.0
4
4
  Summary: Python Lib to collect UK Bin Data
5
5
  Author: Robert Bradley
6
6
  Author-email: robbrad182@gmail.com
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "uk_bin_collection"
3
- version = "0.109.2"
3
+ version = "0.111.0"
4
4
  description = "Python Lib to collect UK Bin Data"
5
5
  readme = "README.md"
6
6
  authors = ["Robert Bradley <robbrad182@gmail.com>"]
@@ -126,6 +126,13 @@
126
126
  "url": "https://www.birmingham.gov.uk/xfp/form/619",
127
127
  "wiki_name": "Birmingham City Council"
128
128
  },
129
+ "BlabyDistrictCouncil": {
130
+ "url": "https://www.blaby.gov.uk",
131
+ "wiki_command_url_override": "https://www.blaby.gov.uk",
132
+ "uprn": "100030401782",
133
+ "wiki_name": "Blaby District Council",
134
+ "wiki_note": "You will need to use [FindMyAddress](https://www.findmyaddress.co.uk/search) to find the UPRN."
135
+ },
129
136
  "BlackburnCouncil": {
130
137
  "skip_get_url": true,
131
138
  "uprn": "100010733027",
@@ -189,6 +196,13 @@
189
196
  "wiki_name": "Bromley Borough Council",
190
197
  "wiki_note": "Follow the instructions [here](https://recyclingservices.bromley.gov.uk/waste) until the \"Your bin days\" page then copy the URL and replace the URL in the command."
191
198
  },
199
+ "BromsgroveDistrictCouncil": {
200
+ "url": "https://www.bromsgrove.gov.uk",
201
+ "wiki_command_url_override": "https://www.bromsgrove.gov.uk",
202
+ "uprn": "100120584652",
203
+ "wiki_name": "Bromsgrove District Council",
204
+ "wiki_note": "You will need to use [FindMyAddress](https://www.findmyaddress.co.uk/search) to find the UPRN."
205
+ },
192
206
  "BroxtoweBoroughCouncil": {
193
207
  "postcode": "NG16 2LY",
194
208
  "skip_get_url": true,
@@ -243,6 +257,13 @@
243
257
  "url": "https://www.cardiff.gov.uk/ENG/resident/Rubbish-and-recycling/When-are-my-bins-collected/Pages/default.aspx",
244
258
  "wiki_name": "Cardiff Council"
245
259
  },
260
+ "CarmarthenshireCountyCouncil": {
261
+ "url": "https://www.carmarthenshire.gov.wales",
262
+ "wiki_command_url_override": "https://www.carmarthenshire.gov.wales",
263
+ "uprn": "10004859302",
264
+ "wiki_name": "Carmarthenshire County Council",
265
+ "wiki_note": "You will need to use [FindMyAddress](https://www.findmyaddress.co.uk/search) to find the UPRN."
266
+ },
246
267
  "CastlepointDistrictCouncil": {
247
268
  "skip_get_url": true,
248
269
  "uprn": "4525",
@@ -416,6 +437,13 @@
416
437
  "url": "https://www.ealing.gov.uk/site/custom_scripts/WasteCollectionWS/home/FindCollection",
417
438
  "wiki_name": "Ealing Council"
418
439
  },
440
+ "EastAyrshireCouncil": {
441
+ "url": "https://www.east-ayrshire.gov.uk",
442
+ "wiki_command_url_override": "https://www.east-ayrshire.gov.uk",
443
+ "uprn": "127074727",
444
+ "wiki_name": "East Ayrshire Council",
445
+ "wiki_note": "You will need to use [FindMyAddress](https://www.findmyaddress.co.uk/search) to find the UPRN."
446
+ },
419
447
  "EastCambridgeshireCouncil": {
420
448
  "skip_get_url": true,
421
449
  "uprn": "10002597178",
@@ -436,8 +464,8 @@
436
464
  "wiki_name": "East Herts Council"
437
465
  },
438
466
  "EastLindseyDistrictCouncil": {
439
- "house_number": "Raf Coningsby",
440
- "postcode": "LN4 4SY",
467
+ "house_number": "1",
468
+ "postcode": "PE22 0YD",
441
469
  "skip_get_url": true,
442
470
  "url": "https://www.e-lindsey.gov.uk/",
443
471
  "web_driver": "http://selenium:4444",
@@ -717,7 +745,7 @@
717
745
  "wiki_command_url_override": "https://lincoln.gov.uk",
718
746
  "uprn": "000235024846",
719
747
  "postcode": "LN5 7SH",
720
- "wiki_name": "Tunbridge Wells Council",
748
+ "wiki_name": "Lincoln Council",
721
749
  "wiki_note": "You will need to use [FindMyAddress](https://www.findmyaddress.co.uk/search) to find the UPRN."
722
750
  },
723
751
  "LisburnCastlereaghCityCouncil": {
@@ -766,6 +794,13 @@
766
794
  "wiki_name": "London Borough Redbridge",
767
795
  "wiki_note": "Follow the instructions [here](https://my.redbridge.gov.uk/RecycleRefuse) until you get the page listing your \"Address\" then copy the entire address text and use that in the house number field."
768
796
  },
797
+ "LondonBoroughSutton": {
798
+ "url": "https://waste-services.sutton.gov.uk/waste",
799
+ "wiki_command_url_override": "https://waste-services.sutton.gov.uk/waste",
800
+ "uprn": "4473006",
801
+ "wiki_name": "London Borough Sutton",
802
+ "wiki_note": "You will need to find your unique property reference by going to (https://waste-services.sutton.gov.uk/waste), entering your details and then using the 7 digit reference in the URL as your UPRN"
803
+ },
769
804
  "LutonBoroughCouncil": {
770
805
  "url": "https://myforms.luton.gov.uk",
771
806
  "wiki_command_url_override": "https://myforms.luton.gov.uk",
@@ -811,6 +846,13 @@
811
846
  "wiki_name": "Mid and East Antrim Borough Council",
812
847
  "wiki_note": "Pass the house name/number plus the name of the street with the postcode parameter, wrapped in double quotes. Check the address in the web site first. This version will only pick the first SHOW button returned by the search or if it is fully unique. The search is not very predictable (e.g. house number 4 returns 14,24,4,44 etc.)."
813
848
  },
849
+ "MidDevonCouncil": {
850
+ "url": "https://www.middevon.gov.uk",
851
+ "wiki_command_url_override": "https://www.middevon.gov.uk",
852
+ "uprn": "200003997770",
853
+ "wiki_name": "Mid Devon Council",
854
+ "wiki_note": "You will need to use [FindMyAddress](https://www.findmyaddress.co.uk/search) to find the UPRN."
855
+ },
814
856
  "MidlothianCouncil": {
815
857
  "house_number": "52",
816
858
  "postcode": "EH19 2EB",
@@ -993,6 +1035,14 @@
993
1035
  "wiki_name": "Oldham Council",
994
1036
  "wiki_note": "Replace UPRN in URL with your own UPRN."
995
1037
  },
1038
+ "OxfordCityCouncil": {
1039
+ "url": "https://www.oxford.gov.uk",
1040
+ "wiki_command_url_override": "https://www.oxford.gov.uk",
1041
+ "uprn": "100120820551",
1042
+ "postcode": "OX3 7QF",
1043
+ "wiki_name": "Oxford City Council",
1044
+ "wiki_note": "You will need to use [FindMyAddress](https://www.findmyaddress.co.uk/search) to find the UPRN."
1045
+ },
996
1046
  "PerthAndKinrossCouncil": {
997
1047
  "url": "https://www.pkc.gov.uk",
998
1048
  "wiki_command_url_override": "https://www.pkc.gov.uk",
@@ -1106,6 +1156,13 @@
1106
1156
  "url": "https://www.salford.gov.uk/bins-and-recycling/bin-collection-days/your-bin-collections",
1107
1157
  "wiki_name": "Salford City Council"
1108
1158
  },
1159
+ "SeftonCouncil": {
1160
+ "house_number": "1",
1161
+ "postcode": "L20 6GG",
1162
+ "url": "https://www.sefton.gov.uk",
1163
+ "wiki_name": "Sefton Council",
1164
+ "wiki_note": "Pass the postcode and house number in their respective arguments, both wrapped in quotes."
1165
+ },
1109
1166
  "SevenoaksDistrictCouncil": {
1110
1167
  "house_number": "60 Hever Road",
1111
1168
  "postcode": "TN15 6EB",
@@ -0,0 +1,56 @@
1
+ import requests
2
+ from bs4 import BeautifulSoup
3
+
4
+ from uk_bin_collection.uk_bin_collection.common import *
5
+ from uk_bin_collection.uk_bin_collection.get_bin_data import AbstractGetBinDataClass
6
+
7
+
8
+ # import the wonderful Beautiful Soup and the URL grabber
9
+ class CouncilClass(AbstractGetBinDataClass):
10
+ """
11
+ Concrete classes have to implement all abstract operations of the
12
+ base class. They can also override some operations with a default
13
+ implementation.
14
+ """
15
+
16
+ def parse_data(self, page: str, **kwargs) -> dict:
17
+
18
+ user_uprn = kwargs.get("uprn")
19
+ check_uprn(user_uprn)
20
+ bindata = {"bins": []}
21
+
22
+ URI = f"https://my.blaby.gov.uk/set-location.php?ref={user_uprn}&redirect=collections"
23
+
24
+ # Make the GET request
25
+ response = requests.get(URI)
26
+
27
+ # Parse the HTML
28
+ soup = BeautifulSoup(response.content, "html.parser")
29
+
30
+ # Find each collection container based on the class "box-item"
31
+ for container in soup.find_all(class_="box-item"):
32
+
33
+ # Get the next collection dates from the <p> tag containing <strong>
34
+ dates_tag = (
35
+ container.find("p", string=lambda text: "Next" in text)
36
+ .find_next("p")
37
+ .find("strong")
38
+ )
39
+ collection_dates = (
40
+ dates_tag.text.strip().split(", and then ")
41
+ if dates_tag
42
+ else "No dates found"
43
+ )
44
+
45
+ for collection_date in collection_dates:
46
+ dict_data = {
47
+ "type": container.find("h2").text.strip(),
48
+ "collectionDate": collection_date,
49
+ }
50
+ bindata["bins"].append(dict_data)
51
+
52
+ bindata["bins"].sort(
53
+ key=lambda x: datetime.strptime(x.get("collectionDate"), "%d/%m/%Y")
54
+ )
55
+
56
+ return bindata
@@ -0,0 +1,55 @@
1
+ import requests
2
+ from bs4 import BeautifulSoup
3
+
4
+ from uk_bin_collection.uk_bin_collection.common import *
5
+ from uk_bin_collection.uk_bin_collection.get_bin_data import AbstractGetBinDataClass
6
+
7
+
8
+ # import the wonderful Beautiful Soup and the URL grabber
9
+ class CouncilClass(AbstractGetBinDataClass):
10
+ """
11
+ Concrete classes have to implement all abstract operations of the
12
+ base class. They can also override some operations with a default
13
+ implementation.
14
+ """
15
+
16
+ def parse_data(self, page: str, **kwargs) -> dict:
17
+
18
+ user_uprn = kwargs.get("uprn")
19
+ check_uprn(user_uprn)
20
+ bindata = {"bins": []}
21
+
22
+ URI = f"https://bincollections.bromsgrove.gov.uk/BinCollections/Details?uprn={user_uprn}"
23
+
24
+ # Make the GET request
25
+ response = requests.get(URI)
26
+
27
+ # Parse the HTML
28
+ soup = BeautifulSoup(response.content, "html.parser")
29
+
30
+ # Find each collection container
31
+ for container in soup.find_all(class_="collection-container"):
32
+ # Get the bin type from the heading
33
+ bin_type = container.find(class_="heading").text.strip()
34
+
35
+ # Get the next collection date from the caption
36
+ next_collection = (
37
+ container.find(class_="caption")
38
+ .text.replace("Next collection ", "")
39
+ .strip()
40
+ )
41
+
42
+ dict_data = {
43
+ "type": bin_type,
44
+ "collectionDate": datetime.strptime(
45
+ next_collection,
46
+ "%A, %d %B %Y",
47
+ ).strftime("%d/%m/%Y"),
48
+ }
49
+ bindata["bins"].append(dict_data)
50
+
51
+ bindata["bins"].sort(
52
+ key=lambda x: datetime.strptime(x.get("collectionDate"), "%d/%m/%Y")
53
+ )
54
+
55
+ return bindata
@@ -0,0 +1,55 @@
1
+ import requests
2
+ from bs4 import BeautifulSoup
3
+
4
+ from uk_bin_collection.uk_bin_collection.common import *
5
+ from uk_bin_collection.uk_bin_collection.get_bin_data import AbstractGetBinDataClass
6
+
7
+
8
+ # import the wonderful Beautiful Soup and the URL grabber
9
+ class CouncilClass(AbstractGetBinDataClass):
10
+ """
11
+ Concrete classes have to implement all abstract operations of the
12
+ base class. They can also override some operations with a default
13
+ implementation.
14
+ """
15
+
16
+ def parse_data(self, page: str, **kwargs) -> dict:
17
+
18
+ user_uprn = kwargs.get("uprn")
19
+ check_uprn(user_uprn)
20
+ bindata = {"bins": []}
21
+
22
+ URI = f"https://www.carmarthenshire.gov.wales/umbraco/Surface/SurfaceRecycling/Index/?uprn={user_uprn}&lang=en-GB"
23
+
24
+ # Make the GET request
25
+ response = requests.get(URI)
26
+
27
+ # Parse the HTML
28
+ soup = BeautifulSoup(response.content, "html.parser")
29
+
30
+ # Find each bin collection container
31
+ for container in soup.find_all(class_="bin-day-container"):
32
+ # Get the bin type based on the class (e.g., Blue, Black, Garden, Nappy)
33
+ bin_type = container.get("class")[1] # Second class represents the bin type
34
+
35
+ # Find the next collection date
36
+ date_tag = container.find(class_="font11 text-center")
37
+ if date_tag:
38
+ collection_date = date_tag.text.strip()
39
+ else:
40
+ continue
41
+
42
+ dict_data = {
43
+ "type": bin_type,
44
+ "collectionDate": datetime.strptime(
45
+ collection_date,
46
+ "%A %d/%m/%Y",
47
+ ).strftime("%d/%m/%Y"),
48
+ }
49
+ bindata["bins"].append(dict_data)
50
+
51
+ bindata["bins"].sort(
52
+ key=lambda x: datetime.strptime(x.get("collectionDate"), "%d/%m/%Y")
53
+ )
54
+
55
+ return bindata
@@ -0,0 +1,46 @@
1
+ import requests
2
+ from bs4 import BeautifulSoup
3
+
4
+ from uk_bin_collection.uk_bin_collection.common import *
5
+ from uk_bin_collection.uk_bin_collection.get_bin_data import AbstractGetBinDataClass
6
+
7
+
8
+ # import the wonderful Beautiful Soup and the URL grabber
9
+ class CouncilClass(AbstractGetBinDataClass):
10
+ """
11
+ Concrete classes have to implement all abstract operations of the
12
+ base class. They can also override some operations with a default
13
+ implementation.
14
+ """
15
+
16
+ def parse_data(self, page: str, **kwargs) -> dict:
17
+
18
+ user_uprn = kwargs.get("uprn")
19
+ check_uprn(user_uprn)
20
+ bindata = {"bins": []}
21
+
22
+ URI = f"https://www.east-ayrshire.gov.uk/Housing/RubbishAndRecycling/Collection-days/ViewYourRecyclingCalendar.aspx?r={user_uprn}"
23
+
24
+ # Make the GET request
25
+ response = requests.get(URI)
26
+
27
+ # Parse the HTML
28
+ soup = BeautifulSoup(response.content, "html.parser")
29
+
30
+ # Find each <time> element in the schedule
31
+ for entry in soup.find_all("time"):
32
+
33
+ dict_data = {
34
+ "type": entry.find(class_="ScheduleItem").text.strip(),
35
+ "collectionDate": datetime.strptime(
36
+ entry["datetime"],
37
+ "%Y-%m-%d",
38
+ ).strftime("%d/%m/%Y"),
39
+ }
40
+ bindata["bins"].append(dict_data)
41
+
42
+ bindata["bins"].sort(
43
+ key=lambda x: datetime.strptime(x.get("collectionDate"), "%d/%m/%Y")
44
+ )
45
+
46
+ return bindata
@@ -28,14 +28,12 @@ class CouncilClass(AbstractGetBinDataClass):
28
28
 
29
29
  # Create Selenium webdriver
30
30
  driver = create_webdriver(web_driver, headless, None, __name__)
31
- driver.get(
32
- "https://www.e-lindsey.gov.uk/article/6714/Your-Waste-Collection-Days"
33
- )
31
+ driver.get("https://www.e-lindsey.gov.uk/mywastecollections")
34
32
 
35
33
  # Wait for the postcode field to appear then populate it
36
34
  inputElement_postcode = WebDriverWait(driver, 30).until(
37
35
  EC.presence_of_element_located(
38
- (By.ID, "WASTECOLLECTIONDAYS202324_LOOKUP_ADDRESSLOOKUPPOSTCODE")
36
+ (By.ID, "WASTECOLLECTIONDAYS202425_LOOKUP_ADDRESSLOOKUPPOSTCODE")
39
37
  )
40
38
  )
41
39
  inputElement_postcode.send_keys(user_postcode)
@@ -43,7 +41,7 @@ class CouncilClass(AbstractGetBinDataClass):
43
41
  # Click search button
44
42
  findAddress = WebDriverWait(driver, 10).until(
45
43
  EC.presence_of_element_located(
46
- (By.ID, "WASTECOLLECTIONDAYS202324_LOOKUP_ADDRESSLOOKUPSEARCH")
44
+ (By.ID, "WASTECOLLECTIONDAYS202425_LOOKUP_ADDRESSLOOKUPSEARCH")
47
45
  )
48
46
  )
49
47
  findAddress.click()
@@ -53,7 +51,7 @@ class CouncilClass(AbstractGetBinDataClass):
53
51
  EC.element_to_be_clickable(
54
52
  (
55
53
  By.XPATH,
56
- "//select[@id='WASTECOLLECTIONDAYS202324_LOOKUP_ADDRESSLOOKUPADDRESS']//option[contains(., '"
54
+ "//select[@id='WASTECOLLECTIONDAYS202425_LOOKUP_ADDRESSLOOKUPADDRESS']//option[contains(., '"
57
55
  + user_paon
58
56
  + "')]",
59
57
  )
@@ -63,7 +61,7 @@ class CouncilClass(AbstractGetBinDataClass):
63
61
  # Wait for the submit button to appear, then click it to get the collection dates
64
62
  submit = WebDriverWait(driver, 10).until(
65
63
  EC.presence_of_element_located(
66
- (By.ID, "WASTECOLLECTIONDAYS202324_LOOKUP_FIELD2_NEXT")
64
+ (By.ID, "WASTECOLLECTIONDAYS202425_LOOKUP_FIELD2_NEXT")
67
65
  )
68
66
  )
69
67
  submit.click()
@@ -77,25 +75,25 @@ class CouncilClass(AbstractGetBinDataClass):
77
75
 
78
76
  # Get collections
79
77
  for collection in soup.find_all("div", {"class": "waste-result"}):
80
- ptags = collection.find_all("p")
81
- dict_data = {
82
- "type": collection.find("h3").get_text(strip=True),
83
- "collectionDate": datetime.strptime(
84
- remove_ordinal_indicator_from_date_string(
85
- ptags[1]
86
- .get_text()
87
- .replace("The date of your next collection is", "")
88
- .replace(".", "")
89
- .strip()
90
- ),
91
- "%A %d %B %Y",
92
- ).strftime(date_format),
93
- }
94
- data["bins"].append(dict_data)
78
+ collection_date = None
79
+ for p_tag in collection.find_all("p"):
80
+ if "next collection is" in p_tag.text:
81
+ collection_date = p_tag.find("strong").text
82
+ break
83
+ if collection_date:
84
+ dict_data = {
85
+ "type": collection.find("h3").get_text(strip=True),
86
+ "collectionDate": datetime.strptime(
87
+ remove_ordinal_indicator_from_date_string(collection_date),
88
+ "%A %d %B %Y",
89
+ ).strftime(date_format),
90
+ }
91
+ data["bins"].append(dict_data)
95
92
 
96
93
  data["bins"].sort(
97
94
  key=lambda x: datetime.strptime(x.get("collectionDate"), "%d/%m/%Y")
98
95
  )
96
+
99
97
  except Exception as e:
100
98
  # Here you can log the exception if needed
101
99
  print(f"An error occurred: {e}")
@@ -38,7 +38,7 @@ class CouncilClass(AbstractGetBinDataClass):
38
38
  for icon in icons:
39
39
  cal_item = icon.find_parent().find_parent()
40
40
  bin_date = datetime.strptime(
41
- cal_item["title"],
41
+ cal_item["title"].replace("today is ", ""),
42
42
  "%A, %d %B %Y",
43
43
  )
44
44
 
@@ -0,0 +1,75 @@
1
+ from time import sleep
2
+
3
+ import requests
4
+ from bs4 import BeautifulSoup
5
+
6
+ from uk_bin_collection.uk_bin_collection.common import *
7
+ from uk_bin_collection.uk_bin_collection.get_bin_data import AbstractGetBinDataClass
8
+
9
+
10
+ # import the wonderful Beautiful Soup and the URL grabber
11
+ class CouncilClass(AbstractGetBinDataClass):
12
+ """
13
+ Concrete classes have to implement all abstract operations of the
14
+ base class. They can also override some operations with a default
15
+ implementation.
16
+ """
17
+
18
+ def parse_data(self, page: str, **kwargs) -> dict:
19
+
20
+ user_uprn = kwargs.get("uprn")
21
+ # check_uprn(user_uprn)
22
+ bindata = {"bins": []}
23
+
24
+ URI = f"https://waste-services.sutton.gov.uk/waste/{user_uprn}"
25
+
26
+ s = requests.Session()
27
+
28
+ r = s.get(URI)
29
+ while "Loading your bin days..." in r.text:
30
+ sleep(2)
31
+ r = s.get(URI)
32
+ r.raise_for_status()
33
+
34
+ soup = BeautifulSoup(r.content, "html.parser")
35
+
36
+ current_year = datetime.now().year
37
+ next_year = current_year + 1
38
+
39
+ services = soup.find_all("h3", class_="govuk-heading-m waste-service-name")
40
+
41
+ for service in services:
42
+ bin_type = service.get_text(
43
+ strip=True
44
+ ) # Bin type name (e.g., 'Food waste', 'Mixed recycling')
45
+ if bin_type == "Bulky waste":
46
+ continue
47
+ service_details = service.find_next("div", class_="govuk-grid-row")
48
+
49
+ next_collection = (
50
+ service_details.find("dt", string="Next collection")
51
+ .find_next_sibling("dd")
52
+ .get_text(strip=True)
53
+ )
54
+
55
+ next_collection = datetime.strptime(
56
+ remove_ordinal_indicator_from_date_string(next_collection),
57
+ "%A, %d %B",
58
+ )
59
+
60
+ if next_collection.month == 1:
61
+ next_collection = next_collection.replace(year=next_year)
62
+ else:
63
+ next_collection = next_collection.replace(year=current_year)
64
+
65
+ dict_data = {
66
+ "type": bin_type,
67
+ "collectionDate": next_collection.strftime("%d/%m/%Y"),
68
+ }
69
+ bindata["bins"].append(dict_data)
70
+
71
+ bindata["bins"].sort(
72
+ key=lambda x: datetime.strptime(x.get("collectionDate"), "%d/%m/%Y")
73
+ )
74
+
75
+ return bindata
@@ -0,0 +1,93 @@
1
+ import time
2
+
3
+ import requests
4
+
5
+ from uk_bin_collection.uk_bin_collection.common import *
6
+ from uk_bin_collection.uk_bin_collection.get_bin_data import AbstractGetBinDataClass
7
+
8
+
9
+ # import the wonderful Beautiful Soup and the URL grabber
10
+ class CouncilClass(AbstractGetBinDataClass):
11
+ """
12
+ Concrete classes have to implement all abstract operations of the
13
+ base class. They can also override some operations with a default
14
+ implementation.
15
+ """
16
+
17
+ def parse_data(self, page: str, **kwargs) -> dict:
18
+
19
+ user_uprn = kwargs.get("uprn")
20
+ check_uprn(user_uprn)
21
+ bindata = {"bins": []}
22
+
23
+ SESSION_URL = "https://my.middevon.gov.uk/authapi/isauthenticated?uri=https%253A%252F%252Fmy.middevon.gov.uk%252Fen%252FAchieveForms%252F%253Fform_uri%253Dsandbox-publish%253A%252F%252FAF-Process-2289dd06-9a12-4202-ba09-857fe756f6bd%252FAF-Stage-eb382015-001c-415d-beda-84f796dbb167%252Fdefinition.json%2526redirectlink%253D%25252Fen%2526cancelRedirectLink%253D%25252Fen%2526consentMessage%253Dyes&hostname=my.middevon.gov.uk&withCredentials=true"
24
+
25
+ API_URL = "https://my.middevon.gov.uk/apibroker/runLookup"
26
+
27
+ payload = {
28
+ "formValues": {
29
+ "Your Address": {
30
+ "listAddress": {"value": user_uprn},
31
+ },
32
+ },
33
+ }
34
+
35
+ headers = {
36
+ "Content-Type": "application/json",
37
+ "Accept": "application/json",
38
+ "User-Agent": "Mozilla/5.0",
39
+ "X-Requested-With": "XMLHttpRequest",
40
+ "Referer": "https://my.middevon.gov.uk/fillform/?iframe_id=fillform-frame-1&db_id=",
41
+ }
42
+
43
+ ids = [
44
+ "6423144f50ec0",
45
+ "641c7ae9b4c96",
46
+ "645e13a01dba1",
47
+ "642315aacb919",
48
+ "64231699483cf",
49
+ "642421bab7478",
50
+ "6424229605d13",
51
+ "645e14020c9cc",
52
+ ]
53
+
54
+ rows_data = []
55
+
56
+ for id in ids:
57
+ s = requests.session()
58
+ r = s.get(SESSION_URL)
59
+ r.raise_for_status()
60
+ session_data = r.json()
61
+ sid = session_data["auth-session"]
62
+
63
+ params = {
64
+ "id": id,
65
+ "repeat_against": "",
66
+ "noRetry": "false",
67
+ "getOnlyTokens": "undefined",
68
+ "log_id": "",
69
+ "app_name": "AF-Renderer::Self",
70
+ # unix_timestamp
71
+ "_": str(int(time.time() * 1000)),
72
+ "sid": sid,
73
+ }
74
+ r = s.post(API_URL, json=payload, headers=headers, params=params)
75
+ r.raise_for_status()
76
+ data = r.json()
77
+ rows_data = data["integration"]["transformed"]["rows_data"]
78
+ if isinstance(rows_data, dict):
79
+ date = datetime.strptime(rows_data["0"]["display"], "%d-%b-%y")
80
+ bin_types = (rows_data["0"]["CollectionItems"]).split(" and ")
81
+
82
+ for bin_type in bin_types:
83
+ dict_data = {
84
+ "type": bin_type,
85
+ "collectionDate": date.strftime(date_format),
86
+ }
87
+ bindata["bins"].append(dict_data)
88
+
89
+ bindata["bins"].sort(
90
+ key=lambda x: datetime.strptime(x.get("collectionDate"), "%d/%m/%Y")
91
+ )
92
+
93
+ return bindata