25 lines
920 B
Python
25 lines
920 B
Python
import requests
|
|
|
|
from verein import Verein
|
|
|
|
|
|
def get_verein_ids_near_location(latitude: float, longitude: float, count: int = 10):
|
|
response = requests.get(
|
|
f"https://scheinefuervereine.rewe.de/consumer-api/customer.php?action=get_clubs_near_location&count={count}&lat={latitude}&long={longitude}")
|
|
if not response.ok:
|
|
return []
|
|
|
|
data = response.json()['data']
|
|
return [verein['partyID'] for verein in data]
|
|
|
|
|
|
def get_verein_for_id(verein_id: int) -> Verein:
|
|
response = requests.get(
|
|
f"https://scheinefuervereine.rewe.de/consumer-api/customer.php?action=get_club&id={verein_id}")
|
|
if not response.ok:
|
|
raise RuntimeError
|
|
|
|
data = response.json()['data']
|
|
address = data['address']
|
|
return Verein(data['accountName'], address['address'], address['city'], address['postCode'], data['totalBalance'],
|
|
data['availableBalance'], data['redeemed'])
|