Skip to content

Commit

Permalink
add_group_groups: Rename log to log0 for shadowing issue #57
Browse files Browse the repository at this point in the history
  • Loading branch information
astrochun committed Sep 29, 2020
1 parent d0283f9 commit 43eb953
Showing 1 changed file with 25 additions and 18 deletions.
43 changes: 25 additions & 18 deletions scripts/add_grouper_groups
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import argparse

from requiam.grouper_admin import GrouperAPI
from requiam.grouper_query import figshare_group
from requiam.logger import LogClass
from requiam.logger import LogClass, log_stdout
from requiam import TimerClass

# Version and branch info
Expand All @@ -33,7 +33,7 @@ admins = figshare_group('GrouperAdmins', '', production=True)
managers = figshare_group('GrouperManagers', '', production=True)


def add_groups(groups, group_type, group_descriptions, grouper_api, log=None, add=False):
def add_groups(groups, group_type, group_descriptions, grouper_api, log0=None, add=False):
"""
Purpose:
Process through a list of Grouper groups and add them if they don't exist
Expand All @@ -43,10 +43,13 @@ def add_groups(groups, group_type, group_descriptions, grouper_api, log=None, ad
:param group_type: str. Either 'portal', 'quota', or 'test'
:param group_descriptions: list of str containing description
:param grouper_api: GrouperAPI object
:param log: logging.getLogger() object
:param log0: logging.getLogger() object
:param add: boolean. Indicate whether to perform update or dry run
"""

if isinstance(log0, type(None)):
log0 = log_stdout()

for group, description in zip(groups, group_descriptions):
add_dict = {'group': group,
'group_type': group_type,
Expand All @@ -56,45 +59,45 @@ def add_groups(groups, group_type, group_descriptions, grouper_api, log=None, ad
try:
group_exists = ga.check_group_exists(group, group_type)
except KeyError:
log.info("Stem is empty")
log0.info("Stem is empty")
group_exists = False

if not group_exists:
log.info(f"Group does not exist : {group}")
log0.info(f"Group does not exist : {group}")

if add:
log.info(f'Adding {group} ...')
log0.info(f'Adding {group} ...')
try:
add_result = grouper_api.add_group(**add_dict)
if add_result:
log.info("SUCCESS")
log0.info("SUCCESS")
except HTTPError:
raise HTTPError
else:
log.info('dry run, not performing group add')
log0.info('dry run, not performing group add')
else:
log.info(f"Group exists : {group}")
log0.info(f"Group exists : {group}")

if add:
log.info(f'Adding admin privileges for groupersuperadmins ...')
log0.info(f'Adding admin privileges for groupersuperadmins ...')
try:
add_privilege = grouper_api.add_privilege(superadmins, group, group_type, 'admin')
if add_privilege:
log.info("SUCCESS")
log0.info("SUCCESS")
except HTTPError:
raise HTTPError

log.info(f'Adding privileges for grouperadmins ...')
log0.info(f'Adding privileges for grouperadmins ...')
try:
add_privilege = grouper_api.add_privilege(admins, group, group_type,
['read', 'view', 'optout'])
if add_privilege:
log.info("SUCCESS")
log0.info("SUCCESS")
except HTTPError:
raise HTTPError

else:
log.info('dry run, not performing privilege add')
log0.info('dry run, not performing privilege add')


if __name__ == '__main__':
Expand Down Expand Up @@ -195,7 +198,8 @@ if __name__ == '__main__':
else:
grouper_production = False

ga = GrouperAPI(**grouper_dict, grouper_production=grouper_production)
ga = GrouperAPI(**grouper_dict, grouper_production=grouper_production,
log=log)

# Main portals / Overall Research Themes
if vargs['main_themes']:
Expand Down Expand Up @@ -227,7 +231,8 @@ if __name__ == '__main__':
log.info(f"Total number of main themes: {n_mainThemes}")
log.info(f"List of main themes: {', '.join(main_groups)}")

add_groups(main_groups, 'portal', main_descriptions, ga, log=log, add=args.add)
add_groups(main_groups, 'portal', main_descriptions, ga, log0=log,
add=args.add)

mainTheme_timer._stop()
log.info(f"MAIN PORTAL : {mainTheme_timer.format}")
Expand Down Expand Up @@ -262,7 +267,8 @@ if __name__ == '__main__':
log.info(f"Total number of sub-portals: {n_subPortals}")
log.info(f"List of sub-portals: {', '.join(sub_groups)}")

add_groups(sub_groups, 'portal', sub_descriptions, ga, log=log, add=args.add)
add_groups(sub_groups, 'portal', sub_descriptions, ga, log0=log,
add=args.add)

subPortal_timer._stop()
log.info(f"SUB-PORTAL : {subPortal_timer.format}")
Expand Down Expand Up @@ -295,7 +301,8 @@ if __name__ == '__main__':
log.info(f"Total number of quotas: {n_quotas}")
log.info(f"List of quotas: {', '.join(quota_groups)}")

add_groups(quota_groups, 'quota', quota_descriptions, ga, log=log, add=args.add)
add_groups(quota_groups, 'quota', quota_descriptions, ga, log0=log,
add=args.add)

quota_timer._stop()
log.info(f"QUOTA : {quota_timer.format}")
Expand Down

0 comments on commit 43eb953

Please sign in to comment.