def main(): parser = argparse.ArgumentParser() parser.add_argument("--provider", type=int, help="Atmosphere provider ID" " to use when importing users.") parser.add_argument("--provider-id", type=int, help="Atmosphere provider ID" " to use when importing users." " DEPRECATION WARNING -- THIS WILL BE REMOVED SOON!") parser.add_argument("--provider-list", action="store_true", help="List of provider names and IDs") parser.add_argument("--rebuild", action="store_true", help="Rebuild all accounts that are in the provider") parser.add_argument("--users", help="LDAP usernames to import. (comma separated)") parser.add_argument("--admin", action="store_true", help="Users addded as admin and staff users.") args = parser.parse_args() if args.provider_list: print "ID\tName" for p in Provider.objects.all().order_by('id'): print "%d\t%s" % (p.id, p.location) return users = None if args.provider_id and not args.provider: print "WARNING: --provider-id has been *DEPRECATED*! Use --provider instead!" args.provider = args.provider_id if args.provider: provider = Provider.objects.get(id=args.provider) else: raise Exception( "Missing required argument: --provider <id>. use --provider-list to get a list of provider ID+names" ) print "Using Provider: %s" % provider type_name = provider.type.name.lower() try: acct_driver = get_account_driver(provider, raise_exception=True) except: account_provider = provider.accountprovider_set.first() print "Could not create the account Driver for this Provider."\ " Check the configuration of this identity:%s" % account_provider raise if not args.users: if not args.rebuild: print "Retrieving all 'atmo-user' members in LDAP." users = get_members('atmo-user') else: print "Rebuilding all existing users." users = get_usernames(provider) else: users = args.users.split(",") return create_accounts(acct_driver, provider, users, args.rebuild, args.admin)
def main(): parser = argparse.ArgumentParser() parser.add_argument("--provider", type=int, help="Atmosphere provider ID" " to use when importing users.") parser.add_argument("--provider-id", type=int, help="Atmosphere provider ID" " to use when importing users." " DEPRECATION WARNING -- THIS WILL BE REMOVED SOON!") parser.add_argument("--provider-list", action="store_true", help="List of provider names and IDs") parser.add_argument("--rebuild", action="store_true", help="Rebuild all accounts that are in the provider") parser.add_argument("--users", help="LDAP usernames to import. (comma separated)") parser.add_argument("--admin", action="store_true", help="Users addded as admin and staff users.") args = parser.parse_args() if args.provider_list: print "ID\tName" for p in Provider.objects.all().order_by('id'): print "%d\t%s" % (p.id, p.location) return users = None if args.provider_id and not args.provider: print "WARNING: --provider-id has been *DEPRECATED*! Use --provider instead!" args.provider = args.provider_id if args.provider: provider = Provider.objects.get(id=args.provider) else: raise Exception("Missing required argument: --provider <id>. use --provider-list to get a list of provider ID+names") print "Using Provider: %s" % provider type_name = provider.type.name.lower() acct_driver = get_account_driver(provider) if not acct_driver: raise Exception("Could not find an account driver for Provider with" " type:%s" % type_name) if not args.users: if not args.rebuild: print "Retrieving all 'atmo-user' members in LDAP." users = get_members('atmo-user') else: print "Rebuilding all existing users." users = get_usernames(provider) else: users = args.users.split(",") return create_accounts(acct_driver, provider, users, args.rebuild, args.admin)
def process_groups( acct_driver, groups, quota=None, make_admin=False, dry_run=False): total_added = 0 for groupname in groups: group_add = 0 users = get_members(groupname) print "Total users in group %s:%s" % (groupname, len(users)) group_add = process_users(acct_driver, users, quota=quota, admin_user=make_admin, dry_run=dry_run) total_added += group_add return total_added