uk_bin_collection 0.82.0__tar.gz → 0.83.0__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.
Files changed (189) hide show
  1. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/PKG-INFO +1 -1
  2. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/pyproject.toml +1 -1
  3. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/tests/input.json +6 -6
  4. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/common.py +9 -0
  5. uk_bin_collection-0.83.0/uk_bin_collection/uk_bin_collection/councils/DorsetCouncil.py +42 -0
  6. uk_bin_collection-0.83.0/uk_bin_collection/uk_bin_collection/councils/GedlingBoroughCouncil.py +54 -0
  7. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/get_bin_data.py +1 -1
  8. uk_bin_collection-0.82.0/uk_bin_collection/uk_bin_collection/councils/DorsetCouncil.py +0 -58
  9. uk_bin_collection-0.82.0/uk_bin_collection/uk_bin_collection/councils/GedlingBoroughCouncil.py +0 -1580
  10. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/LICENSE +0 -0
  11. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/README.md +0 -0
  12. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/README.rst +0 -0
  13. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/tests/council_feature_input_parity.py +0 -0
  14. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/tests/features/environment.py +0 -0
  15. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/tests/features/validate_council_outputs.feature +0 -0
  16. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/tests/output.schema +0 -0
  17. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/tests/step_defs/step_helpers/file_handler.py +0 -0
  18. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/tests/step_defs/test_validate_council.py +0 -0
  19. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/tests/test_collect_data.py +0 -0
  20. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/tests/test_common_functions.py +0 -0
  21. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/collect_data.py +0 -0
  22. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/AdurAndWorthingCouncils.py +0 -0
  23. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/ArunCouncil.py +0 -0
  24. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/AylesburyValeCouncil.py +0 -0
  25. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/BCPCouncil.py +0 -0
  26. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/BarnetCouncil.py +0 -0
  27. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/BarnsleyMBCouncil.py +0 -0
  28. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/BasingstokeCouncil.py +0 -0
  29. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/BathAndNorthEastSomersetCouncil.py +0 -0
  30. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/BedfordBoroughCouncil.py +0 -0
  31. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/BedfordshireCouncil.py +0 -0
  32. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/BexleyCouncil.py +0 -0
  33. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/BirminghamCityCouncil.py +0 -0
  34. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/BlackburnCouncil.py +0 -0
  35. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/BoltonCouncil.py +0 -0
  36. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/BracknellForestCouncil.py +0 -0
  37. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/BradfordMDC.py +0 -0
  38. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/BrightonandHoveCityCouncil.py +0 -0
  39. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/BristolCityCouncil.py +0 -0
  40. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/BromleyBoroughCouncil.py +0 -0
  41. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/BroxtoweBoroughCouncil.py +0 -0
  42. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/BuckinghamshireCouncil.py +0 -0
  43. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/BuryCouncil.py +0 -0
  44. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/CalderdaleCouncil.py +0 -0
  45. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/CannockChaseDistrictCouncil.py +0 -0
  46. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/CardiffCouncil.py +0 -0
  47. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/CastlepointDistrictCouncil.py +0 -0
  48. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/CharnwoodBoroughCouncil.py +0 -0
  49. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/ChelmsfordCityCouncil.py +0 -0
  50. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/CheshireEastCouncil.py +0 -0
  51. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/CheshireWestAndChesterCouncil.py +0 -0
  52. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/ChichesterDistrictCouncil.py +0 -0
  53. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/ChorleyCouncil.py +0 -0
  54. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/ConwyCountyBorough.py +0 -0
  55. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/CrawleyBoroughCouncil.py +0 -0
  56. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/CroydonCouncil.py +0 -0
  57. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/DartfordBoroughCouncil.py +0 -0
  58. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/DerbyshireDalesDistrictCouncil.py +0 -0
  59. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/DoncasterCouncil.py +0 -0
  60. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/DoverDistrictCouncil.py +0 -0
  61. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/DurhamCouncil.py +0 -0
  62. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/EastCambridgeshireCouncil.py +0 -0
  63. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/EastDevonDC.py +0 -0
  64. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/EastLindseyDistrictCouncil.py +0 -0
  65. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/EastRidingCouncil.py +0 -0
  66. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/EastSuffolkCouncil.py +0 -0
  67. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/EastleighBoroughCouncil.py +0 -0
  68. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/EnvironmentFirst.py +0 -0
  69. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/EppingForestDistrictCouncil.py +0 -0
  70. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/ErewashBoroughCouncil.py +0 -0
  71. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/FarehamBoroughCouncil.py +0 -0
  72. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/FenlandDistrictCouncil.py +0 -0
  73. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/ForestOfDeanDistrictCouncil.py +0 -0
  74. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/GatesheadCouncil.py +0 -0
  75. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/GlasgowCityCouncil.py +0 -0
  76. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/GuildfordCouncil.py +0 -0
  77. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/HaltonBoroughCouncil.py +0 -0
  78. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/HaringeyCouncil.py +0 -0
  79. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/HarrogateBoroughCouncil.py +0 -0
  80. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/HighPeakCouncil.py +0 -0
  81. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/HounslowCouncil.py +0 -0
  82. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/HullCityCouncil.py +0 -0
  83. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/HuntingdonDistrictCouncil.py +0 -0
  84. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/KingstonUponThamesCouncil.py +0 -0
  85. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/KirkleesCouncil.py +0 -0
  86. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/KnowsleyMBCouncil.py +0 -0
  87. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/LancasterCityCouncil.py +0 -0
  88. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/LeedsCityCouncil.py +0 -0
  89. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/LisburnCastlereaghCityCouncil.py +0 -0
  90. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/LiverpoolCityCouncil.py +0 -0
  91. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/LondonBoroughHounslow.py +0 -0
  92. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/LondonBoroughRedbridge.py +0 -0
  93. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/MaldonDistrictCouncil.py +0 -0
  94. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/MalvernHillsDC.py +0 -0
  95. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/ManchesterCityCouncil.py +0 -0
  96. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/MansfieldDistrictCouncil.py +0 -0
  97. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/MertonCouncil.py +0 -0
  98. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/MidAndEastAntrimBoroughCouncil.py +0 -0
  99. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/MidSussexDistrictCouncil.py +0 -0
  100. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/MiltonKeynesCityCouncil.py +0 -0
  101. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/MoleValleyDistrictCouncil.py +0 -0
  102. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/NeathPortTalbotCouncil.py +0 -0
  103. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/NewForestCouncil.py +0 -0
  104. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/NewarkAndSherwoodDC.py +0 -0
  105. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/NewcastleCityCouncil.py +0 -0
  106. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/NewhamCouncil.py +0 -0
  107. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/NewportCityCouncil.py +0 -0
  108. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/NorthEastDerbyshireDistrictCouncil.py +0 -0
  109. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/NorthEastLincs.py +0 -0
  110. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/NorthKestevenDistrictCouncil.py +0 -0
  111. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/NorthLanarkshireCouncil.py +0 -0
  112. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/NorthLincolnshireCouncil.py +0 -0
  113. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/NorthNorfolkDistrictCouncil.py +0 -0
  114. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/NorthNorthamptonshireCouncil.py +0 -0
  115. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/NorthSomersetCouncil.py +0 -0
  116. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/NorthTynesideCouncil.py +0 -0
  117. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/NorthWestLeicestershire.py +0 -0
  118. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/NorthYorkshire.py +0 -0
  119. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/NorthumberlandCouncil.py +0 -0
  120. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/NottinghamCityCouncil.py +0 -0
  121. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/OldhamCouncil.py +0 -0
  122. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/PortsmouthCityCouncil.py +0 -0
  123. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/PrestonCityCouncil.py +0 -0
  124. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/ReadingBoroughCouncil.py +0 -0
  125. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/ReigateAndBansteadBoroughCouncil.py +0 -0
  126. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/RenfrewshireCouncil.py +0 -0
  127. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/RhonddaCynonTaffCouncil.py +0 -0
  128. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/RochdaleCouncil.py +0 -0
  129. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/RochfordCouncil.py +0 -0
  130. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/RugbyBoroughCouncil.py +0 -0
  131. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/RushcliffeBoroughCouncil.py +0 -0
  132. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/RushmoorCouncil.py +0 -0
  133. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/SalfordCityCouncil.py +0 -0
  134. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/SevenoaksDistrictCouncil.py +0 -0
  135. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/SheffieldCityCouncil.py +0 -0
  136. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/ShropshireCouncil.py +0 -0
  137. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/SolihullCouncil.py +0 -0
  138. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/SomersetCouncil.py +0 -0
  139. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/SouthAyrshireCouncil.py +0 -0
  140. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/SouthCambridgeshireCouncil.py +0 -0
  141. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/SouthGloucestershireCouncil.py +0 -0
  142. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/SouthKestevenDistrictCouncil.py +0 -0
  143. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/SouthLanarkshireCouncil.py +0 -0
  144. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/SouthNorfolkCouncil.py +0 -0
  145. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/SouthOxfordshireCouncil.py +0 -0
  146. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/SouthTynesideCouncil.py +0 -0
  147. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/StAlbansCityAndDistrictCouncil.py +0 -0
  148. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/StHelensBC.py +0 -0
  149. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/StaffordBoroughCouncil.py +0 -0
  150. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/StaffordshireMoorlandsDistrictCouncil.py +0 -0
  151. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/StockportBoroughCouncil.py +0 -0
  152. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/StokeOnTrentCityCouncil.py +0 -0
  153. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/StratfordUponAvonCouncil.py +0 -0
  154. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/StroudDistrictCouncil.py +0 -0
  155. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/SunderlandCityCouncil.py +0 -0
  156. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/SwaleBoroughCouncil.py +0 -0
  157. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/SwanseaCouncil.py +0 -0
  158. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/TamesideMBCouncil.py +0 -0
  159. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/TandridgeDistrictCouncil.py +0 -0
  160. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/TelfordAndWrekinCouncil.py +0 -0
  161. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/TendringDistrictCouncil.py +0 -0
  162. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/TestValleyBoroughCouncil.py +0 -0
  163. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/ThreeRiversDistrictCouncil.py +0 -0
  164. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/TonbridgeAndMallingBC.py +0 -0
  165. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/TorbayCouncil.py +0 -0
  166. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/TorridgeDistrictCouncil.py +0 -0
  167. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/UttlesfordDistrictCouncil.py +0 -0
  168. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/ValeofGlamorganCouncil.py +0 -0
  169. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/ValeofWhiteHorseCouncil.py +0 -0
  170. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/WakefieldCityCouncil.py +0 -0
  171. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/WalthamForest.py +0 -0
  172. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/WarwickDistrictCouncil.py +0 -0
  173. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/WaverleyBoroughCouncil.py +0 -0
  174. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/WealdenDistrictCouncil.py +0 -0
  175. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/WelhatCouncil.py +0 -0
  176. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/WestBerkshireCouncil.py +0 -0
  177. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/WestLindseyDistrictCouncil.py +0 -0
  178. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/WestLothianCouncil.py +0 -0
  179. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/WestNorthamptonshireCouncil.py +0 -0
  180. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/WestSuffolkCouncil.py +0 -0
  181. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/WiganBoroughCouncil.py +0 -0
  182. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/WiltshireCouncil.py +0 -0
  183. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/WindsorAndMaidenheadCouncil.py +0 -0
  184. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/WokingBoroughCouncil.py +0 -0
  185. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/WychavonDistrictCouncil.py +0 -0
  186. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/WyreCouncil.py +0 -0
  187. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/YorkCouncil.py +0 -0
  188. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/councils/council_class_template/councilclasstemplate.py +0 -0
  189. {uk_bin_collection-0.82.0 → uk_bin_collection-0.83.0}/uk_bin_collection/uk_bin_collection/create_new_council.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: uk_bin_collection
3
- Version: 0.82.0
3
+ Version: 0.83.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.82.0"
3
+ version = "0.83.0"
4
4
  description = "Python Lib to collect UK Bin Data"
5
5
  readme = "README.md"
6
6
  authors = ["Robert Bradley <robbrad182@gmail.com>"]
@@ -283,10 +283,10 @@
283
283
  "wiki_name": "Doncaster Council"
284
284
  },
285
285
  "DorsetCouncil": {
286
- "url": "https://gi.dorsetcouncil.gov.uk/mapping/mylocal/viewresults/100040711049",
287
- "wiki_command_url_override": "https://gi.dorsetcouncil.gov.uk/mapping/mylocal/viewresults/XXXXXXXX",
288
- "wiki_name": "Dorset Council",
289
- "wiki_note": "Replace XXXXXXXX with UPRN."
286
+ "skip_get_url": true,
287
+ "url": "https://www.dorsetcouncil.gov.uk/",
288
+ "uprn": "100040711049",
289
+ "wiki_name": "Dorset Council"
290
290
  },
291
291
  "DoverDistrictCouncil": {
292
292
  "url": "https://collections.dover.gov.uk/property/100060908340",
@@ -393,11 +393,11 @@
393
393
  "wiki_note": "Pass the house name/number in the house number parameter, wrapped in double quotes"
394
394
  },
395
395
  "GedlingBoroughCouncil": {
396
- "house_number": "Valeside Gardens",
396
+ "house_number": "Friday G4, Friday J",
397
397
  "skip_get_url": true,
398
398
  "url": "https://www.gedling.gov.uk/",
399
399
  "wiki_name": "Gedling Borough Council",
400
- "wiki_note": "Pass the street name into the -n parameter. Use [this](https://apps.gedling.gov.uk/refuse/search.aspx) to help work out a street search that is unique. Known issues: 1) If multiple streets returned, it will pick the first and these may have different bin schedules. 2) This data is hand entered as council only provide non-parseable non-accessible PDFs - Please double check for any issues. 2b) Data is only included until end of Nov 2024 (refuse) and March 2024 (Garden). Data will need to be updated by hand after these dates."
400
+ "wiki_note": "Use [this site](https://www.gbcbincalendars.co.uk/) to find the collections for your address. Use the -n parameter to add them in a comma-separated list inside quotes, such as: 'Friday G4, Friday J'."
401
401
  },
402
402
  "GlasgowCityCouncil": {
403
403
  "url": "https://www.glasgow.gov.uk/forms/refuseandrecyclingcalendar/PrintCalendar.aspx?UPRN=906700034497",
@@ -106,6 +106,15 @@ def get_date_with_ordinal(date_number: int) -> str:
106
106
  else {1: "st", 2: "nd", 3: "rd"}.get(date_number % 10, "th")
107
107
  )
108
108
 
109
+ def has_numbers(inputString: str) -> bool:
110
+ """
111
+
112
+ :rtype: bool
113
+ :param inputString: String to check for numbers
114
+ :return: True if any numbers are found in input string
115
+ """
116
+ return any(char.isdigit() for char in inputString)
117
+
109
118
 
110
119
  def remove_ordinal_indicator_from_date_string(date_string: str) -> str:
111
120
  """
@@ -0,0 +1,42 @@
1
+ from bs4 import BeautifulSoup, element
2
+ from uk_bin_collection.uk_bin_collection.common import *
3
+ from uk_bin_collection.uk_bin_collection.get_bin_data import AbstractGetBinDataClass
4
+
5
+
6
+ # import the wonderful Beautiful Soup and the URL grabber
7
+ class CouncilClass(AbstractGetBinDataClass):
8
+ """
9
+ Concrete classes have to implement all abstract operations of the
10
+ base class. They can also override some operations with a default
11
+ implementation.
12
+ """
13
+
14
+ def parse_data(self, page: str, **kwargs) -> dict:
15
+ data = {"bins": []}
16
+ collections = []
17
+ url_base = "https://geoapi.dorsetcouncil.gov.uk/v1/services/"
18
+ url_types = ["recyclingday", "refuseday", "foodwasteday", "gardenwasteday"]
19
+
20
+ uprn = kwargs.get("uprn")
21
+ # Check the UPRN is valid
22
+ check_uprn(uprn)
23
+
24
+ for url_type in url_types:
25
+ response = requests.get(f"{url_base}{url_type}/{uprn}")
26
+ if response.status_code != 200:
27
+ raise ConnectionError(f"Could not fetch from {url_type} endpoint")
28
+ json_data = response.json()["values"][0]
29
+ collections.append((f"{json_data.get('type')} bin", datetime.strptime(json_data.get('dateNextVisit'), "%Y-%m-%d")))
30
+
31
+ # Sort the text and date elements by date
32
+ ordered_data = sorted(collections, key=lambda x: x[1])
33
+
34
+ # Put the elements into the dictionary
35
+ for item in ordered_data:
36
+ dict_data = {
37
+ "type": item[0],
38
+ "collectionDate": item[1].strftime(date_format),
39
+ }
40
+ data["bins"].append(dict_data)
41
+
42
+ return data
@@ -0,0 +1,54 @@
1
+ from bs4 import BeautifulSoup
2
+ import urllib.parse
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
+ data = {"bins": []}
18
+ collections = []
19
+ selected_collections = kwargs.get("paon").split(',')
20
+ calendar_urls = []
21
+ run_date = datetime.now().date()
22
+
23
+ # For each collection, check if there's a number. Garden bins have no numbers, so we can generate the needed
24
+ # URLs this way
25
+ for item in selected_collections:
26
+ item = item.strip().lower().replace(" ", "_")
27
+ if has_numbers(item):
28
+ calendar_urls.append(f"https://www.gbcbincalendars.co.uk/json/gedling_borough_council_{item}_bin_schedule.json")
29
+ else:
30
+ calendar_urls.append(f"https://www.gbcbincalendars.co.uk/json/gedling_borough_council_{item}_garden_bin_schedule.json")
31
+
32
+ # Parse each URL and load future data
33
+ for url in calendar_urls:
34
+ response = requests.get(url)
35
+ if response.status_code != 200:
36
+ raise ConnectionError(f"Could not get response from: {url}")
37
+ json_data = response.json()["collectionDates"]
38
+ for col in json_data:
39
+ bin_date = datetime.strptime(col.get("collectionDate"), "%Y-%m-%d").date()
40
+ if bin_date >= run_date:
41
+ collections.append((col.get("alternativeName"), bin_date))
42
+
43
+ # Sort the data
44
+ ordered_data = sorted(collections, key=lambda x: x[1])
45
+ data = {"bins": []}
46
+ for bin in ordered_data:
47
+ dict_data = {
48
+ "type": bin[0],
49
+ "collectionDate": bin[1].strftime(date_format),
50
+ }
51
+ data["bins"].append(dict_data)
52
+ print()
53
+
54
+ return data
@@ -5,7 +5,7 @@ None
5
5
  """
6
6
 
7
7
  import json
8
- import logging
8
+ import logging, logging.config
9
9
  from abc import ABC, abstractmethod
10
10
  import os
11
11
  import requests
@@ -1,58 +0,0 @@
1
- from bs4 import BeautifulSoup, element
2
- from uk_bin_collection.uk_bin_collection.common import *
3
- from uk_bin_collection.uk_bin_collection.get_bin_data import AbstractGetBinDataClass
4
-
5
-
6
- # import the wonderful Beautiful Soup and the URL grabber
7
- class CouncilClass(AbstractGetBinDataClass):
8
- """
9
- Concrete classes have to implement all abstract operations of the
10
- base class. They can also override some operations with a default
11
- implementation.
12
- """
13
-
14
- def parse_data(self, page: str, **kwargs) -> dict:
15
- data = {"bins": []}
16
- collections = []
17
-
18
- # Parse the page and find all the result boxes
19
- soup = BeautifulSoup(page.text, features="html.parser")
20
- soup.prettify()
21
- results = soup.find_all("li", {"class": "resultListItem"})
22
-
23
- # If the result box has a wanted string in, we can use it. Check the contents of each box and find the
24
- # desired text and dates
25
- for r in results:
26
- if "Your next" in r.text:
27
- if type(r.contents[10]) is element.NavigableString:
28
- bin_text = r.contents[10].text.split(" ")[2].title() + " bin"
29
- bin_date = datetime.strptime(
30
- remove_ordinal_indicator_from_date_string(
31
- r.contents[11].text.strip()
32
- ),
33
- "%A %d %B %Y",
34
- )
35
- else:
36
- bin_text = r.contents[11].text.split(" ")[2].title() + " bin"
37
- bin_date = datetime.strptime(
38
- remove_ordinal_indicator_from_date_string(
39
- r.contents[12].text.strip()
40
- ),
41
- "%A %d %B %Y",
42
- )
43
-
44
- if bin_date.date() >= datetime.now().date():
45
- collections.append((bin_text, bin_date))
46
-
47
- # Sort the text and date elements by date
48
- ordered_data = sorted(collections, key=lambda x: x[1])
49
-
50
- # Put the elements into the dictionary
51
- for item in ordered_data:
52
- dict_data = {
53
- "type": item[0],
54
- "collectionDate": item[1].strftime(date_format),
55
- }
56
- data["bins"].append(dict_data)
57
-
58
- return data