phi/test/aux_async_model.py

62 lines
1.2 KiB
Python

# coding: utf-8
import asyncio
from pprint import pprint as pp
from phi.async_ldap.model import (
# Hackers,
# User,
Robots,
Service,
Congregations,
Group,
build_heritage,
iter_children,
)
from phi.async_ldap.new_model import Hackers, User
from phi.async_ldap.client import AsyncClient
async def dlv(h, cls):
return [el async for el in build_heritage(h, cls)]
cl = AsyncClient(
"ldap://localhost",
port=389,
encryption=True,
# validate=True,
ca_cert="/home/leo/Documents/coding/phi/openldap/cert.pem",
username="root",
password="root",
base_dn="dc=unit,dc=macaomilano,dc=org",
attribute_id="cn",
)
async def get_all_children():
h = Hackers(cl)
r = Robots(cl)
g = Congregations(cl)
hackers = await dlv(h, User)
robots = await dlv(r, Service)
groups = await dlv(g, Group)
return (hackers, robots, groups)
async def print_async(awaitable):
result = await awaitable
pp(result)
async def describe(obj):
results = await obj.describe()
return results
asyncio.run(print_async(describe(Hackers(cl))))
asyncio.run(print_async(describe(User(cl, "conte_mascetti"))))