From 07c57d41975e3dfffc5e8f8b38e3a8a07b76d067 Mon Sep 17 00:00:00 2001 From: Jay Lee Date: Fri, 9 Oct 2020 10:31:21 -0400 Subject: [PATCH] add support for Drive shortcut creation --- src/gam/__init__.py | 4 ++++ src/gam/var.py | 24 +++++++++++++----------- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/src/gam/__init__.py b/src/gam/__init__.py index 7bc5ec98..7be99de6 100755 --- a/src/gam/__init__.py +++ b/src/gam/__init__.py @@ -3543,6 +3543,10 @@ def getDriveFileAttribute(i, body, parameters, myarg, update=False): else: controlflow.invalid_argument_exit( restriction, f'gam {operation} drivefile') + elif myarg == 'shortcut': + body['mimeType'] = MIMETYPE_GA_SHORTCUT + body['shortcutDetails'] = {'targetId': sys.argv[i+1]} + i += 2 else: controlflow.invalid_argument_exit( myarg, f"gam {operation} drivefile") diff --git a/src/gam/var.py b/src/gam/var.py index 8d811f14..f9f12c8e 100644 --- a/src/gam/var.py +++ b/src/gam/var.py @@ -8,7 +8,7 @@ import platform import re GAM_AUTHOR = 'Jay Lee ' -GAM_VERSION = '5.22' +GAM_VERSION = '5.23' GAM_LICENSE = 'Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)' GAM_URL = 'https://git.io/gam' @@ -488,16 +488,17 @@ DRIVEFILE_LABEL_CHOICES_MAP = { } APPLICATION_VND_GOOGLE_APPS = 'application/vnd.google-apps.' -MIMETYPE_GA_DOCUMENT = APPLICATION_VND_GOOGLE_APPS + 'document' -MIMETYPE_GA_DRAWING = APPLICATION_VND_GOOGLE_APPS + 'drawing' -MIMETYPE_GA_FOLDER = APPLICATION_VND_GOOGLE_APPS + 'folder' -MIMETYPE_GA_FORM = APPLICATION_VND_GOOGLE_APPS + 'form' -MIMETYPE_GA_FUSIONTABLE = APPLICATION_VND_GOOGLE_APPS + 'fusiontable' -MIMETYPE_GA_MAP = APPLICATION_VND_GOOGLE_APPS + 'map' -MIMETYPE_GA_PRESENTATION = APPLICATION_VND_GOOGLE_APPS + 'presentation' -MIMETYPE_GA_SCRIPT = APPLICATION_VND_GOOGLE_APPS + 'script' -MIMETYPE_GA_SITES = APPLICATION_VND_GOOGLE_APPS + 'sites' -MIMETYPE_GA_SPREADSHEET = APPLICATION_VND_GOOGLE_APPS + 'spreadsheet' +MIMETYPE_GA_DOCUMENT = f'{APPLICATION_VND_GOOGLE_APPS}document' +MIMETYPE_GA_DRAWING = f'{APPLICATION_VND_GOOGLE_APPS}drawing' +MIMETYPE_GA_FOLDER = f'{APPLICATION_VND_GOOGLE_APPS}folder' +MIMETYPE_GA_FORM = f'{APPLICATION_VND_GOOGLE_APPS}form' +MIMETYPE_GA_FUSIONTABLE = f'{APPLICATION_VND_GOOGLE_APPS}fusiontable' +MIMETYPE_GA_MAP = f'{APPLICATION_VND_GOOGLE_APPS}map' +MIMETYPE_GA_PRESENTATION = f'{APPLICATION_VND_GOOGLE_APPS}presentation' +MIMETYPE_GA_SCRIPT = f'{APPLICATION_VND_GOOGLE_APPS}script' +MIMETYPE_GA_SITES = f'{APPLICATION_VND_GOOGLE_APPS}sites' +MIMETYPE_GA_SPREADSHEET = f'{APPLICATION_VND_GOOGLE_APPS}spreadsheet' +MIMETYPE_GA_SHORTCUT = f'{APPLICATION_VND_GOOGLE_APPS}shortcut' MIMETYPE_CHOICES_MAP = { 'gdoc': MIMETYPE_GA_DOCUMENT, @@ -512,6 +513,7 @@ MIMETYPE_CHOICES_MAP = { 'gsite': MIMETYPE_GA_SITES, 'gsheet': MIMETYPE_GA_SPREADSHEET, 'gspreadsheet': MIMETYPE_GA_SPREADSHEET, + 'shortcut': MIMETYPE_GA_SHORTCUT, } DFA_CONVERT = 'convert'