from mailman.client import Client
from settings import API_USER, API_PASS
def lists_of_domain(request):
""" This function is a wrapper to render a list of all
available List registered to the current request URL
"""
domain_lists = []
try:
#get the URL
try:
web_host = request.META["HTTP_HOST"].split(":")#TODO Django DEV only !
web_host = web_host[0]
except:
web_host = request.META["HTTP_HOST"]
#querry the Domain object
c = Client('http://localhost:8001/3.0', API_USER, API_PASS)
d = c.get_domain(None,web_host)
#workaround LP:802971
domainname= d.email_host
for list in c.lists:
if list.host_name == domainname:
domain_lists.append(list)
except:
raise Exception("No Domain Found or HTTP_HOST missing in reqeust")
pass #in case there is not http_host (e.g. during testing)
#return a Dict with the key used in templates
return {"lists":domain_lists}