Updated option showlastmodification to gam <UserTypeEntity> print|show filecounts

This commit is contained in:
Ross Scroggs
2024-10-02 12:17:32 -07:00
parent ccaa76026c
commit 707d938656
12 changed files with 166 additions and 10255 deletions

View File

@@ -10,6 +10,14 @@ Add the `-s` option to the end of the above commands to suppress creating the `g
See [Downloads-Installs-GAM7](https://github.com/taers232c/GAMADV-XTD3/wiki/Downloads-Installs) for Windows or other options, including manual installation See [Downloads-Installs-GAM7](https://github.com/taers232c/GAMADV-XTD3/wiki/Downloads-Installs) for Windows or other options, including manual installation
### 7.00.12
Updated option `showlastmodification` to `gam <UserTypeEntity> print|show filecounts` to handle
the case where all users owning files are suspended. In this case the `lastModifyingUser` column
will show the user's display name as the API doesn't return the user's email address.
Updated support for `Folders with limited access`; this is a work in progress.
### 7.00.11 ### 7.00.11
Updated to Python 3.12.7 where possible. Updated to Python 3.12.7 where possible.

View File

@@ -251,7 +251,7 @@ writes the credentials into the file oauth2.txt.
admin@server:/Users/admin$ rm -f /Users/admin/GAMConfig/oauth2.txt admin@server:/Users/admin$ rm -f /Users/admin/GAMConfig/oauth2.txt
admin@server:/Users/admin$ gam version admin@server:/Users/admin$ gam version
WARNING: Config File: /Users/admin/GAMConfig/gam.cfg, Section: DEFAULT, Item: oauth2_txt, Value: /Users/admin/GAMConfig/oauth2.txt, Not Found WARNING: Config File: /Users/admin/GAMConfig/gam.cfg, Section: DEFAULT, Item: oauth2_txt, Value: /Users/admin/GAMConfig/oauth2.txt, Not Found
GAM 7.00.11 - https://github.com/GAM-team/GAM - pyinstaller GAM 7.00.12 - https://github.com/GAM-team/GAM - pyinstaller
GAM Team <google-apps-manager@googlegroups.com> GAM Team <google-apps-manager@googlegroups.com>
Python 3.12.6 64-bit final Python 3.12.6 64-bit final
MacOS Sonoma 14.5 x86_64 MacOS Sonoma 14.5 x86_64
@@ -923,7 +923,7 @@ writes the credentials into the file oauth2.txt.
C:\>del C:\GAMConfig\oauth2.txt C:\>del C:\GAMConfig\oauth2.txt
C:\>gam version C:\>gam version
WARNING: Config File: C:\GAMConfig\gam.cfg, Section: DEFAULT, Item: oauth2_txt, Value: C:\GAMConfig\oauth2.txt, Not Found WARNING: Config File: C:\GAMConfig\gam.cfg, Section: DEFAULT, Item: oauth2_txt, Value: C:\GAMConfig\oauth2.txt, Not Found
GAM7 7.00.11 - https://github.com/taers232c/GAM7 - pythonsource GAM7 7.00.12 - https://github.com/taers232c/GAM7 - pythonsource
GAM Team <google-apps-manager@googlegroups.com> GAM Team <google-apps-manager@googlegroups.com>
Python 3.12.6 64-bit final Python 3.12.6 64-bit final
Windows-10-10.0.17134 AMD64 Windows-10-10.0.17134 AMD64

View File

@@ -88,65 +88,67 @@
``` ```
``` ```
<DriveCapabilitiesSubfieldName> ::= <DriveCapabilitiesSubfieldName> ::=
canacceptownership| capabilities.canacceptownership|
canaddchildren| capabilities.canaddchildren|
canaddfolderfromanotherdrive| capabilities.canaddfolderfromanotherdrive|
canaddmydriveparent| capabilities.canaddmydriveparent|
canchangecopyrequireswriterpermission| capabilities.canchangecopyrequireswriterpermission|
canchangecopyrequireswriterpermissionrestriction| capabilities.canchangecopyrequireswriterpermissionrestriction|
canchangedomainusersonlyrestriction| capabilities.canchangedomainusersonlyrestriction|
canchangedrivebackground| capabilities.canchangedrivebackground|
canchangedrivemembersonlyrestriction| capabilities.canchangedrivemembersonlyrestriction|
canchangesecurityupdateenabled| capabilities.canchangesecurityupdateenabled|
canchangesharingfoldersrequiresorganizerpermissionrestriction| capabilities.canchangesharingfoldersrequiresorganizerpermissionrestriction|
canchangeviewerscancopycontent| capabilities.canchangeviewerscancopycontent|
cancomment| capabilities.cancomment|
cancopy| capabilities.cancopy|
candelete| capabilities.candelete|
candeletechildren| capabilities.candeletechildren|
candeletedrive| capabilities.candeletedrive|
candownload| capabilities.candisableinheritedpermissions|
canedit| capabilities.candownload|
canlistchildren| capabilities.canedit|
canmanagemembers| capabilities.canenableinheritedpermissions|
canmodifycontent| capabilities.canlistchildren|
canmodifycontentrestriction| capabilities.canmanagemembers|
canmodifyeditorcontentrestriction| capabilities.canmodifycontent|
canmodifylabels| capabilities.canmodifycontentrestriction|
canmodifyownercontentrestriction| capabilities.canmodifyeditorcontentrestriction|
canmovechildrenoutofdrive| capabilities.canmodifylabels|
canmovechildrenoutofteamdrive| capabilities.canmodifyownercontentrestriction|
canmovechildrenwithindrive| capabilities.canmovechildrenoutofdrive|
canmovechildrenwithinteamdrive| capabilities.canmovechildrenoutofteamdrive|
canmoveitemintodrive| capabilities.canmovechildrenwithindrive|
canmoveitemintoteamdrive| capabilities.canmovechildrenwithinteamdrive|
canmoveitemoutofdrive| capabilities.canmoveitemintodrive|
canmoveitemoutofteamdrive| capabilities.canmoveitemintoteamdrive|
canmoveitemwithindrive| capabilities.canmoveitemoutofdrive|
canmoveitemwithinteamdrive| capabilities.canmoveitemoutofteamdrive|
canmoveteamdriveitem| capabilities.canmoveitemwithindrive|
canreaddrive| capabilities.canmoveitemwithinteamdrive|
canreadlabels| capabilities.canmoveteamdriveitem|
canreadrevisions| capabilities.canreaddrive|
canreadteamdrive| capabilities.canreadlabels|
canremovechildren| capabilities.canreadrevisions|
canremovecontentrestriction| capabilities.canreadteamdrive|
canremovemydriveparent| capabilities.canremovechildren|
canrename| capabilities.canremovecontentrestriction|
canrenamedrive| capabilities.canremovemydriveparent|
canresetdriverestrictions| capabilities.canrename|
canshare| capabilities.canrenamedrive|
cantrash| capabilities.canresetdriverestrictions|
cantrashchildren| capabilities.canshare|
canuntrash capabilities.cantrash|
capabilities.cantrashchildren|
capabilities.canuntrash
<DriveContentRestrictionsSubfieldName> ::= <DriveContentRestrictionsSubfieldName> ::=
ownerrestricted| contentrestrictions.ownerrestricted|
readonly| contentrestrictions.readonly|
reason| contentrestrictions.reason|
restrictinguser| contentrestrictions.restrictinguser|
restrictiontime| contentrestrictions.restrictiontime|
type contentrestrictions.type
<DriveLabelInfoSubfieldName> ::= <DriveLabelInfoSubfieldName> ::=
labels.id| # modifiedByMe labels.id| # modifiedByMe
@@ -257,6 +259,7 @@
iconlink| iconlink|
id| id|
imagemediametadata| imagemediametadata|
inheritedpermissionsdisabled|
isappauthorized| isappauthorized|
labelinfo| labelinfo|
<DriveLabelInfoSubfieldName>| <DriveLabelInfoSubfieldName>|
@@ -294,6 +297,8 @@
<DriveSharingUserSubfieldName>| <DriveSharingUserSubfieldName>|
shortcutdetails| shortcutdetails|
<DriveShortcutDetailsSubfieldName>| <DriveShortcutDetailsSubfieldName>|
sha1checksum|
sha256checksum|
size| size|
spaces| spaces|
starred| starred|

View File

@@ -117,6 +117,7 @@
(description <String>)| (description <String>)|
(folderColorRgb <ColorValue>)| (folderColorRgb <ColorValue>)|
(indexabletext <String>)| (indexabletext <String>)|
(inheritedpermissionsdisabled [<Boolean>])|
(keeprevisionforever|pinned)| (keeprevisionforever|pinned)|
(lastviewedbyme <Time>)| (lastviewedbyme <Time>)|
(mimetype <MimeType>)| (mimetype <MimeType>)|
@@ -127,10 +128,10 @@
(property <PropertyKey> <PropertyValue> [private|public])| (property <PropertyKey> <PropertyValue> [private|public])|
(restricted|restrict [<Boolean>])| (restricted|restrict [<Boolean>])|
(securityupdate [<Boolean>])| (securityupdate [<Boolean>])|
(shortcut <DriveFileID>)|
(starred|star [<Boolean>])| (starred|star [<Boolean>])|
(trashed|trash [<Boolean>])| (trashed|trash [<Boolean>])|
(viewed|view [<Boolean>])| (viewed|view [<Boolean>])|
(shortcut <DriveFileID>)|
(viewerscancopycontent [<Boolean>])| (viewerscancopycontent [<Boolean>])|
(writerscanshare|writerscantshare [<Boolean>]) (writerscanshare|writerscantshare [<Boolean>])

View File

@@ -3,7 +3,7 @@
Print the current version of Gam with details Print the current version of Gam with details
``` ```
gam version gam version
GAM 7.00.11 - https://github.com/GAM-team/GAM - pyinstaller GAM 7.00.12 - https://github.com/GAM-team/GAM - pyinstaller
GAM Team <google-apps-manager@googlegroups.com> GAM Team <google-apps-manager@googlegroups.com>
Python 3.12.7 64-bit final Python 3.12.7 64-bit final
MacOS Sonoma 14.5 x86_64 MacOS Sonoma 14.5 x86_64
@@ -15,7 +15,7 @@ Time: 2023-06-02T21:10:00-07:00
Print the current version of Gam with details and time offset information Print the current version of Gam with details and time offset information
``` ```
gam version timeoffset gam version timeoffset
GAM 7.00.11 - https://github.com/GAM-team/GAM - pyinstaller GAM 7.00.12 - https://github.com/GAM-team/GAM - pyinstaller
GAM Team <google-apps-manager@googlegroups.com> GAM Team <google-apps-manager@googlegroups.com>
Python 3.12.7 64-bit final Python 3.12.7 64-bit final
MacOS Sonoma 14.5 x86_64 MacOS Sonoma 14.5 x86_64
@@ -27,7 +27,7 @@ Your system time differs from www.googleapis.com by less than 1 second
Print the current version of Gam with extended details and SSL information Print the current version of Gam with extended details and SSL information
``` ```
gam version extended gam version extended
GAM 7.00.11 - https://github.com/GAM-team/GAM - pyinstaller GAM 7.00.12 - https://github.com/GAM-team/GAM - pyinstaller
GAM Team <google-apps-manager@googlegroups.com> GAM Team <google-apps-manager@googlegroups.com>
Python 3.12.7 64-bit final Python 3.12.7 64-bit final
MacOS Sonoma 14.5 x86_64 MacOS Sonoma 14.5 x86_64
@@ -64,7 +64,7 @@ MacOS High Sierra 10.13.6 x86_64
Path: /Users/Admin/bin/gamadv-xtd3 Path: /Users/Admin/bin/gamadv-xtd3
Version Check: Version Check:
Current: 5.35.08 Current: 5.35.08
Latest: 7.00.11 Latest: 7.00.12
echo $? echo $?
1 1
``` ```
@@ -72,7 +72,7 @@ echo $?
Print the current version number without details Print the current version number without details
``` ```
gam version simple gam version simple
7.00.11 7.00.12
``` ```
In Linux/MacOS you can do: In Linux/MacOS you can do:
``` ```
@@ -82,7 +82,7 @@ echo $VER
Print the current version of Gam and address of this Wiki Print the current version of Gam and address of this Wiki
``` ```
gam help gam help
GAM 7.00.11 - https://github.com/taers232c/GAMADV-XTD3 GAM 7.00.12 - https://github.com/taers232c/GAMADV-XTD3
GAM Team <google-apps-manager@googlegroups.com> GAM Team <google-apps-manager@googlegroups.com>
Python 3.12.7 64-bit final Python 3.12.7 64-bit final
MacOS Sonoma 14.5 x86_64 MacOS Sonoma 14.5 x86_64

View File

@@ -6375,6 +6375,7 @@ gam <UserTypeEntity> print chatevents [todrive <ToDriveAttribute>*]
(description <String>)| (description <String>)|
(folderColorRgb <ColorValue>)| (folderColorRgb <ColorValue>)|
(indexabletext <String>)| (indexabletext <String>)|
(inheritedpermissionsdisabled [<Boolean>])|
(keeprevisionforever|pinned)| (keeprevisionforever|pinned)|
(lastviewedbyme <Time>)| (lastviewedbyme <Time>)|
(mimetype <MimeType>)| (mimetype <MimeType>)|
@@ -6399,9 +6400,6 @@ gam <UserTypeEntity> print chatevents [todrive <ToDriveAttribute>*]
(teamdriveparentid <DriveFolderID>)| (teamdriveparentid <DriveFolderID>)|
(teamdriveparent <SharedDriveName>)| (teamdriveparent <SharedDriveName>)|
(teamdriveparentid <SharedDriveID> teamdriveparentname <DriveFolderName>)| (teamdriveparentid <SharedDriveID> teamdriveparentname <DriveFolderName>)|
(teamdriveparent <SharedDriveName> teamdriveparentname <DriveFolderName>))|
(teamdriveparentid <DriveFolderID>)|(teamdriveparent <SharedDriveName>)|
(teamdriveparentid <SharedDriveID> teamdriveparentname <DriveFolderName>)|
(teamdriveparent <SharedDriveName> teamdriveparentname <DriveFolderName>) (teamdriveparent <SharedDriveName> teamdriveparentname <DriveFolderName>)
<DriveFileCreateAttribute> ::= <DriveFileCreateAttribute> ::=
@@ -6793,65 +6791,67 @@ gam <UserTypeEntity> collect orphans
[preview [todrive <ToDriveAttribute>*]] [preview [todrive <ToDriveAttribute>*]]
<DriveCapabilitiesSubfieldName> ::= <DriveCapabilitiesSubfieldName> ::=
canacceptownership| capabilities.canacceptownership|
canaddchildren| capabilities.canaddchildren|
canaddfolderfromanotherdrive| capabilities.canaddfolderfromanotherdrive|
canaddmydriveparent| capabilities.canaddmydriveparent|
canchangecopyrequireswriterpermission| capabilities.canchangecopyrequireswriterpermission|
canchangecopyrequireswriterpermissionrestriction| capabilities.canchangecopyrequireswriterpermissionrestriction|
canchangedomainusersonlyrestriction| capabilities.canchangedomainusersonlyrestriction|
canchangedrivebackground| capabilities.canchangedrivebackground|
canchangedrivemembersonlyrestriction| capabilities.canchangedrivemembersonlyrestriction|
canchangesecurityupdateenabled| capabilities.canchangesecurityupdateenabled|
canchangesharingfoldersrequiresorganizerpermissionrestriction| capabilities.canchangesharingfoldersrequiresorganizerpermissionrestriction|
canchangeviewerscancopycontent| capabilities.canchangeviewerscancopycontent|
cancomment| capabilities.cancomment|
cancopy| capabilities.cancopy|
candelete| capabilities.candelete|
candeletechildren| capabilities.candeletechildren|
candeletedrive| capabilities.candeletedrive|
candownload| capabilities.candisableinheritedpermissions|
canedit| capabilities.candownload|
canlistchildren| capabilities.canedit|
canmanagemembers| capabilities.canenableinheritedpermissions|
canmodifycontent| capabilities.canlistchildren|
canmodifycontentrestriction| capabilities.canmanagemembers|
canmodifyeditorcontentrestriction| capabilities.canmodifycontent|
canmodifylabels| capabilities.canmodifycontentrestriction|
canmodifyownercontentrestriction| capabilities.canmodifyeditorcontentrestriction|
canmovechildrenoutofdrive| capabilities.canmodifylabels|
canmovechildrenoutofteamdrive| capabilities.canmodifyownercontentrestriction|
canmovechildrenwithindrive| capabilities.canmovechildrenoutofdrive|
canmovechildrenwithinteamdrive| capabilities.canmovechildrenoutofteamdrive|
canmoveitemintodrive| capabilities.canmovechildrenwithindrive|
canmoveitemintoteamdrive| capabilities.canmovechildrenwithinteamdrive|
canmoveitemoutofdrive| capabilities.canmoveitemintodrive|
canmoveitemoutofteamdrive| capabilities.canmoveitemintoteamdrive|
canmoveitemwithindrive| capabilities.canmoveitemoutofdrive|
canmoveitemwithinteamdrive| capabilities.canmoveitemoutofteamdrive|
canmoveteamdriveitem| capabilities.canmoveitemwithindrive|
canreaddrive| capabilities.canmoveitemwithinteamdrive|
canreadlabels| capabilities.canmoveteamdriveitem|
canreadrevisions| capabilities.canreaddrive|
canreadteamdrive| capabilities.canreadlabels|
canremovechildren| capabilities.canreadrevisions|
canremovecontentrestriction| capabilities.canreadteamdrive|
canremovemydriveparent| capabilities.canremovechildren|
canrename| capabilities.canremovecontentrestriction|
canrenamedrive| capabilities.canremovemydriveparent|
canresetdriverestrictions| capabilities.canrename|
canshare| capabilities.canrenamedrive|
cantrash| capabilities.canresetdriverestrictions|
cantrashchildren| capabilities.canshare|
canuntrash capabilities.cantrash|
capabilities.cantrashchildren|
capabilities.canuntrash
<DriveContentRestrictionsSubfieldName> ::= <DriveContentRestrictionsSubfieldName> ::=
ownerrestricted| contentrestrictions.ownerrestricted|
readonly| contentrestrictions.readonly|
reason| contentrestrictions.reason|
restrictinguser| contentrestrictions.restrictinguser|
restrictiontime| contentrestrictions.restrictiontime|
type contentrestrictions.type
<DriveLabelInfoSubfieldName> ::= <DriveLabelInfoSubfieldName> ::=
labels.id| # modifiedByMe labels.id| # modifiedByMe
@@ -6961,6 +6961,7 @@ gam <UserTypeEntity> collect orphans
iconlink| iconlink|
id| id|
imagemediametadata| imagemediametadata|
inheritedpermissionsdisabled|
isappauthorized| isappauthorized|
labelinfo| labelinfo|
<DriveLabelInfoSubfieldName>| <DriveLabelInfoSubfieldName>|
@@ -6998,8 +6999,8 @@ gam <UserTypeEntity> collect orphans
<DriveSharingUserSubfieldName>| <DriveSharingUserSubfieldName>|
shortcutdetails| shortcutdetails|
<DriveShortcutDetailsSubfieldName>| <DriveShortcutDetailsSubfieldName>|
sha1Checksum| sha1checksum|
sha256Checksum| sha256checksum|
size| size|
spaces| spaces|
starred| starred|

View File

@@ -1,3 +1,11 @@
7.00.12
Updated option `showlastmodification` to `gam <UserTypeEntity> print|show filecounts` to handle
the case where all users owning files are suspended. In this case the `lastModifyingUser` column
will show the user's display name as the API doesn't return the user's email address.
Updated support for `Folders with limited access`; this is a work in progress.
7.00.11 7.00.11
Updated to Python 3.12.7 where possible. Updated to Python 3.12.7 where possible.

File diff suppressed because it is too large Load Diff

View File

@@ -14,7 +14,6 @@ datas += [('admin-directory_v1.1beta1.json', '.')]
datas += [('cbcm-v1.1beta1.json', '.')] datas += [('cbcm-v1.1beta1.json', '.')]
datas += [('contactdelegation-v1.json', '.')] datas += [('contactdelegation-v1.json', '.')]
datas += [('datastudio-v1.json', '.')] datas += [('datastudio-v1.json', '.')]
datas += [('drive-v3beta.json', '.')]
datas += [('serviceaccountlookup-v1.json', '.')] datas += [('serviceaccountlookup-v1.json', '.')]
datas += [('cacerts.pem', '.')] datas += [('cacerts.pem', '.')]
hiddenimports = [ hiddenimports = [

View File

@@ -25,7 +25,7 @@ https://github.com/GAM-team/GAM/wiki
""" """
__author__ = 'GAM Team <google-apps-manager@googlegroups.com>' __author__ = 'GAM Team <google-apps-manager@googlegroups.com>'
__version__ = '7.00.11' __version__ = '7.00.12'
__license__ = 'Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)' __license__ = 'Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)'
#pylint: disable=wrong-import-position #pylint: disable=wrong-import-position
@@ -4670,8 +4670,7 @@ def getAPIService(api, httpObj):
def getService(api, httpObj): def getService(api, httpObj):
### Drive v3beta ### Drive v3beta
if api == API.DRIVE3 and GC.Values[GC.DRIVE_V3_BETA]: mapDriveURL = api == API.DRIVE3 and GC.Values[GC.DRIVE_V3_BETA]
api = API.DRIVE3B
hasLocalJSON = API.hasLocalJSON(api) hasLocalJSON = API.hasLocalJSON(api)
api, version, v2discovery = API.getVersion(api) api, version, v2discovery = API.getVersion(api)
if api in GM.Globals[GM.CURRENT_API_SERVICES] and version in GM.Globals[GM.CURRENT_API_SERVICES][api]: if api in GM.Globals[GM.CURRENT_API_SERVICES] and version in GM.Globals[GM.CURRENT_API_SERVICES][api]:
@@ -4687,6 +4686,9 @@ def getService(api, httpObj):
discoveryServiceUrl=DISCOVERY_URIS[v2discovery], static_discovery=False) discoveryServiceUrl=DISCOVERY_URIS[v2discovery], static_discovery=False)
GM.Globals[GM.CURRENT_API_SERVICES].setdefault(api, {}) GM.Globals[GM.CURRENT_API_SERVICES].setdefault(api, {})
GM.Globals[GM.CURRENT_API_SERVICES][api][version] = service._rootDesc.copy() GM.Globals[GM.CURRENT_API_SERVICES][api][version] = service._rootDesc.copy()
### Drive v3beta
if mapDriveURL:
setattr(service, '_baseUrl', getattr(service, '_baseUrl').replace('/v3/', '/v3beta/'))
if GM.Globals[GM.CACHE_DISCOVERY_ONLY]: if GM.Globals[GM.CACHE_DISCOVERY_ONLY]:
clearServiceCache(service) clearServiceCache(service)
return service return service
@@ -4732,8 +4734,6 @@ def defaultSvcAcctScopes():
saScopes[API.DRIVE2] = saScopes[API.DRIVE3] saScopes[API.DRIVE2] = saScopes[API.DRIVE3]
saScopes[API.DRIVETD] = saScopes[API.DRIVE3] saScopes[API.DRIVETD] = saScopes[API.DRIVE3]
saScopes[API.SHEETSTD] = saScopes[API.SHEETS] saScopes[API.SHEETSTD] = saScopes[API.SHEETS]
### Drive v3beta
saScopes[API.DRIVE3B] = saScopes[API.DRIVE3]
return saScopes return saScopes
def _getSvcAcctData(): def _getSvcAcctData():
@@ -53774,12 +53774,12 @@ def showFileInfo(users):
j += 1 j += 1
try: try:
result = callGAPI(drive.files(), 'get', result = callGAPI(drive.files(), 'get',
throwReasons=GAPI.DRIVE_GET_THROW_REASONS, throwReasons=GAPI.DRIVE_GET_THROW_REASONS+[GAPI.INVALID],
fileId=fileId, includeLabels=includeLabels, fields=fields, supportsAllDrives=True) fileId=fileId, includeLabels=includeLabels, fields=fields, supportsAllDrives=True)
if followShortcuts and result['mimeType'] == MIMETYPE_GA_SHORTCUT: if followShortcuts and result['mimeType'] == MIMETYPE_GA_SHORTCUT:
fileId = result['shortcutDetails']['targetId'] fileId = result['shortcutDetails']['targetId']
result = callGAPI(drive.files(), 'get', result = callGAPI(drive.files(), 'get',
throwReasons=GAPI.DRIVE_GET_THROW_REASONS, throwReasons=GAPI.DRIVE_GET_THROW_REASONS+[GAPI.INVALID],
fileId=fileId, includeLabels=includeLabels, fields=fields, supportsAllDrives=True) fileId=fileId, includeLabels=includeLabels, fields=fields, supportsAllDrives=True)
if stripCRsFromName: if stripCRsFromName:
result['name'] = _stripControlCharsFromName(result['name']) result['name'] = _stripControlCharsFromName(result['name'])
@@ -55649,7 +55649,11 @@ def printFileList(users):
continue continue
extendFileTreeParents(drive, fileTree, fields) extendFileTreeParents(drive, fileTree, fields)
DLP.GetLocationFileIdsFromTree(fileTree, fileIdEntity) DLP.GetLocationFileIdsFromTree(fileTree, fileIdEntity)
except (GAPI.invalidQuery, GAPI.invalid, GAPI.badRequest): except (GAPI.invalidQuery, GAPI.invalid, GAPI.badRequest) as e:
errMsg = str(e)
if 'Invalid field selection' in errMsg:
entityActionFailedWarning([Ent.USER, user, Ent.DRIVE_FILE_OR_FOLDER, None], errMsg, i, count)
break
entityActionFailedWarning([Ent.USER, user, Ent.DRIVE_FILE_OR_FOLDER, None], invalidQuery(DLP.fileIdEntity['query']), i, count) entityActionFailedWarning([Ent.USER, user, Ent.DRIVE_FILE_OR_FOLDER, None], invalidQuery(DLP.fileIdEntity['query']), i, count)
if not continueOnInvalidQuery: if not continueOnInvalidQuery:
break break
@@ -56227,7 +56231,7 @@ def printShowFileCounts(users):
if showSize or (DLP.minimumFileSize is not None) or (DLP.maximumFileSize is not None): if showSize or (DLP.minimumFileSize is not None) or (DLP.maximumFileSize is not None):
fieldsList.append(sizeField) fieldsList.append(sizeField)
if showLastModification: if showLastModification:
fieldsList.extend(['id,name,modifiedTime,lastModifyingUser(emailAddress)']) fieldsList.extend(['id,name,modifiedTime,lastModifyingUser(me, displayName, emailAddress)'])
if DLP.filenameMatchPattern: if DLP.filenameMatchPattern:
fieldsList.append('name') fieldsList.append('name')
if DLP.excludeTrashed: if DLP.excludeTrashed:
@@ -56422,7 +56426,8 @@ def printShowFileCounts(users):
userLastModification['lastModifiedFileId'] = f_file['id'] userLastModification['lastModifiedFileId'] = f_file['id']
userLastModification['lastModifiedFileName'] = _stripControlCharsFromName(f_file['name']) userLastModification['lastModifiedFileName'] = _stripControlCharsFromName(f_file['name'])
userLastModification['lastModifiedTime'] = f_file['modifiedTime'] userLastModification['lastModifiedTime'] = f_file['modifiedTime']
userLastModification['lastModifyingUser'] = f_file['lastModifyingUser'].get('emailAddress', UNKNOWN) userLastModification['lastModifyingUser'] = f_file['lastModifyingUser'].get('emailAddress',
f_file['lastModifyingUser'].get('displayName', UNKNOWN))
showMimeTypeInfo(user, mimeTypeInfo, sharedDriveId, sharedDriveName, userLastModification, i, count) showMimeTypeInfo(user, mimeTypeInfo, sharedDriveId, sharedDriveName, userLastModification, i, count)
if showLastModification and userLastModification['lastModifiedTime'] > summaryLastModification['lastModifiedTime']: if showLastModification and userLastModification['lastModifiedTime'] > summaryLastModification['lastModifiedTime']:
summaryLastModification = userLastModification.copy() summaryLastModification = userLastModification.copy()

File diff suppressed because it is too large Load Diff

View File

@@ -58,7 +58,6 @@ DIRECTORY_BETA = 'directory_beta'
DOCS = 'docs' DOCS = 'docs'
DRIVE2 = 'drive2' DRIVE2 = 'drive2'
DRIVE3 = 'drive3' DRIVE3 = 'drive3'
DRIVE3B = 'drive3b'
DRIVETD = 'drivetd' DRIVETD = 'drivetd'
DRIVEACTIVITY = 'driveactivity' DRIVEACTIVITY = 'driveactivity'
DRIVELABELS = 'drivelabels' DRIVELABELS = 'drivelabels'
@@ -238,7 +237,6 @@ _INFO = {
DOCS: {'name': 'Docs API', 'version': 'v1', 'v2discovery': True}, DOCS: {'name': 'Docs API', 'version': 'v1', 'v2discovery': True},
DRIVE2: {'name': 'Drive API v2', 'version': 'v2', 'v2discovery': False, 'mappedAPI': 'drive'}, DRIVE2: {'name': 'Drive API v2', 'version': 'v2', 'v2discovery': False, 'mappedAPI': 'drive'},
DRIVE3: {'name': 'Drive API v3', 'version': 'v3', 'v2discovery': False, 'mappedAPI': 'drive'}, DRIVE3: {'name': 'Drive API v3', 'version': 'v3', 'v2discovery': False, 'mappedAPI': 'drive'},
DRIVE3B: {'name': 'Drive API v3beta', 'version': 'v3beta', 'v2discovery': False, 'mappedAPI': 'drive', 'localjson': True},
DRIVETD: {'name': 'Drive API v3 - todrive', 'version': 'v3', 'v2discovery': False, 'mappedAPI': 'drive'}, DRIVETD: {'name': 'Drive API v3 - todrive', 'version': 'v3', 'v2discovery': False, 'mappedAPI': 'drive'},
DRIVEACTIVITY: {'name': 'Drive Activity API v2', 'version': 'v2', 'v2discovery': True}, DRIVEACTIVITY: {'name': 'Drive Activity API v2', 'version': 'v2', 'v2discovery': True},
DRIVELABELS_ADMIN: {'name': 'Drive Labels API v2beta - Admin', 'version': 'v2beta', 'v2discovery': True, 'mappedAPI': DRIVELABELS}, DRIVELABELS_ADMIN: {'name': 'Drive Labels API v2beta - Admin', 'version': 'v2beta', 'v2discovery': True, 'mappedAPI': DRIVELABELS},