Skip to content
Snippets Groups Projects
Commit 0f4d59b2 authored by Conrad Holmberg's avatar Conrad Holmberg
Browse files

Adding some procedures for main functioanlity.

parent 28b8b910
No related branches found
No related tags found
No related merge requests found
......@@ -15,20 +15,29 @@ def get_ml_fqdns(client):
ml_fqdns.append(mlist.fqdn_listname)
return ml_fqdns
def print_all_fqdn(client):
def print_all_members(client):
# grabs users per page
"""Prints all the members of the mailman with pagination."""
page = client.get_user_page(count=100, page=1)
members_hash['members'] = []
# loop through each page
while len(page) > 0:
for member in page:
print json.dumps(member.addresses.rest_data, indent=2)
#TO DO add same json data ase print_fqdn_members
# members_hash['members'].append({
# 'list_fqdn': args.list_fqdn,
# 'email': member.email,
# 'display_name': member.user.display_name
# })
time.sleep(.100) #pause between pages
page = page.next
#print json.dumps(members_hash, indent=2)
# end get_all_fqdns
def print_all_fqdns(client,ml_fqdn ):
def print_fqdn_members(client,ml_fqdn ):
"""Prints the members of a email list"""
# Get members from email list
......@@ -56,7 +65,25 @@ def print_all_fqdns(client,ml_fqdn ):
#print "E###########################"
#print("debug"+str(member))
print json.dumps(members_hash, indent=2)
# end print_fqdns
# end print_fqdn_memberss
def restore_members( input_file ):
if input_file == '-':
json_file = sys.stdin
else:
user_file = input_file
with open(user_file) as json_file:
data = json.load(json_file)
#print json.dumps(datam, indent=2)
for member in data['members']:
#print(str(member))
print('list_fqdn:'+ member['list_fqdn'])
print('display_name'+ member['display_name'])
print('email'+ member['email'])
#new_member_list.append(member_email)
if input_file != '-':
json_file.close()
#end restore_members
if __name__ == '__main__':
parser = argparse.ArgumentParser(description="Manage Users in Mailman Email Lists.")
......@@ -94,29 +121,15 @@ if __name__ == '__main__':
# get members from list
if ml_fqdn in ml_fqdns:
print_fqdns(client,ml_fqdn)
print_fqdn_members(client,ml_fqdn)
# Get all the members
elif ml_fqdn.upper() == 'ALL':
print_all_fqdns(client)
print_all_members(client)
else:
sys.exit('Error: Email list"'+ml_fqdn+'" does not exist in domain '+args.core_uri +
"\nSee List\n"+get_ml_fqdns(ml_fqdns))
#end if
elif args.restore:
#Open user list dump file
print "restoring file."
if args.restore == '-':
json_file = sys.stdin
else:
user_file = args.restore
with open(user_file) as json_file:
data = json.load(json_file)
#print json.dumps(datam, indent=2)
for member in data['members']:
#print(str(member))
print('list_fqdn:'+ member['list_fqdn'])
print('display_name'+ member['display_name'])
print('email'+ member['email'])
#new_member_list.append(member_email)
if args.restore != '-':
json_file.close()
#print "restoring file."
restore_members( args.restore)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment