f = open('config.yml') params = yaml.load(f) f.close() my_host = params['hosts'][host]['host'] my_secret = params['hosts'][host]['secret'] my_token = params['hosts'][host]['token'] looker = LookerApi(host=my_host, token=my_token, secret = my_secret) ### ------- GET ALL USERS ------- userlistarray = looker.get_all_users() userlist = [] for user in userlistarray: userlist.append(user['id']) ### ------- GET ALL SCHEDULE ID/TITLES ----- scheduleattrlist = [] for user in userlist: data = looker.get_all_schedules(user) for schedule in data: scheduleattrlist.append({'id': schedule['id'],'title': schedule['title'] if schedule['title'] is not None else ""}) pprint(scheduleattrlist)
new_look['query_id'] = content_usage_query['id'] new_look['title'] = "Unused Content" look = looker.create_look(new_look) print('Look Saved: ' + str(look['id'])) ### ------- GET USER EMAILS FROM USER_IDs ------- data = looker.run_query(query_id=content_usage_query['id']) user_ids = {row['user_id'] for row in data} print('Users with unused content: ' + str(user_ids)) me = looker.get_current_user() user_list = looker.get_all_users() emails = {} for u in user_list: if u['id'] in user_ids: emails[u['id']] = u['email'] print('Emails will be sent to: ' + str(emails)) ### ------- CREATE SCHEDULE AND SEND NOTICE ------- schedule_body = { "name": "Unused Content", "title": "Unused Content", "user_id": me['id'], "run_once": "true" }