From 49a2352d6dc43cfdb2f71bb010689ff418862fa0 Mon Sep 17 00:00:00 2001 From: Ross Scroggs Date: Sat, 9 Apr 2022 04:26:46 -0700 Subject: [PATCH] Standardize getting Shared Drive ID or Name (#1510) --- src/GamCommands.txt | 9 +++++---- src/gam/__init__.py | 34 +++++++++++++++++----------------- 2 files changed, 22 insertions(+), 21 deletions(-) diff --git a/src/GamCommands.txt b/src/GamCommands.txt index 9dc9c9b7..5966aca0 100644 --- a/src/GamCommands.txt +++ b/src/GamCommands.txt @@ -243,6 +243,7 @@ If an item contains spaces, it should be surrounded by ". ::= ::= || ::= + ::= ::= ::= <String> <URI> ::= <String> @@ -1259,7 +1260,7 @@ gam print browsertokens [todrive] <CAABasicAttribute> ::+ (combiningfunction <CAACombiningFunction>) | - (condition <CAAConditionAttribute>+ endcondition)+ + (condition <CAAConditionAttribute>+ endcondition) gam create caalevel <String> (basic <CAABasicAttribute>+)|(custom <String>) gam update caalevel <CAALevelName> (basic <CAABasicAttribute>+)|(custom <String>) @@ -1820,12 +1821,12 @@ gam <UserTypeEntity> show signature|sig [format] teammembersonly gam <UserTypeEntity> create|add teamdrive <Name> -gam <UserTypeEntity> update teamdrive <TeamDriveID> [asadmin] [name <Name>] +gam <UserTypeEntity> update teamdrive <TeamDriveID>|(name <TeamDriveName>) [asadmin] [name <Name>] [(theme|themeid <String>) | ([customtheme <DriveFileID> <Float> <Float> <Float>] [color <ColorValue>])] (<TeamDriveRestrictionsSubfieldName> <Boolean>)* [hidden <Boolean>] -gam <UserTypeEntity> delete teamdrive <TeamDriveID> -gam <UserTypeEntity> show teamdriveinfo <TeamDriveID> [asadmin] +gam <UserTypeEntity> delete teamdrive <TeamDriveID>|(name <TeamDriveName>) +gam <UserTypeEntity> show teamdriveinfo <TeamDriveID>|(name <TeamDriveName>) [asadmin] gam <UserTypeEntity> show teamdrives [query <QueryTeamDrive>] [asadmin] gam <UserTypeEntity> print teamdrives [query <QueryTeamDrive>] [todrive] [asadmin] gam <UserTypeEntity> show teamdrivethemes diff --git a/src/gam/__init__.py b/src/gam/__init__.py index c520459b..adb19f63 100755 --- a/src/gam/__init__.py +++ b/src/gam/__init__.py @@ -8019,10 +8019,17 @@ def doPrintShowProjects(csvFormat): display.write_csv_file(csvRows, titles, 'Projects', todrive) +def getSharedDriveId(i): + driveId = sys.argv[i] + if driveId.lower() == 'name': + i += 1 + driveId = gapi_drive_drives.drive_name_to_id(sys.argv[i]) + return (i+1, driveId) + + def doGetSharedDriveInfo(users): - driveId = sys.argv[5] + i, driveId = getSharedDriveId(5) useDomainAdminAccess = False - i = 6 while i < len(sys.argv): myarg = sys.argv[i].lower().replace('_', '') if myarg == 'asadmin': @@ -8080,12 +8087,7 @@ TEAMDRIVE_RESTRICTIONS_MAP = { def doUpdateSharedDrive(users): - i = 5 - teamDriveId = sys.argv[i] - if teamDriveId.lower().startswith('name'): - i += 1 - teamDriveId = gapi_drive_drives.drive_name_to_id(sys.argv[i]) - i += 1 + i, driveId = getSharedDriveId(5) body = {} useDomainAdminAccess = False change_hide = None @@ -8145,7 +8147,7 @@ def doUpdateSharedDrive(users): 'update', useDomainAdminAccess=useDomainAdminAccess, body=body, - driveId=teamDriveId, + driveId=driveId, fields='id', soft_errors=True) if not result: @@ -8153,13 +8155,13 @@ def doUpdateSharedDrive(users): if change_hide: ch_result = gapi.call(drive.drives(), change_hide, - driveId=teamDriveId, + driveId=driveId, fields='id', soft_errors=True) if orgUnit: - gapi_cloudidentity_orgunits.move_shared_drive(teamDriveId, + gapi_cloudidentity_orgunits.move_shared_drive(driveId, orgUnit) - print(f'Updated Shared Drive {teamDriveId}') + print(f'Updated Shared Drive {driveId}') def printShowSharedDrives(users, csvFormat): todrive = False @@ -8224,17 +8226,15 @@ def printShowSharedDrives(users, csvFormat): def doDeleteSharedDrive(users): - teamDriveId = sys.argv[5] - if teamDriveId.lower().startswith('name'): - teamDriveId = gapi_drive_drives.drive_name_to_id(sys.argv[6]) + _, driveId = getSharedDriveId(5) for user in users: user, drive = buildDrive3GAPIObject(user) if not drive: continue - print(f'Deleting Shared Drive {teamDriveId}') + print(f'Deleting Shared Drive {driveId}') gapi.call(drive.drives(), 'delete', - driveId=teamDriveId, + driveId=driveId, soft_errors=True)