mirror of
https://github.com/etienne-hd/lbc.git
synced 2026-04-10 01:25:35 +02:00
Initial release
This commit is contained in:
24
utils/generate_enum_categories.py
Normal file
24
utils/generate_enum_categories.py
Normal file
@@ -0,0 +1,24 @@
|
||||
import lbc
|
||||
from typing import Optional
|
||||
|
||||
def transform_str(string: str) -> str:
|
||||
return string.strip().replace(" ", "_").replace("-", "_").replace("&", "et").upper().replace("É", "E").replace("È", "E").replace("Ê", "E").replace("Ë", "E").replace("À", "A").replace("Á", "A").replace("Ô", "O").replace(",", "").replace("___", "_").replace("'", "")
|
||||
|
||||
def print_category(category_data: dict, category_name: Optional[str] = None) -> None:
|
||||
label: str = category_data["label"]
|
||||
category_name: str = transform_str(category_name) if category_name else None
|
||||
label = transform_str(label)
|
||||
print(f'{f"{category_name}_" if category_name else ""}{label} = "{category_data['catId']}"')
|
||||
|
||||
def main() -> None:
|
||||
client = lbc.Client()
|
||||
body = client._fetch(method="GET", url="https://api.leboncoin.fr/api/frontend/v1/data/v7/fdata")
|
||||
|
||||
for category in body["categories"]:
|
||||
print_category(category)
|
||||
if category.get("subcategories", None):
|
||||
for sub_category in category["subcategories"]:
|
||||
print_category(sub_category, category_name=category["label"])
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
21
utils/generate_enum_departments.py
Normal file
21
utils/generate_enum_departments.py
Normal file
@@ -0,0 +1,21 @@
|
||||
import lbc
|
||||
|
||||
def transform_str(string: str) -> str:
|
||||
return string.strip().replace(" ", "_").replace("-", "_").replace("&", "et").upper().replace("É", "E").replace("È", "E").replace("Ê", "E").replace("Ë", "E").replace("À", "A").replace("Á", "A").replace("Ô", "O").replace(",", "").replace("___", "_").replace("'", "")
|
||||
|
||||
def print_department(department_data: dict, region: dict) -> None:
|
||||
name: str = department_data["name"]
|
||||
name = transform_str(name)
|
||||
print(f'{name} = ("{region['rId']}", "{transform_str(region['rName'])}", "{department_data["dId"]}", "{name}")')
|
||||
|
||||
def main() -> None:
|
||||
client = lbc.Client()
|
||||
body = client._fetch(method="GET", url="https://api.leboncoin.fr/api/frontend/v1/data/v7/fdata")
|
||||
|
||||
for region in body["regions"]:
|
||||
if region.get("departments", None):
|
||||
for department in region["departments"]:
|
||||
print_department(department, region=region)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
19
utils/generate_enum_regions.py
Normal file
19
utils/generate_enum_regions.py
Normal file
@@ -0,0 +1,19 @@
|
||||
import lbc
|
||||
|
||||
def transform_str(string: str) -> str:
|
||||
return string.strip().replace(" ", "_").replace("-", "_").replace("&", "et").upper().replace("É", "E").replace("È", "E").replace("Ê", "E").replace("Ë", "E").replace("À", "A").replace("Á", "A").replace("Ô", "O").replace(",", "").replace("___", "_").replace("'", "")
|
||||
|
||||
def print_region(region_data: dict) -> None:
|
||||
name: str = region_data["rName"]
|
||||
name = transform_str(name)
|
||||
print(f'{name} = ("{region_data['rId']}", "{name}")')
|
||||
|
||||
def main() -> None:
|
||||
client = lbc.Client()
|
||||
body = client._fetch(method="GET", url="https://api.leboncoin.fr/api/frontend/v1/data/v7/fdata")
|
||||
|
||||
for region in body["regions"]:
|
||||
print_region(region)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user