hsadmin.api/hsadmin.py
Timotheus Pokorra 9dc0f99cf1 initial commit
2025-02-21 22:44:24 +01:00

41 lines
1.1 KiB
Python

from hs.admin.api import API
import config
import secrets
import string
def login():
api = API(cas=dict(uri=config.hsadmin_uri,
service=config.hsadmin_service),
credentials=dict(username=config.hsadmin_username,
password=config.hsadmin_password),
backends=[config.hsadmin_backend1,
config.hsadmin_backend2])
return api
def email_exists(api, domain, localpart):
params = {'localpart': localpart, 'domain': domain}
result = api.emailaddress.search(where=params)
return len(result) > 0
def add_email(api, username, domain, localpart):
params = {
'domain': domain,
'localpart': localpart,
'target': [username],
}
try:
api.emailaddress.add(set=params)
except Exception as e:
return str(e)
return True
def remove_email(api, username, domain, localpart):
params = {
'domain': domain,
'localpart': localpart,
}
try:
api.emailaddress.delete(where=params)
except Exception as e:
return str(e)
return True