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