#!/usr/bin/env python3 import configparser import json from pprint import pprint from zoomus import ZoomClient import psycopg2 config = configparser.ConfigParser() config.read('zoom.ini') client = ZoomClient(config['api']['key'], config['api']['secret']) db_conn = psycopg2.connect(dbname=config['db']['name'], user=config['db']['user'], password=config['db']['passwd'], host="127.0.0.1") resp = client.user.list(page_size = 300) resp.raise_for_status() user_list = json.loads(resp.content) assert user_list['page_count'] == 1 # pprint(user_list) with db_conn.cursor() as db: for user in user_list['users']: id = user['id'] db.execute("SELECT * FROM zoom_users WHERE user_id=%s", (id,)) if db.fetchone(): print(f"User {id}: Already present") else: print(f"User {id}: Creating") db.execute("INSERT INTO zoom_users(user_id, email, full_name) VALUES (%s,%s,%s)", (id, user['email'], user['first_name'] + ' ' + user['last_name'])) db_conn.commit()