50 lines
1.6 KiB
Python
50 lines
1.6 KiB
Python
"""
|
|
Copyright (c) 2020 Sdj Geek
|
|
Voir le fichier LICENSE
|
|
|
|
Classe d'accès aux données du site de l'Église
|
|
|
|
"""
|
|
|
|
import requests
|
|
import browser_cookie3
|
|
|
|
|
|
class SiteEglise:
|
|
|
|
def __init__(self, cookie_path=None):
|
|
"""
|
|
|
|
:param cookie_path: chemin vers le répertoire où inscrire les fichiers de sortie
|
|
"""
|
|
self.cookie_jar = browser_cookie3.firefox(cookie_file=cookie_path)
|
|
|
|
def get_member_list(self, unit_number):
|
|
"""Recevoir la liste des membres
|
|
|
|
:param unit_number: numéro de l'unité (paroisse, branche)
|
|
:returns: la liste des membres sous forme d'objet JSON
|
|
|
|
"""
|
|
r = requests.get('https://lcr.churchofjesuschrist.org/services/umlu/report/member-list',
|
|
params={'lang': "fra", 'unitNumber': unit_number},
|
|
headers={'Accept': "application/json"},
|
|
cookies=self.cookie_jar)
|
|
r.raise_for_status()
|
|
return r.json()
|
|
|
|
def get_member_profile(self, member_id):
|
|
"""Recevoir les informations sur un membre
|
|
|
|
:param member_id: ID du membre
|
|
:returns: les informations sur le membre sous forme d'objet JSON
|
|
|
|
"""
|
|
r = requests.get(f'https://lcr.churchofjesuschrist.org/records/member-profile/service/{member_id}',
|
|
params={'lang': "fra"},
|
|
headers={'Accept': "application/json",
|
|
'Referer': f"https://lcr.churchofjesuschrist.org/records/member-profile/{member_id}?lang=fra"},
|
|
cookies=self.cookie_jar)
|
|
r.raise_for_status()
|
|
return r.json()
|