Allow filtering on modifiedTime in copy drivefile

This commit is contained in:
Ross Scroggs
2026-01-29 19:36:04 -08:00
parent 8e105091d4
commit 83179be184
4 changed files with 28 additions and 13 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/GAM-team/GAM/wiki/Downloads-Installs) for Windows or other options, including manual installation See [Downloads-Installs-GAM7](https://github.com/GAM-team/GAM/wiki/Downloads-Installs) for Windows or other options, including manual installation
### 7.32.06
Added options to `gam <UserTypeEntity> copy drivefile ... copysubfiles` to limit copying
of files whose `modifiedTime` meets specified requirements.
* `start|starttime <Date>|<Time>` - If specified, `modifiedTime` must be >= the value
* `end|endtime <Date>|<Time>` - If specified, `modifiedTime` must be <= the value
* `range <Date>|<Time> <Date>|<Time>` - first value <= `modifiedTime` <= second value
### 7.32.05 ### 7.32.05
Fixed bug in `gam <UserTypeEntity> print messages|threads ... headers <SMTPHeaderList>` where Fixed bug in `gam <UserTypeEntity> print messages|threads ... headers <SMTPHeaderList>` where

View File

@@ -252,7 +252,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.32.05 - https://github.com/GAM-team/GAM - pyinstaller GAM 7.32.06 - https://github.com/GAM-team/GAM - pyinstaller
GAM Team <google-apps-manager@googlegroups.com> GAM Team <google-apps-manager@googlegroups.com>
Python 3.14.2 64-bit final Python 3.14.2 64-bit final
macOS Tahoe 26.2 x86_64 macOS Tahoe 26.2 x86_64
@@ -990,7 +990,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
GAM 7.32.05 - https://github.com/GAM-team/GAM - pythonsource GAM 7.32.06 - https://github.com/GAM-team/GAM - pythonsource
GAM Team <google-apps-manager@googlegroups.com> GAM Team <google-apps-manager@googlegroups.com>
Python 3.14.2 64-bit final Python 3.14.2 64-bit final
Windows 11 10.0.26200 AMD64 Windows 11 10.0.26200 AMD64

View File

@@ -111,6 +111,7 @@ gam <UserTypeEntity> copy drivefile <DriveFileEntity>
notusers <EmailAddressList>| notusers <EmailAddressList>|
regex <REMatchPattern>| regex <REMatchPattern>|
notregex <REMatchPattern>] notregex <REMatchPattern>]
[([start|starttime <Date>|<Time>] [end|endtime <Date>|<Time>])|(range <Date>|<Time> <Date>|<Time>)]|
[copysubfolders [<Boolean>]] [foldernamematchpattern <REMatchPattern>] [copysubfolders [<Boolean>]] [foldernamematchpattern <REMatchPattern>]
[copysubshortcuts [<Boolean>]] [shortcutnamematchpattern <REMatchPattern>] [copysubshortcuts [<Boolean>]] [shortcutnamematchpattern <REMatchPattern>]
[duplicatefiles overwriteolder|overwriteall|duplicatename|uniquename|skip] [duplicatefiles overwriteolder|overwriteall|duplicatename|uniquename|skip]
@@ -182,16 +183,18 @@ You can specify whether sub files, folders and shortcuts are copied. If sub fold
* `copysubshortcuts false` - Sub shortcuts are not copied * `copysubshortcuts false` - Sub shortcuts are not copied
* `copysubshortcuts [true]` - Sub shortcuts are copied; this is the default * `copysubshortcuts [true]` - Sub shortcuts are copied; this is the default
By default, GAM displays a message referencing files and folders not selected for copying by the options above.
* `suppressnotselectedmessages false` - Do not suppress these messages; this is the default
* `suppressnotselectedmessages [true]` - Suppress these messages
### By default, when copying sub files, all files, regardless of MIME type, are copied. ### By default, when copying sub files, all files, regardless of MIME type, are copied.
You can specify restrictions on the MIME types to be copied. You can specify restrictions on the MIME types to be copied.
* `filemimetypes <MimeTypeList>` - Copy sub files with the specified MIME types * `filemimetypes <MimeTypeList>` - Copy sub files with the specified MIME types
* `filemimetypes not <MimeTypeList>` - Copy sub files with MIME types other than those specified * `filemimetypes not <MimeTypeList>` - Copy sub files with MIME types other than those specified
* `filemimetypes category <MimeTypeNameList>` - Copy sub files with the specified MIME type categories * `filemimetypes category <MimeTypeNameList>` - Copy sub files with the specified MIME type categories
### By default, when copying sub files, all files, regardless of their `modifiedTime`, are copied.
You can specify restrictions on the `modifiedTime` to be copied.
* `start|starttime <Date>|<Time>` - If specified, `modifiedTime` must be >= the value
* `end|endtime <Date>|<Time>` - If specified, `modifiedTime` must be <= the value
* `range <Date>|<Time> <Date>|<Time>` - first value <= `modifiedTime` <= second value
### By default, when copying sub files, folders and shortcuts, all are copied. ### By default, when copying sub files, folders and shortcuts, all are copied.
You can specify `<REMatchPattern>` patterns that limit the items copied based on their name. You can specify `<REMatchPattern>` patterns that limit the items copied based on their name.
* `filenamematchpattern <REMatchPattern>` - Only files whose name matches `<REMatchPattern>` are copied * `filenamematchpattern <REMatchPattern>` - Only files whose name matches `<REMatchPattern>` are copied
@@ -207,6 +210,10 @@ You can specify `<REMatchPattern>` patterns that limit the items copied based on
* `copysubfilesownedby regex <REMatchPattern>` - Only files owned by users whose email addresses match `<REMatchPattern>` are copied. * `copysubfilesownedby regex <REMatchPattern>` - Only files owned by users whose email addresses match `<REMatchPattern>` are copied.
* `copysubfilesownedby notregex <REMatchPattern>` - Only files owned by users whose email addresses do not match `<REMatchPattern>` are copied. * `copysubfilesownedby notregex <REMatchPattern>` - Only files owned by users whose email addresses do not match `<REMatchPattern>` are copied.
### By default, GAM displays a message referencing files and folders not selected for copying by the options above.
* `suppressnotselectedmessages false` - Do not suppress these messages; this is the default
* `suppressnotselectedmessages [true]` - Suppress these messages
### Specify a new name for the file/folder ### Specify a new name for the file/folder
* `newfilename <DriveFileName>` - The copied file/folder will be named `<DriveFileName>` * `newfilename <DriveFileName>` - The copied file/folder will be named `<DriveFileName>`
* If `stripnameprefix <String>` is specified, `<String>` will be stripped from the front of `<DriveFileName>` * If `stripnameprefix <String>` is specified, `<String>` will be stripped from the front of `<DriveFileName>`

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.32.05 - https://github.com/GAM-team/GAM - pyinstaller GAM 7.32.06 - https://github.com/GAM-team/GAM - pyinstaller
GAM Team <google-apps-manager@googlegroups.com> GAM Team <google-apps-manager@googlegroups.com>
Python 3.14.2 64-bit final Python 3.14.2 64-bit final
macOS Tahoe 26.2 x86_64 macOS Tahoe 26.2 x86_64
@@ -15,7 +15,7 @@ Time: 2025-12-23T13:57:00-08: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.32.05 - https://github.com/GAM-team/GAM - pyinstaller GAM 7.32.06 - https://github.com/GAM-team/GAM - pyinstaller
GAM Team <google-apps-manager@googlegroups.com> GAM Team <google-apps-manager@googlegroups.com>
Python 3.14.2 64-bit final Python 3.14.2 64-bit final
macOS Tahoe 26.2 x86_64 macOS Tahoe 26.2 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.32.05 - https://github.com/GAM-team/GAM - pyinstaller GAM 7.32.06 - https://github.com/GAM-team/GAM - pyinstaller
GAM Team <google-apps-manager@googlegroups.com> GAM Team <google-apps-manager@googlegroups.com>
Python 3.14.2 64-bit final Python 3.14.2 64-bit final
macOS Tahoe 26.2 x86_64 macOS Tahoe 26.2 x86_64
@@ -35,7 +35,7 @@ Path: /Users/Admin/bin/gam7
Config File: /Users/admin/GAMConfig/gam.cfg, Section: DEFAULT, customer_id: my_customer, domain: domain.com Config File: /Users/admin/GAMConfig/gam.cfg, Section: DEFAULT, customer_id: my_customer, domain: domain.com
Time: 2025-12-23T13:57:00-08:00 Time: 2025-12-23T13:57:00-08:00
Your system time differs from admin.googleapis.com by less than 1 second Your system time differs from admin.googleapis.com by less than 1 second
OpenSSL 3.5.3 16 Sep 2025 OpenSSL 3.6.1 27 Jan 2026
arrow 1.3.0 arrow 1.3.0
chardet 5.2.0 chardet 5.2.0
cryptography 46.0.1 cryptography 46.0.1
@@ -68,7 +68,7 @@ MacOS High Sierra 10.13.6 x86_64
Path: /Users/Admin/bin/gam7 Path: /Users/Admin/bin/gam7
Version Check: Version Check:
Current: 5.35.08 Current: 5.35.08
Latest: 7.32.05 Latest: 7.32.06
echo $? echo $?
1 1
``` ```
@@ -76,7 +76,7 @@ echo $?
Print the current version number without details Print the current version number without details
``` ```
gam version simple gam version simple
7.32.05 7.32.06
``` ```
In Linux/MacOS you can do: In Linux/MacOS you can do:
``` ```
@@ -86,7 +86,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.32.05 - https://github.com/GAM-team/GAM GAM 7.32.06 - https://github.com/GAM-team/GAM
GAM Team <google-apps-manager@googlegroups.com> GAM Team <google-apps-manager@googlegroups.com>
Python 3.14.2 64-bit final Python 3.14.2 64-bit final
macOS Tahoe 26.2 x86_64 macOS Tahoe 26.2 x86_64