from . import interface def hook_check_ml_restrictions(context, content): pass def hook_validate_poster(context, content): pass def hook_process_subscribe_queries(context, content): pass def hook_generate_rcpt_list(context, content): listname = context.get('listname', None) if not listname: raise interface.HookStopIteration('list name not found') recipients_filename = ''.join([listname, '-recipents.txt']) try: with open(recipients_filename, encoding='utf8') as fi: recipients = [recipient for recipient in fi] context['recipients'] = recipients except FileNotFoundError as e: n = interface.HookAbortError('recipients list not found') n.args.append({'listname': listname, 'recipients_filename': recipients_filename}) raise n from e def hook_send_all(context, content): recipients = context.get('recipients', None) if not recipients: raise interface.HookStopIteration() # TODO: how to send emails here ?