Sort output by Shared Drive name

This commit is contained in:
Ross Scroggs
2025-06-16 08:47:14 -07:00
parent 74924c9c0e
commit f1713ec685
3 changed files with 20 additions and 15 deletions

View File

@@ -5031,18 +5031,18 @@ gam <UserTypeEntity> delete permissions <SharedDriveEntityAdmin> <DriveFilePermi
In these commands, the Google administrator named in oauth2.txt is used.
gam copy teamdriveacls <SharedDriveEntity> to <SharedDriveEntity>
gam copy shareddriveacls <SharedDriveEntity> to <SharedDriveEntity>
[adminaccess|asadmin]
[showpermissionsmessages [<Boolean>]]
[excludepermissionsfromdomains|includepermissionsfromdomains <DomainNameList>]
(mappermissionsdomain <DomainName> <DomainName>)*
gam sync teamdriveacls <SharedDriveEntity> with <SharedDriveEntity>
gam sync shareddriveacls <SharedDriveEntity> with <SharedDriveEntity>
[adminaccess|asadmin]
[showpermissionsmessages [<Boolean>]]
[excludepermissionsfromdomains|includepermissionsfromdomains <DomainNameList>]
(mappermissionsdomain <DomainName> <DomainName>)*
gam print teamdriveacls [todrive <ToDriveAttribute>*]
gam print shareddriveacls [todrive <ToDriveAttribute>*]
[teamdriveadminquery|query <QueryTeamDrive>]
[matchname <REMatchPattern>] [orgunit|org|ou <OrgUnitPath>]
[user|group <EmailAddress> [checkgroups]] (role|roles <SharedDriveACLRoleList>)*
@@ -5050,7 +5050,7 @@ gam print teamdriveacls [todrive <ToDriveAttribute>*]
[oneitemperrow] [<DrivePermissionsFieldName>*|(fields <DrivePermissionsFieldNameList>)]
(addcsvdata <FieldName> <String>)*
[formatjson [quotechar <Character>]]
gam show teamdriveacls
gam show shareddriveacls
[teamdriveadminquery|query <QueryTeamDrive>]
[matchname <REMatchPattern>] [orgunit|org|ou <OrgUnitPath>]
[user|group <EmailAddress> [checkgroups]] (role|roles <SharedDriveACLRoleList>)*
@@ -5060,18 +5060,18 @@ gam show teamdriveacls
In these commands, you specify an administrator and then indicate that you want domain administrator access with the adminaccess option.
gam <UserTypeEntity> copy teamdriveacls <SharedDriveEntity> to <SharedDriveEntity>
gam <UserTypeEntity> copy shareddriveacls <SharedDriveEntity> to <SharedDriveEntity>
[adminaccess|asadmin]
[showpermissionsmessages [<Boolean>]]
[excludepermissionsfromdomains|includepermissionsfromdomains <DomainNameList>]
(mappermissionsdomain <DomainName> <DomainName>)*
gam <UserTypeEntity> sync teamdriveacls <SharedDriveEntity> with <SharedDriveEntity>
gam <UserTypeEntity> sync shareddriveacls <SharedDriveEntity> with <SharedDriveEntity>
[adminaccess|asadmin]
[showpermissionsmessages [<Boolean>]]
[excludepermissionsfromdomains|includepermissionsfromdomains <DomainNameList>]
(mappermissionsdomain <DomainName> <DomainName>)*
gam <UserTypeEntity> print teamdriveacls [todrive <ToDriveAttribute>*]
gam <UserTypeEntity> print shareddriveacls [todrive <ToDriveAttribute>*]
[adminaccess|asadmin] [teamdriveadminquery|query <QueryTeamDrive>]
[matchname <REMatchPattern>] [orgunit|org|ou <OrgUnitPath>]
[user|group <EmailAddress> [checkgroups]] (role|roles <SharedDriveACLRoleList>)*
@@ -5080,7 +5080,7 @@ gam <UserTypeEntity> print teamdriveacls [todrive <ToDriveAttribute>*]
[shownopermissionsdrives false|true|only]
(addcsvdata <FieldName> <String>)*
[formatjson [quotechar <Character>]]
gam <UserTypeEntity> show teamdriveacls
gam <UserTypeEntity> show shareddriveacls
[adminaccess|asadmin] [teamdriveadminquery|query <QueryTeamDrive>]
[matchname <REMatchPattern>] [orgunit|org|ou <OrgUnitPath>]
[user|group <EmailAddress> [checkgroups]] (role|roles <SharedDriveACLRoleList>)*

View File

@@ -1,3 +1,8 @@
7.09.06
Upddated `gam print|show shareddrives', `gam print|show shareddriveacls', `gam print shareddriveorganizers`
to display the Shared Drives in ascending name order; the API returns them in an unidentifiable order.
7.09.05
Improved output of `gam info|show chromeschemas [std]` to more accurately display the schemas.

View File

@@ -25,7 +25,7 @@ https://github.com/GAM-team/GAM/wiki
"""
__author__ = 'GAM Team <google-apps-manager@googlegroups.com>'
__version__ = '7.09.05'
__version__ = '7.09.06'
__license__ = 'Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)'
#pylint: disable=wrong-import-position
@@ -65775,13 +65775,13 @@ def printShowSharedDrives(users, useDomainAdminAccess=False):
entityPerformActionNumItems([Ent.USER, user], jcount, Ent.SHAREDDRIVE, i, count)
Ind.Increment()
j = 0
for shareddrive in matchedFeed:
for shareddrive in sorted(matchedFeed, key=lambda k: k['name']):
j += 1
shareddrive = stripNonShowFields(shareddrive)
_showSharedDrive(user, shareddrive, j, jcount, FJQC)
Ind.Decrement()
else:
for shareddrive in matchedFeed:
for shareddrive in sorted(matchedFeed, key=lambda k: k['name']):
shareddrive = stripNonShowFields(shareddrive)
if FJQC.formatJSON:
row = {'User': user, 'id': shareddrive['id'], 'name': shareddrive['name']}
@@ -66156,7 +66156,7 @@ def printShowSharedDriveACLs(users, useDomainAdminAccess=False):
entityPerformActionNumItems([Ent.USER, user], jcount, Ent.SHAREDDRIVE, i, count)
Ind.Increment()
j = 0
for shareddrive in matchFeed:
for shareddrive in sorted(matchFeed, key=lambda k: k['name']):
j += 1
if not FJQC.formatJSON:
_showDriveFilePermissions(Ent.SHAREDDRIVE, f'{shareddrive["name"]} ({shareddrive["id"]}) - {shareddrive["createdTime"]}',
@@ -66170,7 +66170,7 @@ def printShowSharedDriveACLs(users, useDomainAdminAccess=False):
Ind.Decrement()
elif matchFeed:
if oneItemPerRow:
for shareddrive in matchFeed:
for shareddrive in sorted(matchFeed, key=lambda k: k['name']):
baserow = {'User': user, 'id': shareddrive['id'], 'name': shareddrive['name'], 'createdTime': shareddrive['createdTime']}
if addCSVData:
baserow.update(addCSVData)
@@ -66191,7 +66191,7 @@ def printShowSharedDriveACLs(users, useDomainAdminAccess=False):
baserow['JSON'] = json.dumps({})
csvPF.WriteRowNoFilter(baserow)
else:
for shareddrive in matchFeed:
for shareddrive in sorted(matchFeed, key=lambda k: k['name']):
baserow = {'User': user, 'id': shareddrive['id'], 'name': shareddrive['name'], 'createdTime': shareddrive['createdTime']}
if addCSVData:
baserow.update(addCSVData)
@@ -66392,7 +66392,7 @@ def printSharedDriveOrganizers(users, useDomainAdminAccess=False):
pass
if len(matchFeed) == 0:
setSysExitRC(NO_ENTITIES_FOUND_RC)
for shareddrive in matchFeed:
for shareddrive in sorted(matchFeed, key=lambda k: k['name']):
row = {'id': shareddrive['id'], 'name': shareddrive['name'],
'organizers': delimiter.join(shareddrive['organizers']),
'createdTime': shareddrive['createdTime']}