"""Use the LFIDAPI to add, remove and list members as well as create groups."""
import json
+import logging
from email_validator import validate_email
import requests
from lftools.oauth2_helper import oauth_helper
+log = logging.getLogger(__name__)
+
PARSE = urllib.parse.urljoin
check_response_code(response)
result = (response.json())
members = result["members"]
- print(json.dumps(members, indent=4, sort_keys=True))
+ log.debug(json.dumps(members, indent=4, sort_keys=True))
return members
headers = {'Authorization': 'Bearer ' + access_token}
data = {"username": user}
if delete:
+ log.info('Deleting %s from %s' % (user, group))
response = requests.delete(url, json=data, headers=headers)
else:
+ log.info('Adding %s to %s' % (user, group))
response = requests.put(url, json=data, headers=headers)
check_response_code(response)
result = (response.json())
- print(json.dumps(result, indent=4, sort_keys=True))
+ log.debug(json.dumps(result, indent=4, sort_keys=True))
def helper_invite(email, group):
url = PARSE(url, prejoin)
headers = {'Authorization': 'Bearer ' + access_token}
data = {"mail": email}
- print('Validating email', email)
+ log.info('Validating email %s' % email)
if validate_email(email):
+ log.info('Inviting %s to join %s' % (email, group))
response = requests.post(url, json=data, headers=headers)
check_response_code(response)
result = (response.json())
- print(json.dumps(result, indent=4, sort_keys=True))
+ log.debug(json.dumps(result, indent=4, sort_keys=True))
else:
- print("Email is not valid")
+ log.error("Email '%s' is not valid, not inviting to %s" %
+ (email, group))
def helper_create_group(group):
"""Create group."""
response_code = helper_check_group_exists(group)
if response_code == 200:
- print("Group {} already exists exiting...".format(group))
+ log.error("Group %s already exists exiting..." % group)
else:
access_token, url = oauth_helper()
url = '{}/'.format(url)
headers = {'Authorization': 'Bearer ' + access_token}
data = {"title": group, "type": "group"}
- print(data)
+ log.debug(data)
+ log.info('Creating group %s' % group)
response = requests.post(url, json=data, headers=headers)
check_response_code(response)
result = (response.json())
- print(json.dumps(result, indent=4, sort_keys=True))
+ log.debug(json.dumps(result, indent=4, sort_keys=True))
def helper_match_ldap_to_info(info_file, group, noop):
for user in all_users:
removed_by_patch = [item for item in ldap_committers if item not in info_committers]
if (user in removed_by_patch):
- print(" {} found in group {} ".format(user, group))
+ log.info("%s found in group %s " % (user, group))
if noop is False:
- print(" removing user {} from group {}".format(user, group))
+ log.info(" removing user %s from group %s" % (user, group))
helper_user(user, group, "--delete")
added_by_patch = [item for item in info_committers if item not in ldap_committers]
if (user in added_by_patch):
- print(" {} not found in group {} ".format(user, group))
+ log.info("%s not found in group %s" % (user, group))
if noop is False:
- print(" adding user {} to group {}".format(user, group))
+ log.info(" adding user %s to group %s" % (user, group))
helper_user(user, group, "")