mirror of
https://github.com/GAM-team/GAM.git
synced 2026-06-28 01:41:36 +00:00
Fixed <PermissionMatch> bug introduced in 6.67.35
This commit is contained in:
@@ -11,6 +11,17 @@ Add the `-s` option to the end of the above commands to suppress creating the `g
|
||||
|
||||
See [Downloads](https://github.com/taers232c/GAMADV-XTD3/wiki/Downloads) for Windows or other options, including manual installation
|
||||
|
||||
### 6.68.00
|
||||
|
||||
Fixed bug introduced in 6.67.35 that caused a command error like the following or would
|
||||
not properly match `type|nottype <DriveFileACLType>` and `role|notrole <DriveFileACLRole>`.
|
||||
|
||||
```
|
||||
ERROR: permission attribute allowfilediscovery/withlink not allowed with type {'a', 'y', 'e', 'o', 'n'}
|
||||
```
|
||||
|
||||
My sincere apologies.
|
||||
|
||||
### 6.67.39
|
||||
|
||||
Added option `wait <Integer> <Integer>` to `gam create datatransfer` that causes GAM to wait
|
||||
|
||||
@@ -334,7 +334,7 @@ writes the credentials into the file oauth2.txt.
|
||||
admin@server:/Users/admin/bin/gamadv-xtd3$ rm -f /Users/admin/GAMConfig/oauth2.txt
|
||||
admin@server:/Users/admin/bin/gamadv-xtd3$ ./gam version
|
||||
WARNING: Config File: /Users/admin/GAMConfig/gam.cfg, Section: DEFAULT, Item: oauth2_txt, Value: /Users/admin/GAMConfig/oauth2.txt, Not Found
|
||||
GAMADV-XTD3 6.67.39 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource
|
||||
GAMADV-XTD3 6.68.00 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource
|
||||
Ross Scroggs <ross.scroggs@gmail.com>
|
||||
Python 3.12.1 64-bit final
|
||||
MacOS Sonoma 14.2.1 x86_64
|
||||
@@ -1002,7 +1002,7 @@ writes the credentials into the file oauth2.txt.
|
||||
C:\GAMADV-XTD3>del C:\GAMConfig\oauth2.txt
|
||||
C:\GAMADV-XTD3>gam version
|
||||
WARNING: Config File: C:\GAMConfig\gam.cfg, Section: DEFAULT, Item: oauth2_txt, Value: C:\GAMConfig\oauth2.txt, Not Found
|
||||
GAMADV-XTD3 6.67.39 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource
|
||||
GAMADV-XTD3 6.68.00 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource
|
||||
Ross Scroggs <ross.scroggs@gmail.com>
|
||||
Python 3.12.1 64-bit final
|
||||
Windows-10-10.0.17134 AMD64
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Print the current version of Gam with details
|
||||
```
|
||||
gam version
|
||||
GAMADV-XTD3 6.67.39 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource
|
||||
GAMADV-XTD3 6.68.00 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource
|
||||
Ross Scroggs <ross.scroggs@gmail.com>
|
||||
Python 3.12.1 64-bit final
|
||||
MacOS Sonoma 14.2.1 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
|
||||
```
|
||||
gam version timeoffset
|
||||
GAMADV-XTD3 6.67.39 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource
|
||||
GAMADV-XTD3 6.68.00 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource
|
||||
Ross Scroggs <ross.scroggs@gmail.com>
|
||||
Python 3.12.1 64-bit final
|
||||
MacOS Sonoma 14.2.1 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
|
||||
```
|
||||
gam version extended
|
||||
GAMADV-XTD3 6.67.39 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource
|
||||
GAMADV-XTD3 6.68.00 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource
|
||||
Ross Scroggs <ross.scroggs@gmail.com>
|
||||
Python 3.12.1 64-bit final
|
||||
MacOS Sonoma 14.2.1 x86_64
|
||||
@@ -64,7 +64,7 @@ MacOS High Sierra 10.13.6 x86_64
|
||||
Path: /Users/Admin/bin/gamadv-xtd3
|
||||
Version Check:
|
||||
Current: 5.35.08
|
||||
Latest: 6.67.39
|
||||
Latest: 6.68.00
|
||||
echo $?
|
||||
1
|
||||
```
|
||||
@@ -72,7 +72,7 @@ echo $?
|
||||
Print the current version number without details
|
||||
```
|
||||
gam version simple
|
||||
6.67.39
|
||||
6.68.00
|
||||
```
|
||||
In Linux/MacOS you can do:
|
||||
```
|
||||
@@ -82,7 +82,7 @@ echo $VER
|
||||
Print the current version of Gam and address of this Wiki
|
||||
```
|
||||
gam help
|
||||
GAM 6.67.39 - https://github.com/taers232c/GAMADV-XTD3
|
||||
GAM 6.68.00 - https://github.com/taers232c/GAMADV-XTD3
|
||||
Ross Scroggs <ross.scroggs@gmail.com>
|
||||
Python 3.12.1 64-bit final
|
||||
MacOS Sonoma 14.2.1 x86_64
|
||||
|
||||
@@ -2,6 +2,17 @@
|
||||
|
||||
Merged GAM-Team version
|
||||
|
||||
6.68.00
|
||||
|
||||
Fixed `<PermissionMatch>` bug introduced in 6.67.35 that caused a command error like the following or would
|
||||
not properly match `type|nottype <DriveFileACLType>` and `role|notrole <DriveFileACLRole>`.
|
||||
|
||||
```
|
||||
ERROR: permission attribute allowfilediscovery/withlink not allowed with type {'a', 'y', 'e', 'o', 'n'}
|
||||
```
|
||||
|
||||
My sincere apologies.
|
||||
|
||||
6.67.39
|
||||
|
||||
Added option `wait <Integer> <Integer>` to `gam create datatransfer` that causes GAM to wait
|
||||
|
||||
@@ -52520,14 +52520,18 @@ def addFilePathsToInfo(drive, fileTree, fileEntryInfo, filePathInfo, addParentsT
|
||||
fileEntryInfo['paths'].append(path)
|
||||
|
||||
def _validatePermissionOwnerType(location, body):
|
||||
if body.get('role', '') == 'owner' and body['type'] != 'user':
|
||||
Cmd.SetLocation(location)
|
||||
usageErrorExit(Msg.INVALID_PERMISSION_ATTRIBUTE_TYPE.format(f'role {body["role"]}', body['type']))
|
||||
if 'role' in body:
|
||||
badTypes = body['type']-{'user'}
|
||||
if 'owner' in body['role'] and badTypes:
|
||||
Cmd.SetLocation(location)
|
||||
usageErrorExit(Msg.INVALID_PERMISSION_ATTRIBUTE_TYPE.format('role owner', ','.join(badTypes)))
|
||||
|
||||
def _validatePermissionAttributes(myarg, location, body, field, validTypes):
|
||||
if field in body and body['type'] not in validTypes:
|
||||
Cmd.SetLocation(location-1)
|
||||
usageErrorExit(Msg.INVALID_PERMISSION_ATTRIBUTE_TYPE.format(myarg, body['type']))
|
||||
if field in body:
|
||||
badTypes = body['type']-validTypes
|
||||
if badTypes:
|
||||
Cmd.SetLocation(location-1)
|
||||
usageErrorExit(Msg.INVALID_PERMISSION_ATTRIBUTE_TYPE.format(myarg, ','.join(badTypes)))
|
||||
|
||||
DRIVEFILE_ACL_ROLES_MAP = {
|
||||
'commenter': 'commenter',
|
||||
@@ -59752,13 +59756,13 @@ def claimOwnership(users):
|
||||
try:
|
||||
if entityType not in {Ent.DRIVE_SHORTCUT, Ent.DRIVE_FILE_SHORTCUT, Ent.DRIVE_FOLDER_SHORTCUT}:
|
||||
if changeParents and 'addParents' in fileInfo:
|
||||
callGAPI(drive.files(), 'update',
|
||||
throwReasons=GAPI.DRIVE_ACCESS_THROW_REASONS+[GAPI.CANNOT_ADD_PARENT, GAPI.INSUFFICIENT_PARENT_PERMISSIONS],
|
||||
fileId=xferFileId, addParents=fileInfo['addParents'], fields='', supportsAllDrives=True)
|
||||
action = Act.Get()
|
||||
Act.Set(Act.ADD)
|
||||
entityModifierNewValueItemValueListActionPerformed(kvList, Act.MODIFIER_TO, None, [Ent.DRIVE_FOLDER, fileInfo['addParents']], l, lcount)
|
||||
Act.Set(action)
|
||||
callGAPI(drive.files(), 'update',
|
||||
throwReasons=GAPI.DRIVE_ACCESS_THROW_REASONS+[GAPI.CANNOT_ADD_PARENT, GAPI.INSUFFICIENT_PARENT_PERMISSIONS],
|
||||
fileId=xferFileId, addParents=fileInfo['addParents'], fields='', supportsAllDrives=True)
|
||||
action = Act.Get()
|
||||
Act.Set(Act.ADD)
|
||||
entityModifierNewValueItemValueListActionPerformed(kvList, Act.MODIFIER_TO, None, [Ent.DRIVE_FOLDER, fileInfo['addParents']], l, lcount)
|
||||
Act.Set(action)
|
||||
else:
|
||||
if changeParents and 'addParents' in fileInfo and entityType != Ent.DRIVE_SHORTCUT:
|
||||
body = {'name': fileInfo['name'], 'mimeType': MIMETYPE_GA_SHORTCUT,
|
||||
@@ -66890,9 +66894,9 @@ def printShowMessagesThreads(users, entityType):
|
||||
if (not attachmentNamePattern) or attachmentNamePattern.match(attachmentName):
|
||||
charset = ''
|
||||
if part['mimeType'] == 'text/plain':
|
||||
mg = CHARSET_NAME_PATTERN.match(header['value'])
|
||||
if mg:
|
||||
charset = mg.group(1)
|
||||
mg = CHARSET_NAME_PATTERN.match(header['value'])
|
||||
if mg:
|
||||
charset = mg.group(1)
|
||||
if (part['mimeType'] == 'text/plain' and not noshow_text_plain) or save_attachments:
|
||||
try:
|
||||
result = callGAPI(gmail.users().messages().attachments(), 'get',
|
||||
@@ -67050,9 +67054,9 @@ def printShowMessagesThreads(users, entityType):
|
||||
attachmentName = mg.group(1)
|
||||
charset = ''
|
||||
if part['mimeType'] == 'text/plain':
|
||||
mg = CHARSET_NAME_PATTERN.match(header['value'])
|
||||
if mg:
|
||||
charset = mg.group(1)
|
||||
mg = CHARSET_NAME_PATTERN.match(header['value'])
|
||||
if mg:
|
||||
charset = mg.group(1)
|
||||
if (not attachmentNamePattern) or attachmentNamePattern.match(attachmentName):
|
||||
attachments.append((attachmentName, part['mimeType'], part['body']['size'], charset))
|
||||
break
|
||||
|
||||
Reference in New Issue
Block a user