Noob_test/scripts/_smoke_tmp.py

40 lines
1.4 KiB
Python

from __future__ import annotations
import json
import os
import sys
import time
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), "..")))
from worklib.graphql_client import execute_graphql # noqa: E402
def main() -> None:
parent_id = "6915dc03462d5aea0adc8cbd"
suffix = str(int(time.time()))
created_parent_for_entrance: str | None = None
for place_type in ("street", "flat", "entrance"):
q = """
mutation ($place_type: PlaceType!, $names: [String!]!, $parent_id: String) {
createPlaceMultiple(dto: {place_type: $place_type, names: $names, parent_id: $parent_id}) { id __typename }
}
""".strip()
pid = created_parent_for_entrance if place_type == "entrance" and created_parent_for_entrance else parent_id
variables = {"place_type": place_type, "names": [f"smoke-{place_type}-{suffix}"], "parent_id": pid}
try:
resp = execute_graphql(query=q, variables=variables)
except Exception as e: # noqa: BLE001
print(place_type, "ERROR", type(e).__name__, e)
continue
print(place_type, json.dumps(resp, ensure_ascii=False)[:300])
if place_type == "street":
created = resp.get("data", {}).get("createPlaceMultiple")
if isinstance(created, list) and created and isinstance(created[0], dict) and created[0].get("id"):
created_parent_for_entrance = created[0]["id"]
if __name__ == "__main__":
main()