in SupportScripts/Python/AccountManagement/scim_agent.py [0:0]
def validateCSV(filename, expected_headers, required_headers):
# reset the column mapping if any previous values
COLUMN_NAME_TO_NUMBER_MAP.clear()
f = open(filename)
csv_f = csv.reader(f)
headers = next(csv_f)
headers_count = len(headers)
validateHeaders(headers, expected_headers, required_headers)
if ERRORS:
print(ERRORS)
return
users = {}
userGroups = {}
userGroups[MANAGER_PAIRS_KEYS] = []
#validate each row
for row in csv_f:
validateColumnCount(row, headers_count, str(csv_f.line_num))
if ERRORS:
print(ERRORS)
return
user = buildUserObject(row, str(csv_f.line_num), expected_headers)
users[user[csv_header.EMAIL_HEADER]] = user
if csv_header.MANAGER_HEADER in user and user[csv_header.MANAGER_HEADER]:
userGroups[MANAGER_PAIRS_KEYS].append({MANAGER_PAIRS_EMPLOYEE_KEY: user[csv_header.EMAIL_HEADER], MANAGER_PAIRS_MANAGER_KEY: user[csv_header.MANAGER_HEADER]})
f.close()
userGroups[USERS_KEY] = users
#if valid file then print out some flair
if len(ERRORS) == 0:
print(VALID_FILE)
return userGroups