uk_bin_collection 0.127.4__py3-none-any.whl → 0.128.1__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
@@ -1123,6 +1123,13 @@
1123
1123
  "wiki_name": "Mansfield District Council",
1124
1124
  "wiki_note": "Pass the UPRN. You can find it using [FindMyAddress](https://www.findmyaddress.co.uk/search)."
1125
1125
  },
1126
+ "MedwayCouncil": {
1127
+ "skip_get_url": true,
1128
+ "uprn": "200000907059",
1129
+ "url": "https://www.medway.gov.uk/homepage/45/check_your_waste_collection_day",
1130
+ "wiki_name": "MedwayCouncil",
1131
+ "wiki_note": "Pass the UPRN. You can find it using [FindMyAddress](https://www.findmyaddress.co.uk/search)."
1132
+ },
1126
1133
  "MertonCouncil": {
1127
1134
  "url": "https://myneighbourhood.merton.gov.uk/wasteservices/WasteServices.aspx?ID=25936129",
1128
1135
  "wiki_command_url_override": "https://myneighbourhood.merton.gov.uk/Wasteservices/WasteServices.aspx?ID=XXXXXXXX",
@@ -4,7 +4,6 @@ from bs4 import BeautifulSoup
4
4
  from uk_bin_collection.uk_bin_collection.common import *
5
5
  from uk_bin_collection.uk_bin_collection.get_bin_data import AbstractGetBinDataClass
6
6
 
7
-
8
7
  # import the wonderful Beautiful Soup and the URL grabber
9
8
  class CouncilClass(AbstractGetBinDataClass):
10
9
  """
@@ -0,0 +1,40 @@
1
+ import json
2
+ from datetime import timedelta
3
+
4
+ import requests
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
+ 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
+ user_uprn = kwargs.get("uprn")
19
+ check_uprn(user_uprn)
20
+
21
+ api_url = f"https://api.medway.gov.uk/api/waste/getwasteday/{user_uprn}"
22
+
23
+ response = requests.get(api_url)
24
+
25
+ data = {"bins": []}
26
+
27
+ # If the response is 200, then we can parse the data; if not, we return an empty dict
28
+ if response.status_code == 200:
29
+ json_data = json.loads(response.text)
30
+ if json_data:
31
+ next_date = datetime.strptime(
32
+ json_data["nextCollection"], "%Y-%m-%dT%H:%M:%S%z"
33
+ )
34
+ dict_data = {
35
+ "type": "All bins",
36
+ "collectionDate": next_date.strftime(date_format),
37
+ }
38
+ data["bins"].append(dict_data)
39
+
40
+ return data
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: uk_bin_collection
3
- Version: 0.127.4
3
+ Version: 0.128.1
4
4
  Summary: Python Lib to collect UK Bin Data
5
5
  Author: Robert Bradley
6
6
  Author-email: robbrad182@gmail.com
@@ -2,7 +2,7 @@ uk_bin_collection/README.rst,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,
2
2
  uk_bin_collection/tests/council_feature_input_parity.py,sha256=DO6Mk4ImYgM5ZCZ-cutwz5RoYYWZRLYx2tr6zIs_9Rc,3843
3
3
  uk_bin_collection/tests/features/environment.py,sha256=VQZjJdJI_kZn08M0j5cUgvKT4k3iTw8icJge1DGOkoA,127
4
4
  uk_bin_collection/tests/features/validate_council_outputs.feature,sha256=SJK-Vc737hrf03tssxxbeg_JIvAH-ddB8f6gU1LTbuQ,251
5
- uk_bin_collection/tests/input.json,sha256=TdxYXHlJlV1eO1flmo8pqn3beIagaugbpa6yvcmE_9E,114783
5
+ uk_bin_collection/tests/input.json,sha256=mQ6Mu07OBuIodT-uD74zTi-AuXDMQQ09GyzDcPvaxqo,115118
6
6
  uk_bin_collection/tests/output.schema,sha256=ZwKQBwYyTDEM4G2hJwfLUVM-5v1vKRvRK9W9SS1sd18,1086
7
7
  uk_bin_collection/tests/step_defs/step_helpers/file_handler.py,sha256=Ygzi4V0S1MIHqbdstUlIqtRIwnynvhu4UtpweJ6-5N8,1474
8
8
  uk_bin_collection/tests/step_defs/test_validate_council.py,sha256=VZ0a81sioJULD7syAYHjvK_-nT_Rd36tUyzPetSA0gk,3475
@@ -13,7 +13,7 @@ uk_bin_collection/tests/test_get_data.py,sha256=sFJz_Fd6o-1r2gdmzY52JGwVi0Of_mDz
13
13
  uk_bin_collection/uk_bin_collection/collect_data.py,sha256=dB7wWXsJX4fm5bIf84lexkvHIcO54CZ3JPxqmS-60YY,4654
14
14
  uk_bin_collection/uk_bin_collection/common.py,sha256=Wj6o2NaxYDE1lkpYzMFDIZiPARX0K3xmt-5bnt2kjSI,10970
15
15
  uk_bin_collection/uk_bin_collection/councils/AberdeenCityCouncil.py,sha256=1IV0qSSM5EcxsxcTwXnEdTmIUdzL_Xg4F5RYC_us4XE,4193
16
- uk_bin_collection/uk_bin_collection/councils/AberdeenshireCouncil.py,sha256=aO1CSdyqa8oAD0fB79y1Q9bikAWCP_JFa7CsyTa2j9s,1655
16
+ uk_bin_collection/uk_bin_collection/councils/AberdeenshireCouncil.py,sha256=xhAdPFEQrPpQxQQ6Q5JYy2GS0QQ10-_y7nxoC74ARc4,1654
17
17
  uk_bin_collection/uk_bin_collection/councils/AdurAndWorthingCouncils.py,sha256=ppbrmm-MzB1wOulK--CU_0j4P-djNf3ozMhHnmQFqLo,1511
18
18
  uk_bin_collection/uk_bin_collection/councils/AntrimAndNewtonabbeyCouncil.py,sha256=Hp5pteaC5RjL5ZqPZ564S9WQ6ZTKLMO6Dl_fxip2TUc,1653
19
19
  uk_bin_collection/uk_bin_collection/councils/ArdsAndNorthDownCouncil.py,sha256=E9A5-mKBMHOuh-WJtHzo-mSPYqAsgghvV6SwV889hmA,3823
@@ -158,6 +158,7 @@ uk_bin_collection/uk_bin_collection/councils/MaldonDistrictCouncil.py,sha256=PMV
158
158
  uk_bin_collection/uk_bin_collection/councils/MalvernHillsDC.py,sha256=iQG0EkX2npBicvsGKQRYyBGSBvKVUbKvUvvwrC9xV1A,2100
159
159
  uk_bin_collection/uk_bin_collection/councils/ManchesterCityCouncil.py,sha256=RY301_82z3-xInGai5ocT7rzoV75ATbf0N7uxn8Z9LE,3110
160
160
  uk_bin_collection/uk_bin_collection/councils/MansfieldDistrictCouncil.py,sha256=F5AiTxImrnjE1k3ry96bfstOf5XSNBJS_4qqmymmh3w,1386
161
+ uk_bin_collection/uk_bin_collection/councils/MedwayCouncil.py,sha256=nBJSv09OUOascrfNu1ek1wNzE9ONu5ZkrBU-1qwDHJ0,1278
161
162
  uk_bin_collection/uk_bin_collection/councils/MertonCouncil.py,sha256=Dg8CA0d8ox_nE26LnnjBWOKJ1uOdV0w6Hj4Fft4SUQU,2340
162
163
  uk_bin_collection/uk_bin_collection/councils/MidAndEastAntrimBoroughCouncil.py,sha256=oOWwU5FSgGej2Mv7FQ66N-EzS5nZgmGsd0WnfLWUc1I,5238
163
164
  uk_bin_collection/uk_bin_collection/councils/MidDevonCouncil.py,sha256=RjBZ7R3_Pax9p1d2DCygqryjV1RP4BYvqb-rT_KyOEg,3322
@@ -300,8 +301,8 @@ uk_bin_collection/uk_bin_collection/councils/YorkCouncil.py,sha256=I2kBYMlsD4bId
300
301
  uk_bin_collection/uk_bin_collection/councils/council_class_template/councilclasstemplate.py,sha256=EQWRhZ2pEejlvm0fPyOTsOHKvUZmPnxEYO_OWRGKTjs,1158
301
302
  uk_bin_collection/uk_bin_collection/create_new_council.py,sha256=m-IhmWmeWQlFsTZC4OxuFvtw5ZtB8EAJHxJTH4O59lQ,1536
302
303
  uk_bin_collection/uk_bin_collection/get_bin_data.py,sha256=YvmHfZqanwrJ8ToGch34x-L-7yPe31nB_x77_Mgl_vo,4545
303
- uk_bin_collection-0.127.4.dist-info/LICENSE,sha256=vABBUOzcrgfaTKpzeo-si9YVEun6juDkndqA8RKdKGs,1071
304
- uk_bin_collection-0.127.4.dist-info/METADATA,sha256=PEi9YKlMqAEGH-taK-nNRm9M5PxrewNMTbaireIyjhE,19549
305
- uk_bin_collection-0.127.4.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
306
- uk_bin_collection-0.127.4.dist-info/entry_points.txt,sha256=36WCSGMWSc916S3Hi1ZkazzDKHaJ6CD-4fCEFm5MIao,90
307
- uk_bin_collection-0.127.4.dist-info/RECORD,,
304
+ uk_bin_collection-0.128.1.dist-info/LICENSE,sha256=vABBUOzcrgfaTKpzeo-si9YVEun6juDkndqA8RKdKGs,1071
305
+ uk_bin_collection-0.128.1.dist-info/METADATA,sha256=oIDgROZ5e5kicQ1KJjRhgQ_4t1XlC4QNt7fx940K-lk,19549
306
+ uk_bin_collection-0.128.1.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
307
+ uk_bin_collection-0.128.1.dist-info/entry_points.txt,sha256=36WCSGMWSc916S3Hi1ZkazzDKHaJ6CD-4fCEFm5MIao,90
308
+ uk_bin_collection-0.128.1.dist-info/RECORD,,