gam7 7.13.2__tar.gz → 7.13.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of gam7 might be problematic. Click here for more details.
- {gam7-7.13.2 → gam7-7.13.3}/PKG-INFO +1 -1
- {gam7-7.13.2 → gam7-7.13.3}/src/GamCommands.txt +7 -4
- {gam7-7.13.2 → gam7-7.13.3}/src/GamUpdate.txt +9 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/__init__.py +87 -49
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/gamlib/glclargs.py +2 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Chrome-Profile-Management.md +36 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/GamUpdates.md +6 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Google-Data-Transfers.md +2 -3
- {gam7-7.13.2 → gam7-7.13.3}/.github/ISSUE_TEMPLATE/aa-question.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/.github/ISSUE_TEMPLATE/za-bug-report.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/.github/ISSUE_TEMPLATE/zz-feature-request.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/.github/ISSUE_TEMPLATE.txt +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/.github/actions/decrypt.sh +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/.github/actions/entitlements.plist +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/.github/actions/package_exclusions.txt +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/.github/stale.yml +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/.github/workflows/build.yml +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/.github/workflows/codeql-analysis.yml +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/.github/workflows/get-cacerts.yml +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/.github/workflows/pushwiki.yml +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/.github/workflows/pypi.yml +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/.pre-commit-config.yaml +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/LICENSE +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/README.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/pyproject.toml +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/.gitignore +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/LICENSE +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/README.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/cacerts.pem +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/callgam.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/__main__.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/atom/__init__.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/atom/auth.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/atom/client.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/atom/core.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/atom/data.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/atom/http.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/atom/http_core.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/atom/http_interface.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/atom/mock_http.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/atom/mock_http_core.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/atom/mock_service.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/atom/service.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/atom/token_store.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/atom/url.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/cacerts.pem +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/cbcm-v1.1beta1.json +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/contactdelegation-v1.json +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/datastudio-v1.json +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/gamlib/__init__.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/gamlib/glaction.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/gamlib/glapi.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/gamlib/glcfg.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/gamlib/glentity.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/gamlib/glgapi.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/gamlib/glgdata.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/gamlib/glglobals.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/gamlib/glindent.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/gamlib/glmsgs.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/gamlib/glskus.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/gamlib/gluprop.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/gamlib/glverlibs.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/gamlib/yubikey.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/gdata/__init__.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/gdata/alt/__init__.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/gdata/alt/app_engine.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/gdata/alt/appengine.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/gdata/apps/__init__.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/gdata/apps/audit/__init__.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/gdata/apps/audit/service.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/gdata/apps/contacts/__init__.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/gdata/apps/contacts/service.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/gdata/apps/service.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/gdata/service.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/gdata/urlfetch.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/googleapiclient/__init__.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/googleapiclient/_auth.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/googleapiclient/_helpers.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/googleapiclient/channel.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/googleapiclient/discovery.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/googleapiclient/discovery_cache/__init__.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/googleapiclient/discovery_cache/appengine_memcache.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/googleapiclient/discovery_cache/base.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/googleapiclient/discovery_cache/file_cache.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/googleapiclient/errors.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/googleapiclient/http.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/googleapiclient/mimeparse.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/googleapiclient/model.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/googleapiclient/schema.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/googleapiclient/version.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/iso8601/__init__.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/iso8601/iso8601.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/meet-v2beta.json +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/serviceaccountlookup-v1.json +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam/six.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam-install.sh +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam-setup.bat +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam.exe.manifest +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam.spec +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/gam.wxs +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/license.rtf +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/requirements-dev.txt +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/requirements.txt +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/setup.cfg +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/setup.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/tools/a_atleast_b.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/tools/gen-wix-xml-filelist.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/tools/mkGamRef.py +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/tools/openssl.props +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/src/version_info.txt.in +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/00scratch.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Addresses.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Administrators.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Alert-Center.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Aliases.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Authorization.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/BNF-Syntax.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Basic-Items.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Bulk-Processing.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/CSV-Input-Filtering.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/CSV-Output-Filtering.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/CSV-Special-Characters.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Calendars-Access.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Calendars-Events.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Calendars.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Chat-Bot.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Chrome-AUE-Counts.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Chrome-Browser-Cloud-Management.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Chrome-Installed-Apps.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Chrome-Needs-Attention-Counts.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Chrome-Policies.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Chrome-Printers.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Chrome-Version-Counts.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Chrome-Version-History.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/ChromeOS-Devices.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Classroom-Courses.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Classroom-Guardians.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Classroom-Invitations.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Classroom-Membership.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Cloud-Channel.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Cloud-Identity-Devices.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Cloud-Identity-Groups-Membership.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Cloud-Identity-Groups.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Cloud-Identity-Policies.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Cloud-Storage.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Collections-of-ChromeOS-Devices.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Collections-of-Items.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Collections-of-Users.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Command-Data-From-Google-Docs-Sheets-Storage.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Command-Line-Parsing.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Command-Logging-Progress.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Context-Aware-Access-Levels.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Customer.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Domain-People-Contacts-Profiles.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Domain-SharedContacts.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Domains-Verification.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Domains.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Downloads-Installs.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Drive-File-Selection.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Drive-Items.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Drive-REST-API-v3.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Email-Audit-Monitor.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Find-File-Owner.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/GAM-Public-Chat-Room.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/GAM-Return-Codes.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/GAM-with-minimal-GCP-rights.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/GAM7-on-Android-Devices.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/GAM7-on-Chrome-OS-Devices.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Google-Network-Addresses.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Groups-Membership.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Groups.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/HTTPS-Proxy.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Home.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/How-to-Install-GAM7.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/How-to-Uninstall-GAM7.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/How-to-Update-GAM7.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/How-to-Upgrade-GAMADV-XTD3-to-GAM7.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/How-to-Upgrade-Legacy-GAM-to-GAM7.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Inbound-SSO.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Install-GAM-as-Python-Library.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Licenses.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/List-Items.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/List.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Meta-Commands-and-File-Redirection.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Mobile-Devices.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Organizational-Units.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Other-Resources.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Permission-Matches.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Python-Regular-Expressions.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/README.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Rclone.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Reports.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Reseller.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Resources.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Running-GAM7-securely-on-a-Google-Compute-Engine.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/SSL-Root-CA-Certificates.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Schemas.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Scripts.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Send-Email.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Shared-Drives.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Sites.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Tag-Replace.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Todrive.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Unmanaged-Accounts.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Upgrade-Benefits.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Analytics-Admin.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Application-Specific-Passwords.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Backup-Verification-Codes.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Calendars-Access.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Calendars-Events.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Calendars.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Chat.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Classification-Labels.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Classroom-Profile.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Contacts-Delegates.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Contacts.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Deprovision.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Drive-Activity-Settings.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Drive-Cleanup.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Drive-Comments.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Drive-Copy-Move.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Drive-Files-Display.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Drive-Files-Manage.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Drive-Orphans.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Drive-Ownership.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Drive-Permissions.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Drive-Query.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Drive-Revisions.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Drive-Shortcuts.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Drive-Transfer.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Forms.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Gmail-CSE.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Gmail-Delegates.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Gmail-Filters.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Gmail-Forwarding.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Gmail-Labels.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Gmail-Messages-Threads.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Gmail-Profile.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Gmail-S-MIME.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Gmail-Send-As-Signature-Vacation.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Gmail-Settings.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Group-Membership.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Keep-Notes.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Looker-Studio.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Meet.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-People-Contacts-Profiles.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Photo.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Profile-Photo.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Profile-Sharing.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Shared-Drives.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Signout-Turnoff2SV.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Spreadsheets.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Tasks.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-Tokens.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users-YouTube.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Users.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Using-GAM7-with-a-YubiKey.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Using-GAM7-with-a-delegated-admin-service-account.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Vault-Takeout.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Verifying-a-GAM7-Build-is-Legitimate-and-Official.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/Version-and-Help.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/_Sidebar.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/gam.cfg.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-AdminSettingsExamples.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-Android-Installation.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-BulkOperations.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-CalendarExamples.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-Chat-Bot.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-Chrome-Browser-Management.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-Chrome-OS-Installation.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-Chrome-Policy-Settings.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-Cloud-Identity-Groups.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-Command-Reference-Calendar-Resources.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-Command-Reference-Calendars.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-Command-Reference-Definitions.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-Command-Reference-Drive.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-Command-Reference-Email.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-Command-Reference-Group-Attributes.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-Command-Reference-Groups.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-Command-Reference-Users.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-Context-Aware-Access-Levels.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-Creating-client_secrets.json-and-oauth2service.json.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-CreatingClientSecretsFile.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-Custom-Schemas.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-Data-Transfers.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-DomainVerification.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-ExamplesAccountAuditing.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-ExamplesCSV.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-ExamplesEmailSettings.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-ExamplesOrganizations.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-GAM-Discussion-Group.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-GAM-on-Android-and-Chrome-OS.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-GAM-options-files.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-GAM-with--minimal-GCP-rights.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-GAM3CSVListings.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-GAM3DirectoryCommands.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-GAM3GroupSettings.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-GAM7-FAQ.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-Google-Vault---Takeout-Commands.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-GoogleDriveManagement.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-Grouping-18-or-Older-Users.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-Home.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-How-to-upgrade-from-Standard-GAM.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-Inbound-SSO-Settings.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-LicenseExamples.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-Managing-Admins.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-Managing-CloudPrint-Printers.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-Managing-Devices.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-Managing-Google-Classroom.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-OAuthKeyManagement.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-Printers.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-ResellerCommands.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-Running-GAM-on-Google-Compute-Engine-(GCE)-Securely.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-SecurityExamples.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-UnmanagedUsersExamples.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-Use-a-Yubikey.md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-Using-GAM-with-a-delegated-admin-service-account-(DASA).md +0 -0
- {gam7-7.13.2 → gam7-7.13.3}/wiki/l-_Footer.md +0 -0
|
@@ -685,6 +685,7 @@ If an item contains spaces, it should be surrounded by ".
|
|
|
685
685
|
<CalendarList> ::= "<CalendarItem>(,<CalendarItem>)*"
|
|
686
686
|
<ChatSpaceList> ::= "<ChatSpace>(,<ChatSpace>)*"
|
|
687
687
|
<ChromeProfileNameList> ::= "<ChromeProfileName>(,<ChromeProfileName>)*"
|
|
688
|
+
<ChromeProfileCommandNameList> ::= "<ChromeProfileCommandName>(,<ChromeProfileCommandName>)*"
|
|
688
689
|
<CIGroupAliasList> ::= "<CIGroupAlias>(,<CIGroupAlias>)*"
|
|
689
690
|
<CIGroupMemberTypeList> ::= "<CIGroupMemberType>(,<CIGroupMemberType>)*"
|
|
690
691
|
<CIPolicyNameList> ::= "<CIPolicyName>(,<CIPolicyName>)*"
|
|
@@ -2228,12 +2229,14 @@ gam show chromeneedsattn
|
|
|
2228
2229
|
|
|
2229
2230
|
<ChromeProfilePermanentID> ::= <String>
|
|
2230
2231
|
<ChromeProfileName> ::= customers/<CustomerID>/profiles/<ChromeProfilePermanentID> | <ChromeProfilePermanentID>
|
|
2231
|
-
<ChromeProfileCommandName> ::= <ChomeProfileName>/commands/<String>
|
|
2232
2232
|
<ChromeProfileNameList> ::= "<ChromeProfileName>(,<ChromeProfileName>)*"
|
|
2233
|
+
<ChromeProfileCommandName> ::= <ChomeProfileName>/commands/<String>
|
|
2234
|
+
<ChromeProfileCommandNameList> ::= "<ChromeProfileCommandName>(,<ChromeProfileCommandName>)*"
|
|
2233
2235
|
<ChromeProfileNameEntity> ::=
|
|
2234
2236
|
<ChromeProfileNameList> |
|
|
2235
|
-
(select <FileSelector>|<CSVFileSelector>) |
|
|
2236
|
-
(filter <String> (filtertime<String> <Time>)* [orderby <ChromeProfileOrderByFieldName> [ascending|descending]])
|
|
2237
|
+
(select <ChromeProfileNameList>|<FileSelector>|<CSVFileSelector>) |
|
|
2238
|
+
(filter <String> (filtertime<String> <Time>)* [orderby <ChromeProfileOrderByFieldName> [ascending|descending]]) |
|
|
2239
|
+
(commands <ChromeProfileCommandNameList>|<FileSelector>|<CSVFileSelector>)
|
|
2237
2240
|
|
|
2238
2241
|
<ChromeProfileFieldName> ::=
|
|
2239
2242
|
affiliationstate|
|
|
@@ -2297,7 +2300,7 @@ gam print chromeprofiles [todrive <ToDriveAttribute>*]
|
|
|
2297
2300
|
|
|
2298
2301
|
gam create chromeprofilecommand <ChromeProfileNameEntity>
|
|
2299
2302
|
[clearcache [<Boolean>]] [clearcookies [<Boolean>]]
|
|
2300
|
-
[formatjson]
|
|
2303
|
+
[csv [todrive <ToDriveAttribute>*] [formatjson [quotechar <Character>]]]
|
|
2301
2304
|
|
|
2302
2305
|
gam info chromeprofilecommand <ChromeProfileCommandName>
|
|
2303
2306
|
[formatjson]
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
7.13.03
|
|
2
|
+
|
|
3
|
+
Added option `csv [todrive <ToDriveAttribute>*] [formatjson [quotechar <Character>]]]`
|
|
4
|
+
to `gam create chromeprofilecommand` so that command details are displayed in CSV format.
|
|
5
|
+
|
|
6
|
+
Added option `commands <ChromeProfileCommandNameList>|<FileSelector>|<CSVFileSelector>` to `<ChromeProfileNameEntity>`
|
|
7
|
+
so that `gam print|show chromeprofilecommands` can directly display the commands generated by
|
|
8
|
+
`gam create chromeprofilecommand` with the `csv` option.
|
|
9
|
+
|
|
1
10
|
7.13.02
|
|
2
11
|
|
|
3
12
|
Fixed bug in `gam create chromeprofilecommand` where `select|filter` were not recognized.
|
|
@@ -25,7 +25,7 @@ https://github.com/GAM-team/GAM/wiki
|
|
|
25
25
|
"""
|
|
26
26
|
|
|
27
27
|
__author__ = 'GAM Team <google-apps-manager@googlegroups.com>'
|
|
28
|
-
__version__ = '7.13.
|
|
28
|
+
__version__ = '7.13.03'
|
|
29
29
|
__license__ = 'Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)'
|
|
30
30
|
|
|
31
31
|
#pylint: disable=wrong-import-position
|
|
@@ -25677,24 +25677,28 @@ def doPrintShowChromeProfiles():
|
|
|
25677
25677
|
csvPF.writeCSVfile('Chrome Profiles')
|
|
25678
25678
|
|
|
25679
25679
|
def _getChromeProfileNameList():
|
|
25680
|
-
if not Cmd.PeekArgumentPresent(['select', 'filter', 'filters']):
|
|
25680
|
+
if not Cmd.PeekArgumentPresent(['select', 'commands', 'filter', 'filters']):
|
|
25681
25681
|
return getString(Cmd.OB_CHROMEPROFILE_NAME_LIST).replace(',', ' ').split()
|
|
25682
25682
|
return []
|
|
25683
25683
|
|
|
25684
25684
|
def _initChromeProfileNameParameters():
|
|
25685
25685
|
cm = buildGAPIObject(API.CHROMEMANAGEMENT)
|
|
25686
|
-
return (cm, {'profileNameList': _getChromeProfileNameList(),
|
|
25686
|
+
return (cm, {'profileNameList': _getChromeProfileNameList(),
|
|
25687
|
+
'commandNameList': [],
|
|
25688
|
+
'customerId': _getCustomerId(),
|
|
25687
25689
|
'cbfilter': None, 'filterTimes': {},
|
|
25688
25690
|
'OBY': OrderBy(CHROMEPROFILE_ORDERBY_CHOICE_MAP)})
|
|
25689
25691
|
|
|
25690
25692
|
def _getChromeProfileNameParameters(myarg, parameters):
|
|
25691
|
-
if not parameters['cbfilter'] and myarg == 'select':
|
|
25693
|
+
if not parameters['cbfilter'] and not parameters['commandNameList'] and myarg == 'select':
|
|
25692
25694
|
parameters['profileNameList'].extend(getEntityList(Cmd.OB_CHROMEPROFILE_NAME_LIST))
|
|
25693
|
-
elif not parameters['profileNameList'] and myarg == '
|
|
25695
|
+
elif not parameters['cbfilter'] and not parameters['profileNameList'] and myarg == 'commands':
|
|
25696
|
+
parameters['commandNameList'].extend(getEntityList(Cmd.OB_CHROMEPROFILE_COMMAND_NAME_LIST))
|
|
25697
|
+
elif not parameters['profileNameList'] and not parameters['commandNameList'] and myarg == 'orderby':
|
|
25694
25698
|
parameters['OBY'].GetChoice()
|
|
25695
|
-
elif not parameters['profileNameList'] and myarg.startswith('filtertime'):
|
|
25699
|
+
elif not parameters['profileNameList'] and not parameters['commandNameList'] and myarg.startswith('filtertime'):
|
|
25696
25700
|
parameters['filterTimes'][myarg] = getTimeOrDeltaFromNow()
|
|
25697
|
-
elif not parameters['profileNameList'] and myarg in {'filter', 'filters'}:
|
|
25701
|
+
elif not parameters['profileNameList'] and not parameters['commandNameList'] and myarg in {'filter', 'filters'}:
|
|
25698
25702
|
parameters['cbfilter'] = getString(Cmd.OB_STRING)
|
|
25699
25703
|
else:
|
|
25700
25704
|
return False
|
|
@@ -25703,9 +25707,14 @@ def _getChromeProfileNameParameters(myarg, parameters):
|
|
|
25703
25707
|
def _getChromeProfileNameEntityForCommand(cm, parameters):
|
|
25704
25708
|
if parameters['cbfilter'] is None:
|
|
25705
25709
|
customerId = parameters['customerId']
|
|
25706
|
-
|
|
25707
|
-
|
|
25708
|
-
|
|
25710
|
+
if parameters['profileNameList']:
|
|
25711
|
+
for i, profileName in enumerate(parameters['profileNameList']):
|
|
25712
|
+
if not profileName.startswith('customers'):
|
|
25713
|
+
parameters['profileNameList'][i] = f'customers/{customerId}/profiles/{profileName}'
|
|
25714
|
+
elif parameters['commandNameList']:
|
|
25715
|
+
for i, commandName in enumerate(parameters['commandNameList']):
|
|
25716
|
+
if not commandName.startswith('customers'):
|
|
25717
|
+
parameters['commandNameList'][i] = f'customers/{customerId}/profiles/{commandName}'
|
|
25709
25718
|
return
|
|
25710
25719
|
if parameters['filterTimes']:
|
|
25711
25720
|
for filterTimeName, filterTimeValue in iter(parameters['filterTimes'].items()):
|
|
@@ -25740,13 +25749,23 @@ def _showChromeProfileCommand(profcmd, FJQC, i=0, count=0):
|
|
|
25740
25749
|
showJSON(None, profcmd, timeObjects=CHROMEPROFILECOMMAND_TIME_OBJECTS)
|
|
25741
25750
|
Ind.Decrement()
|
|
25742
25751
|
|
|
25752
|
+
def _printChromeProfileCommand(profcmd, csvPF, FJQC):
|
|
25753
|
+
row = flattenJSON(profcmd, timeObjects=CHROMEPROFILECOMMAND_TIME_OBJECTS)
|
|
25754
|
+
if not FJQC.formatJSON:
|
|
25755
|
+
csvPF.WriteRowTitles(row)
|
|
25756
|
+
elif csvPF.CheckRowTitles(row):
|
|
25757
|
+
csvPF.WriteRowNoFilter({'name': profcmd['name'],
|
|
25758
|
+
'JSON': json.dumps(cleanJSON(profcmd, timeObjects=CHROMEPROFILECOMMAND_TIME_OBJECTS),
|
|
25759
|
+
ensure_ascii=False, sort_keys=True)})
|
|
25760
|
+
|
|
25743
25761
|
# gam create chromeprofilecommand <ChromeProfileNameEntity>
|
|
25744
25762
|
# [clearcache [<Boolean>]] [clearcookies [<Boolean>]]
|
|
25745
|
-
# [formatjson]
|
|
25763
|
+
# [csv [todrive <ToDriveAttribute>*] [formatjson [quotechar <Character>]]]
|
|
25746
25764
|
def doCreateChromeProfileCommand():
|
|
25747
25765
|
cm, parameters = _initChromeProfileNameParameters()
|
|
25748
25766
|
body = {'commandType': 'clearBrowsingData', 'payload': {}}
|
|
25749
|
-
|
|
25767
|
+
csvPF = None
|
|
25768
|
+
FJQC = FormatJSONQuoteChar(None)
|
|
25750
25769
|
while Cmd.ArgumentsRemaining():
|
|
25751
25770
|
myarg = getArgument()
|
|
25752
25771
|
if _getChromeProfileNameParameters(myarg, parameters):
|
|
@@ -25755,8 +25774,13 @@ def doCreateChromeProfileCommand():
|
|
|
25755
25774
|
body['payload']['clearCache'] = getBoolean()
|
|
25756
25775
|
elif myarg == 'clearcookies':
|
|
25757
25776
|
body['payload']['clearCookies'] = getBoolean()
|
|
25777
|
+
elif myarg == 'csv':
|
|
25778
|
+
csvPF = CSVPrintFile(['name'], 'sortall')
|
|
25779
|
+
FJQC.SetCsvPF(csvPF)
|
|
25780
|
+
elif csvPF and myarg == 'todrive':
|
|
25781
|
+
csvPF.GetTodriveParameters()
|
|
25758
25782
|
else:
|
|
25759
|
-
FJQC.
|
|
25783
|
+
FJQC.GetFormatJSONQuoteChar(myarg, True)
|
|
25760
25784
|
_getChromeProfileNameEntityForCommand(cm, parameters)
|
|
25761
25785
|
count = len(parameters['profileNameList'])
|
|
25762
25786
|
i = 0
|
|
@@ -25766,11 +25790,16 @@ def doCreateChromeProfileCommand():
|
|
|
25766
25790
|
profcmd = callGAPI(cm.customers().profiles().commands(), 'create',
|
|
25767
25791
|
throwReasons=[GAPI.INVALID_ARGUMENT, GAPI.NOT_FOUND, GAPI.PERMISSION_DENIED],
|
|
25768
25792
|
parent=profileName, body=body)
|
|
25769
|
-
|
|
25793
|
+
if csvPF is None:
|
|
25794
|
+
_showChromeProfileCommand(profcmd, FJQC, i, count)
|
|
25795
|
+
else:
|
|
25796
|
+
_printChromeProfileCommand(profcmd, csvPF, FJQC)
|
|
25770
25797
|
except (GAPI.notFound) as e:
|
|
25771
25798
|
entityActionFailedWarning([Ent.CHROME_PROFILE_COMMAND, profileName], str(e), i, count)
|
|
25772
25799
|
except (GAPI.invalidArgument, GAPI.permissionDenied) as e:
|
|
25773
25800
|
entityActionFailedExit([Ent.CHROME_PROFILE_COMMAND, profileName], str(e))
|
|
25801
|
+
if csvPF:
|
|
25802
|
+
csvPF.writeCSVfile('Chrome Profile Commands')
|
|
25774
25803
|
|
|
25775
25804
|
# gam info chromeprofilecommand <ChromeProfileCommandName>
|
|
25776
25805
|
# [formatjson]
|
|
@@ -25794,15 +25823,6 @@ def doInfoChromeProfileCommand():
|
|
|
25794
25823
|
# gam print chromeprofilecommands <ChromeProfilNameEntity> [todrive <ToDriveAttribute>*]
|
|
25795
25824
|
# [formatjson [quotechar <Character>]]
|
|
25796
25825
|
def doPrintShowChromeProfileCommands():
|
|
25797
|
-
def _printProfileCommand(profcmd):
|
|
25798
|
-
row = flattenJSON(profcmd, timeObjects=CHROMEPROFILECOMMAND_TIME_OBJECTS)
|
|
25799
|
-
if not FJQC.formatJSON:
|
|
25800
|
-
csvPF.WriteRowTitles(row)
|
|
25801
|
-
elif csvPF.CheckRowTitles(row):
|
|
25802
|
-
csvPF.WriteRowNoFilter({'name': profcmd['name'],
|
|
25803
|
-
'JSON': json.dumps(cleanJSON(profcmd, timeObjects=CHROMEPROFILECOMMAND_TIME_OBJECTS),
|
|
25804
|
-
ensure_ascii=False, sort_keys=True)})
|
|
25805
|
-
|
|
25806
25826
|
csvPF = CSVPrintFile(['name']) if Act.csvFormat() else None
|
|
25807
25827
|
FJQC = FormatJSONQuoteChar(csvPF)
|
|
25808
25828
|
cm, parameters = _initChromeProfileNameParameters()
|
|
@@ -25815,32 +25835,50 @@ def doPrintShowChromeProfileCommands():
|
|
|
25815
25835
|
else:
|
|
25816
25836
|
FJQC.GetFormatJSONQuoteChar(myarg, True)
|
|
25817
25837
|
_getChromeProfileNameEntityForCommand(cm, parameters)
|
|
25818
|
-
|
|
25819
|
-
|
|
25820
|
-
|
|
25821
|
-
|
|
25822
|
-
|
|
25823
|
-
|
|
25824
|
-
|
|
25825
|
-
|
|
25826
|
-
|
|
25827
|
-
|
|
25828
|
-
|
|
25829
|
-
|
|
25830
|
-
|
|
25831
|
-
|
|
25832
|
-
|
|
25833
|
-
|
|
25834
|
-
|
|
25835
|
-
|
|
25836
|
-
|
|
25837
|
-
|
|
25838
|
-
|
|
25839
|
-
|
|
25840
|
-
|
|
25841
|
-
|
|
25842
|
-
|
|
25843
|
-
|
|
25838
|
+
if parameters['profileNameList']:
|
|
25839
|
+
count = len(parameters['profileNameList'])
|
|
25840
|
+
i = 0
|
|
25841
|
+
for profileName in parameters['profileNameList']:
|
|
25842
|
+
i +=1
|
|
25843
|
+
printGettingEntityItemForWhom(Ent.CHROME_PROFILE_COMMAND, profileName, i, count)
|
|
25844
|
+
pageMessage = getPageMessage()
|
|
25845
|
+
try:
|
|
25846
|
+
profcmds = callGAPIpages(cm.customers().profiles().commands(), 'list', 'chromeBrowserProfileCommands',
|
|
25847
|
+
pageMessage=pageMessage,
|
|
25848
|
+
throwReasons=[GAPI.NOT_FOUND, GAPI.INVALID_ARGUMENT, GAPI.PERMISSION_DENIED],
|
|
25849
|
+
parent=profileName, pageSize=100)
|
|
25850
|
+
if not csvPF:
|
|
25851
|
+
jcount = len(profcmds)
|
|
25852
|
+
Ind.Increment()
|
|
25853
|
+
j = 0
|
|
25854
|
+
for profcmd in profcmds:
|
|
25855
|
+
j += 1
|
|
25856
|
+
_showChromeProfileCommand(profcmd, FJQC, j, jcount)
|
|
25857
|
+
Ind.Decrement()
|
|
25858
|
+
else:
|
|
25859
|
+
for profcmd in profcmds:
|
|
25860
|
+
_printChromeProfileCommand(profcmd, csvPF, FJQC)
|
|
25861
|
+
except GAPI.notFound as e:
|
|
25862
|
+
entityActionFailedWarning([Ent.CHROME_PROFILE, profileName], str(e), i, count)
|
|
25863
|
+
except (GAPI.invalidArgument, GAPI.permissionDenied) as e:
|
|
25864
|
+
entityActionFailedExit([Ent.CHROME_PROFILE, profileName], str(e))
|
|
25865
|
+
elif parameters['commandNameList']:
|
|
25866
|
+
count = len(parameters['commandNameList'])
|
|
25867
|
+
i = 0
|
|
25868
|
+
for profileCommandName in parameters['commandNameList']:
|
|
25869
|
+
i +=1
|
|
25870
|
+
try:
|
|
25871
|
+
profcmd = callGAPI(cm.customers().profiles().commands(), 'get',
|
|
25872
|
+
throwReasons=[GAPI.INVALID_ARGUMENT, GAPI.NOT_FOUND, GAPI.PERMISSION_DENIED],
|
|
25873
|
+
name=profileCommandName)
|
|
25874
|
+
if not csvPF:
|
|
25875
|
+
_showChromeProfileCommand(profcmd, FJQC, i, count)
|
|
25876
|
+
else:
|
|
25877
|
+
_printChromeProfileCommand(profcmd, csvPF, FJQC)
|
|
25878
|
+
except GAPI.notFound as e:
|
|
25879
|
+
entityActionFailedWarning([Ent.CHROME_PROFILE_COMMAND, profileCommandName], str(e), i, count)
|
|
25880
|
+
except (GAPI.invalidArgument, GAPI.permissionDenied) as e:
|
|
25881
|
+
entityActionFailedExit([Ent.CHROME_PROFILE, profileCommandName], str(e))
|
|
25844
25882
|
if csvPF:
|
|
25845
25883
|
csvPF.writeCSVfile('Chrome Profile Commands')
|
|
25846
25884
|
|
|
@@ -859,6 +859,8 @@ class GamCLArgs():
|
|
|
859
859
|
OB_CHAT_THREAD = 'ChatThread'
|
|
860
860
|
OB_CHROMEPROFILE_NAME = 'ChromeProfileName'
|
|
861
861
|
OB_CHROMEPROFILE_NAME_LIST = 'ChromeProfileNameList'
|
|
862
|
+
OB_CHROMEPROFILE_COMMAND_NAME = 'ChromeProfileCommandName'
|
|
863
|
+
OB_CHROMEPROFILE_COMMAND_NAME_LIST = 'ChromeProfileNameCommandList'
|
|
862
864
|
OB_CHROME_VERSION = 'ChromeVersion'
|
|
863
865
|
OB_CIDR_NETMASK = 'CIDRnetmask'
|
|
864
866
|
OB_CIGROUP_ALIAS_LIST = "CIGroupAliasList"
|
|
@@ -257,3 +257,39 @@ When using the `formatjson` option, double quotes are used extensively in the da
|
|
|
257
257
|
The `quotechar <Character>` option allows you to choose an alternate quote character, single quote for instance, that makes for readable/processable output.
|
|
258
258
|
`quotechar` defaults to `gam.cfg/csv_output_quote_char`. When uploading CSV files to Google, double quote `"` should be used.
|
|
259
259
|
|
|
260
|
+
### Examples
|
|
261
|
+
|
|
262
|
+
For Windows PowerShell, replace `\"` with ``` `" ```.
|
|
263
|
+
|
|
264
|
+
Clear cache and cookies for two specific Chrome profiles:
|
|
265
|
+
```
|
|
266
|
+
gam create chromeprofilecommand 4c6c0a9f-de78-4285-be86-713fca8cffff,aa03151c-7c1d-41fe-b793-5753e167ffff clearcache clearcookies
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
Display the status for those Chrome profiles:
|
|
270
|
+
```
|
|
271
|
+
gam show chromeprofilecommand 4c6c0a9f-de78-4285-be86-713fca8cffff,aa03151c-7c1d-41fe-b793-5753e167ffff
|
|
272
|
+
gam print chromeprofilecommand 4c6c0a9f-de78-4285-be86-713fca8cffff,aa03151c-7c1d-41fe-b793-5753e167ffff
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
Clear cache and cookies for Chrome profiles in a CSV file named `ChromeProfiles.csv` with a column `name`:
|
|
276
|
+
```
|
|
277
|
+
gam create chromeprofilecommand select csvfile ChromeProfiles.csv:name clearcache clearcookies
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
Display the status for those Chrome profiles:
|
|
281
|
+
```
|
|
282
|
+
gam show chromeprofilecommand select csvfile ChromeProfiles.csv:name
|
|
283
|
+
gam print chromeprofilecommand select csvfile ChromeProfiles.csv:name
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
Clear cache and cookies for Chrome profiles with last activity more that 60 days ago:
|
|
287
|
+
```
|
|
288
|
+
gam create chromeprofilecommand filter "lastActivityTime < \"#filtertime1#\"" filtertime1 -60d clearcache clearcookies
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
Display the status for those Chrome profiles:
|
|
292
|
+
```
|
|
293
|
+
gam show chromeprofilecommand filter "lastActivityTime < \"#filtertime1#\"" filtertime1 -60d
|
|
294
|
+
gam print chromeprofilecommand filter "lastActivityTime < \"#filtertime1#\"" filtertime1 -60d
|
|
295
|
+
```
|
|
@@ -14,6 +14,12 @@ See [Downloads-Installs-GAM7](https://github.com/GAM-team/GAM/wiki/Downloads-Ins
|
|
|
14
14
|
|
|
15
15
|
Fixed bug in `gam create chromeprofilecommand` where `select|filter` were not recognized.
|
|
16
16
|
|
|
17
|
+
Updated `gam create datatransfer <OldOwnerID> datastudio <NewOwnerID>` that generated the following
|
|
18
|
+
error due to an unhandled API change.
|
|
19
|
+
```
|
|
20
|
+
ERROR: Invalid choice (google data studio): Expected <calendar|looker studio|drive and docs>
|
|
21
|
+
```
|
|
22
|
+
|
|
17
23
|
### 7.13.01
|
|
18
24
|
|
|
19
25
|
Enhanced `gam create|print|show chromeprofilecommand` to allow specification
|
|
@@ -13,8 +13,7 @@
|
|
|
13
13
|
```
|
|
14
14
|
<DataTransferService> ::=
|
|
15
15
|
calendar|
|
|
16
|
-
|
|
17
|
-
datastudio|lookerstudio|"google data studio"|
|
|
16
|
+
datastudio|lookerstudio|"looker studio"|
|
|
18
17
|
drive|gdrive|googledrive|"drive and docs"
|
|
19
18
|
<DataTransferServiceList> ::= "<DataTransferService>(,<DataTransferService>)*"
|
|
20
19
|
|
|
@@ -38,7 +37,7 @@ gam create|add datatransfer|transfer <OldOwnerID> <DataTransferServiceList> <New
|
|
|
38
37
|
(<ParameterKey> <ParameterValue>)*
|
|
39
38
|
[wait <Integer> <Integer>]
|
|
40
39
|
```
|
|
41
|
-
For`
|
|
40
|
+
For`lookerstudio` and `drive`, there are options to control the privacy level of the files to be transferred.
|
|
42
41
|
* `private` or `privacy_level private` - Transfer files that are not shared with anyone
|
|
43
42
|
* `shared` or `privacy_level shared` - Transfer files shared with at least one other user; this is the **default**
|
|
44
43
|
* `all` or `privacy_level private,shared` - Transfer all files
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|