gam7 7.10.1__tar.gz → 7.10.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.

Files changed (318) hide show
  1. {gam7-7.10.1 → gam7-7.10.3}/PKG-INFO +1 -1
  2. {gam7-7.10.1 → gam7-7.10.3}/src/GamCommands.txt +16 -2
  3. {gam7-7.10.1 → gam7-7.10.3}/src/GamUpdate.txt +14 -0
  4. {gam7-7.10.1 → gam7-7.10.3}/src/gam/__init__.py +26 -10
  5. {gam7-7.10.1 → gam7-7.10.3}/wiki/GamUpdates.md +14 -0
  6. {gam7-7.10.1 → gam7-7.10.3}/wiki/How-to-Upgrade-Legacy-GAM-to-GAM7.md +2 -2
  7. {gam7-7.10.1 → gam7-7.10.3}/wiki/Reports.md +2 -1
  8. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Forms.md +19 -1
  9. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Gmail-Messages-Threads.md +21 -2
  10. {gam7-7.10.1 → gam7-7.10.3}/wiki/Version-and-Help.md +6 -6
  11. {gam7-7.10.1 → gam7-7.10.3}/.github/ISSUE_TEMPLATE/aa-question.md +0 -0
  12. {gam7-7.10.1 → gam7-7.10.3}/.github/ISSUE_TEMPLATE/za-bug-report.md +0 -0
  13. {gam7-7.10.1 → gam7-7.10.3}/.github/ISSUE_TEMPLATE/zz-feature-request.md +0 -0
  14. {gam7-7.10.1 → gam7-7.10.3}/.github/ISSUE_TEMPLATE.txt +0 -0
  15. {gam7-7.10.1 → gam7-7.10.3}/.github/actions/decrypt.sh +0 -0
  16. {gam7-7.10.1 → gam7-7.10.3}/.github/actions/entitlements.plist +0 -0
  17. {gam7-7.10.1 → gam7-7.10.3}/.github/actions/package_exclusions.txt +0 -0
  18. {gam7-7.10.1 → gam7-7.10.3}/.github/stale.yml +0 -0
  19. {gam7-7.10.1 → gam7-7.10.3}/.github/workflows/build.yml +0 -0
  20. {gam7-7.10.1 → gam7-7.10.3}/.github/workflows/codeql-analysis.yml +0 -0
  21. {gam7-7.10.1 → gam7-7.10.3}/.github/workflows/get-cacerts.yml +0 -0
  22. {gam7-7.10.1 → gam7-7.10.3}/.github/workflows/pushwiki.yml +0 -0
  23. {gam7-7.10.1 → gam7-7.10.3}/.github/workflows/pypi.yml +0 -0
  24. {gam7-7.10.1 → gam7-7.10.3}/.pre-commit-config.yaml +0 -0
  25. {gam7-7.10.1 → gam7-7.10.3}/LICENSE +0 -0
  26. {gam7-7.10.1 → gam7-7.10.3}/README.md +0 -0
  27. {gam7-7.10.1 → gam7-7.10.3}/pyproject.toml +0 -0
  28. {gam7-7.10.1 → gam7-7.10.3}/src/.gitignore +0 -0
  29. {gam7-7.10.1 → gam7-7.10.3}/src/LICENSE +0 -0
  30. {gam7-7.10.1 → gam7-7.10.3}/src/cacerts.pem +0 -0
  31. {gam7-7.10.1 → gam7-7.10.3}/src/callgam.py +0 -0
  32. {gam7-7.10.1 → gam7-7.10.3}/src/gam/__main__.py +0 -0
  33. {gam7-7.10.1 → gam7-7.10.3}/src/gam/atom/__init__.py +0 -0
  34. {gam7-7.10.1 → gam7-7.10.3}/src/gam/atom/auth.py +0 -0
  35. {gam7-7.10.1 → gam7-7.10.3}/src/gam/atom/client.py +0 -0
  36. {gam7-7.10.1 → gam7-7.10.3}/src/gam/atom/core.py +0 -0
  37. {gam7-7.10.1 → gam7-7.10.3}/src/gam/atom/data.py +0 -0
  38. {gam7-7.10.1 → gam7-7.10.3}/src/gam/atom/http.py +0 -0
  39. {gam7-7.10.1 → gam7-7.10.3}/src/gam/atom/http_core.py +0 -0
  40. {gam7-7.10.1 → gam7-7.10.3}/src/gam/atom/http_interface.py +0 -0
  41. {gam7-7.10.1 → gam7-7.10.3}/src/gam/atom/mock_http.py +0 -0
  42. {gam7-7.10.1 → gam7-7.10.3}/src/gam/atom/mock_http_core.py +0 -0
  43. {gam7-7.10.1 → gam7-7.10.3}/src/gam/atom/mock_service.py +0 -0
  44. {gam7-7.10.1 → gam7-7.10.3}/src/gam/atom/service.py +0 -0
  45. {gam7-7.10.1 → gam7-7.10.3}/src/gam/atom/token_store.py +0 -0
  46. {gam7-7.10.1 → gam7-7.10.3}/src/gam/atom/url.py +0 -0
  47. {gam7-7.10.1 → gam7-7.10.3}/src/gam/cacerts.pem +0 -0
  48. {gam7-7.10.1 → gam7-7.10.3}/src/gam/cbcm-v1.1beta1.json +0 -0
  49. {gam7-7.10.1 → gam7-7.10.3}/src/gam/contactdelegation-v1.json +0 -0
  50. {gam7-7.10.1 → gam7-7.10.3}/src/gam/datastudio-v1.json +0 -0
  51. {gam7-7.10.1 → gam7-7.10.3}/src/gam/gamlib/__init__.py +0 -0
  52. {gam7-7.10.1 → gam7-7.10.3}/src/gam/gamlib/glaction.py +0 -0
  53. {gam7-7.10.1 → gam7-7.10.3}/src/gam/gamlib/glapi.py +0 -0
  54. {gam7-7.10.1 → gam7-7.10.3}/src/gam/gamlib/glcfg.py +0 -0
  55. {gam7-7.10.1 → gam7-7.10.3}/src/gam/gamlib/glclargs.py +0 -0
  56. {gam7-7.10.1 → gam7-7.10.3}/src/gam/gamlib/glentity.py +0 -0
  57. {gam7-7.10.1 → gam7-7.10.3}/src/gam/gamlib/glgapi.py +0 -0
  58. {gam7-7.10.1 → gam7-7.10.3}/src/gam/gamlib/glgdata.py +0 -0
  59. {gam7-7.10.1 → gam7-7.10.3}/src/gam/gamlib/glglobals.py +0 -0
  60. {gam7-7.10.1 → gam7-7.10.3}/src/gam/gamlib/glindent.py +0 -0
  61. {gam7-7.10.1 → gam7-7.10.3}/src/gam/gamlib/glmsgs.py +0 -0
  62. {gam7-7.10.1 → gam7-7.10.3}/src/gam/gamlib/glskus.py +0 -0
  63. {gam7-7.10.1 → gam7-7.10.3}/src/gam/gamlib/gluprop.py +0 -0
  64. {gam7-7.10.1 → gam7-7.10.3}/src/gam/gamlib/glverlibs.py +0 -0
  65. {gam7-7.10.1 → gam7-7.10.3}/src/gam/gamlib/yubikey.py +0 -0
  66. {gam7-7.10.1 → gam7-7.10.3}/src/gam/gdata/__init__.py +0 -0
  67. {gam7-7.10.1 → gam7-7.10.3}/src/gam/gdata/alt/__init__.py +0 -0
  68. {gam7-7.10.1 → gam7-7.10.3}/src/gam/gdata/alt/app_engine.py +0 -0
  69. {gam7-7.10.1 → gam7-7.10.3}/src/gam/gdata/alt/appengine.py +0 -0
  70. {gam7-7.10.1 → gam7-7.10.3}/src/gam/gdata/apps/__init__.py +0 -0
  71. {gam7-7.10.1 → gam7-7.10.3}/src/gam/gdata/apps/audit/__init__.py +0 -0
  72. {gam7-7.10.1 → gam7-7.10.3}/src/gam/gdata/apps/audit/service.py +0 -0
  73. {gam7-7.10.1 → gam7-7.10.3}/src/gam/gdata/apps/contacts/__init__.py +0 -0
  74. {gam7-7.10.1 → gam7-7.10.3}/src/gam/gdata/apps/contacts/service.py +0 -0
  75. {gam7-7.10.1 → gam7-7.10.3}/src/gam/gdata/apps/service.py +0 -0
  76. {gam7-7.10.1 → gam7-7.10.3}/src/gam/gdata/service.py +0 -0
  77. {gam7-7.10.1 → gam7-7.10.3}/src/gam/gdata/urlfetch.py +0 -0
  78. {gam7-7.10.1 → gam7-7.10.3}/src/gam/googleapiclient/__init__.py +0 -0
  79. {gam7-7.10.1 → gam7-7.10.3}/src/gam/googleapiclient/_auth.py +0 -0
  80. {gam7-7.10.1 → gam7-7.10.3}/src/gam/googleapiclient/_helpers.py +0 -0
  81. {gam7-7.10.1 → gam7-7.10.3}/src/gam/googleapiclient/channel.py +0 -0
  82. {gam7-7.10.1 → gam7-7.10.3}/src/gam/googleapiclient/discovery.py +0 -0
  83. {gam7-7.10.1 → gam7-7.10.3}/src/gam/googleapiclient/discovery_cache/__init__.py +0 -0
  84. {gam7-7.10.1 → gam7-7.10.3}/src/gam/googleapiclient/discovery_cache/appengine_memcache.py +0 -0
  85. {gam7-7.10.1 → gam7-7.10.3}/src/gam/googleapiclient/discovery_cache/base.py +0 -0
  86. {gam7-7.10.1 → gam7-7.10.3}/src/gam/googleapiclient/discovery_cache/file_cache.py +0 -0
  87. {gam7-7.10.1 → gam7-7.10.3}/src/gam/googleapiclient/errors.py +0 -0
  88. {gam7-7.10.1 → gam7-7.10.3}/src/gam/googleapiclient/http.py +0 -0
  89. {gam7-7.10.1 → gam7-7.10.3}/src/gam/googleapiclient/mimeparse.py +0 -0
  90. {gam7-7.10.1 → gam7-7.10.3}/src/gam/googleapiclient/model.py +0 -0
  91. {gam7-7.10.1 → gam7-7.10.3}/src/gam/googleapiclient/schema.py +0 -0
  92. {gam7-7.10.1 → gam7-7.10.3}/src/gam/googleapiclient/version.py +0 -0
  93. {gam7-7.10.1 → gam7-7.10.3}/src/gam/iso8601/__init__.py +0 -0
  94. {gam7-7.10.1 → gam7-7.10.3}/src/gam/iso8601/iso8601.py +0 -0
  95. {gam7-7.10.1 → gam7-7.10.3}/src/gam/meet-v2beta.json +0 -0
  96. {gam7-7.10.1 → gam7-7.10.3}/src/gam/serviceaccountlookup-v1.json +0 -0
  97. {gam7-7.10.1 → gam7-7.10.3}/src/gam/six.py +0 -0
  98. {gam7-7.10.1 → gam7-7.10.3}/src/gam-install.sh +0 -0
  99. {gam7-7.10.1 → gam7-7.10.3}/src/gam-setup.bat +0 -0
  100. {gam7-7.10.1 → gam7-7.10.3}/src/gam.exe.manifest +0 -0
  101. {gam7-7.10.1 → gam7-7.10.3}/src/gam.py +0 -0
  102. {gam7-7.10.1 → gam7-7.10.3}/src/gam.spec +0 -0
  103. {gam7-7.10.1 → gam7-7.10.3}/src/gam.wxs +0 -0
  104. {gam7-7.10.1 → gam7-7.10.3}/src/license.rtf +0 -0
  105. {gam7-7.10.1 → gam7-7.10.3}/src/requirements-dev.txt +0 -0
  106. {gam7-7.10.1 → gam7-7.10.3}/src/requirements.txt +0 -0
  107. {gam7-7.10.1 → gam7-7.10.3}/src/setup.cfg +0 -0
  108. {gam7-7.10.1 → gam7-7.10.3}/src/setup.py +0 -0
  109. {gam7-7.10.1 → gam7-7.10.3}/src/tools/a_atleast_b.py +0 -0
  110. {gam7-7.10.1 → gam7-7.10.3}/src/tools/gen-wix-xml-filelist.py +0 -0
  111. {gam7-7.10.1 → gam7-7.10.3}/src/tools/mkGamRef.py +0 -0
  112. {gam7-7.10.1 → gam7-7.10.3}/src/tools/openssl.props +0 -0
  113. {gam7-7.10.1 → gam7-7.10.3}/src/version_info.txt.in +0 -0
  114. {gam7-7.10.1 → gam7-7.10.3}/wiki/00scratch.md +0 -0
  115. {gam7-7.10.1 → gam7-7.10.3}/wiki/Addresses.md +0 -0
  116. {gam7-7.10.1 → gam7-7.10.3}/wiki/Administrators.md +0 -0
  117. {gam7-7.10.1 → gam7-7.10.3}/wiki/Alert-Center.md +0 -0
  118. {gam7-7.10.1 → gam7-7.10.3}/wiki/Aliases.md +0 -0
  119. {gam7-7.10.1 → gam7-7.10.3}/wiki/Authorization.md +0 -0
  120. {gam7-7.10.1 → gam7-7.10.3}/wiki/BNF-Syntax.md +0 -0
  121. {gam7-7.10.1 → gam7-7.10.3}/wiki/Basic-Items.md +0 -0
  122. {gam7-7.10.1 → gam7-7.10.3}/wiki/Bulk-Processing.md +0 -0
  123. {gam7-7.10.1 → gam7-7.10.3}/wiki/CSV-Input-Filtering.md +0 -0
  124. {gam7-7.10.1 → gam7-7.10.3}/wiki/CSV-Output-Filtering.md +0 -0
  125. {gam7-7.10.1 → gam7-7.10.3}/wiki/CSV-Special-Characters.md +0 -0
  126. {gam7-7.10.1 → gam7-7.10.3}/wiki/Calendars-Access.md +0 -0
  127. {gam7-7.10.1 → gam7-7.10.3}/wiki/Calendars-Events.md +0 -0
  128. {gam7-7.10.1 → gam7-7.10.3}/wiki/Calendars.md +0 -0
  129. {gam7-7.10.1 → gam7-7.10.3}/wiki/Chat-Bot.md +0 -0
  130. {gam7-7.10.1 → gam7-7.10.3}/wiki/Chrome-AUE-Counts.md +0 -0
  131. {gam7-7.10.1 → gam7-7.10.3}/wiki/Chrome-Browser-Cloud-Management.md +0 -0
  132. {gam7-7.10.1 → gam7-7.10.3}/wiki/Chrome-Installed-Apps.md +0 -0
  133. {gam7-7.10.1 → gam7-7.10.3}/wiki/Chrome-Needs-Attention-Counts.md +0 -0
  134. {gam7-7.10.1 → gam7-7.10.3}/wiki/Chrome-Policies.md +0 -0
  135. {gam7-7.10.1 → gam7-7.10.3}/wiki/Chrome-Printers.md +0 -0
  136. {gam7-7.10.1 → gam7-7.10.3}/wiki/Chrome-Profile-Management.md +0 -0
  137. {gam7-7.10.1 → gam7-7.10.3}/wiki/Chrome-Version-Counts.md +0 -0
  138. {gam7-7.10.1 → gam7-7.10.3}/wiki/Chrome-Version-History.md +0 -0
  139. {gam7-7.10.1 → gam7-7.10.3}/wiki/ChromeOS-Devices.md +0 -0
  140. {gam7-7.10.1 → gam7-7.10.3}/wiki/Classroom-Courses.md +0 -0
  141. {gam7-7.10.1 → gam7-7.10.3}/wiki/Classroom-Guardians.md +0 -0
  142. {gam7-7.10.1 → gam7-7.10.3}/wiki/Classroom-Invitations.md +0 -0
  143. {gam7-7.10.1 → gam7-7.10.3}/wiki/Classroom-Membership.md +0 -0
  144. {gam7-7.10.1 → gam7-7.10.3}/wiki/Cloud-Channel.md +0 -0
  145. {gam7-7.10.1 → gam7-7.10.3}/wiki/Cloud-Identity-Devices.md +0 -0
  146. {gam7-7.10.1 → gam7-7.10.3}/wiki/Cloud-Identity-Groups-Membership.md +0 -0
  147. {gam7-7.10.1 → gam7-7.10.3}/wiki/Cloud-Identity-Groups.md +0 -0
  148. {gam7-7.10.1 → gam7-7.10.3}/wiki/Cloud-Identity-Policies.md +0 -0
  149. {gam7-7.10.1 → gam7-7.10.3}/wiki/Cloud-Storage.md +0 -0
  150. {gam7-7.10.1 → gam7-7.10.3}/wiki/Collections-of-ChromeOS-Devices.md +0 -0
  151. {gam7-7.10.1 → gam7-7.10.3}/wiki/Collections-of-Items.md +0 -0
  152. {gam7-7.10.1 → gam7-7.10.3}/wiki/Collections-of-Users.md +0 -0
  153. {gam7-7.10.1 → gam7-7.10.3}/wiki/Command-Data-From-Google-Docs-Sheets-Storage.md +0 -0
  154. {gam7-7.10.1 → gam7-7.10.3}/wiki/Command-Line-Parsing.md +0 -0
  155. {gam7-7.10.1 → gam7-7.10.3}/wiki/Command-Logging-Progress.md +0 -0
  156. {gam7-7.10.1 → gam7-7.10.3}/wiki/Context-Aware-Access-Levels.md +0 -0
  157. {gam7-7.10.1 → gam7-7.10.3}/wiki/Customer.md +0 -0
  158. {gam7-7.10.1 → gam7-7.10.3}/wiki/Domain-People-Contacts-Profiles.md +0 -0
  159. {gam7-7.10.1 → gam7-7.10.3}/wiki/Domain-SharedContacts.md +0 -0
  160. {gam7-7.10.1 → gam7-7.10.3}/wiki/Domains-Verification.md +0 -0
  161. {gam7-7.10.1 → gam7-7.10.3}/wiki/Domains.md +0 -0
  162. {gam7-7.10.1 → gam7-7.10.3}/wiki/Downloads-Installs.md +0 -0
  163. {gam7-7.10.1 → gam7-7.10.3}/wiki/Drive-File-Selection.md +0 -0
  164. {gam7-7.10.1 → gam7-7.10.3}/wiki/Drive-Items.md +0 -0
  165. {gam7-7.10.1 → gam7-7.10.3}/wiki/Drive-REST-API-v3.md +0 -0
  166. {gam7-7.10.1 → gam7-7.10.3}/wiki/Email-Audit-Monitor.md +0 -0
  167. {gam7-7.10.1 → gam7-7.10.3}/wiki/Find-File-Owner.md +0 -0
  168. {gam7-7.10.1 → gam7-7.10.3}/wiki/GAM-Public-Chat-Room.md +0 -0
  169. {gam7-7.10.1 → gam7-7.10.3}/wiki/GAM-Return-Codes.md +0 -0
  170. {gam7-7.10.1 → gam7-7.10.3}/wiki/GAM-with-minimal-GCP-rights.md +0 -0
  171. {gam7-7.10.1 → gam7-7.10.3}/wiki/GAM7-on-Android-Devices.md +0 -0
  172. {gam7-7.10.1 → gam7-7.10.3}/wiki/GAM7-on-Chrome-OS-Devices.md +0 -0
  173. {gam7-7.10.1 → gam7-7.10.3}/wiki/Google-Data-Transfers.md +0 -0
  174. {gam7-7.10.1 → gam7-7.10.3}/wiki/Google-Network-Addresses.md +0 -0
  175. {gam7-7.10.1 → gam7-7.10.3}/wiki/Groups-Membership.md +0 -0
  176. {gam7-7.10.1 → gam7-7.10.3}/wiki/Groups.md +0 -0
  177. {gam7-7.10.1 → gam7-7.10.3}/wiki/HTTPS-Proxy.md +0 -0
  178. {gam7-7.10.1 → gam7-7.10.3}/wiki/Home.md +0 -0
  179. {gam7-7.10.1 → gam7-7.10.3}/wiki/How-to-Install-GAM7.md +0 -0
  180. {gam7-7.10.1 → gam7-7.10.3}/wiki/How-to-Uninstall-GAM7.md +0 -0
  181. {gam7-7.10.1 → gam7-7.10.3}/wiki/How-to-Update-GAM7.md +0 -0
  182. {gam7-7.10.1 → gam7-7.10.3}/wiki/How-to-Upgrade-GAMADV-XTD3-to-GAM7.md +0 -0
  183. {gam7-7.10.1 → gam7-7.10.3}/wiki/Inbound-SSO.md +0 -0
  184. {gam7-7.10.1 → gam7-7.10.3}/wiki/Install-GAM-as-Python-Library.md +0 -0
  185. {gam7-7.10.1 → gam7-7.10.3}/wiki/Licenses.md +0 -0
  186. {gam7-7.10.1 → gam7-7.10.3}/wiki/List-Items.md +0 -0
  187. {gam7-7.10.1 → gam7-7.10.3}/wiki/List.md +0 -0
  188. {gam7-7.10.1 → gam7-7.10.3}/wiki/Meta-Commands-and-File-Redirection.md +0 -0
  189. {gam7-7.10.1 → gam7-7.10.3}/wiki/Mobile-Devices.md +0 -0
  190. {gam7-7.10.1 → gam7-7.10.3}/wiki/Organizational-Units.md +0 -0
  191. {gam7-7.10.1 → gam7-7.10.3}/wiki/Other-Resources.md +0 -0
  192. {gam7-7.10.1 → gam7-7.10.3}/wiki/Permission-Matches.md +0 -0
  193. {gam7-7.10.1 → gam7-7.10.3}/wiki/Python-Regular-Expressions.md +0 -0
  194. {gam7-7.10.1 → gam7-7.10.3}/wiki/README.md +0 -0
  195. {gam7-7.10.1 → gam7-7.10.3}/wiki/Rclone.md +0 -0
  196. {gam7-7.10.1 → gam7-7.10.3}/wiki/Reseller.md +0 -0
  197. {gam7-7.10.1 → gam7-7.10.3}/wiki/Resources.md +0 -0
  198. {gam7-7.10.1 → gam7-7.10.3}/wiki/Running-GAM7-securely-on-a-Google-Compute-Engine.md +0 -0
  199. {gam7-7.10.1 → gam7-7.10.3}/wiki/SSL-Root-CA-Certificates.md +0 -0
  200. {gam7-7.10.1 → gam7-7.10.3}/wiki/Schemas.md +0 -0
  201. {gam7-7.10.1 → gam7-7.10.3}/wiki/Scripts.md +0 -0
  202. {gam7-7.10.1 → gam7-7.10.3}/wiki/Send-Email.md +0 -0
  203. {gam7-7.10.1 → gam7-7.10.3}/wiki/Shared-Drives.md +0 -0
  204. {gam7-7.10.1 → gam7-7.10.3}/wiki/Sites.md +0 -0
  205. {gam7-7.10.1 → gam7-7.10.3}/wiki/Tag-Replace.md +0 -0
  206. {gam7-7.10.1 → gam7-7.10.3}/wiki/Todrive.md +0 -0
  207. {gam7-7.10.1 → gam7-7.10.3}/wiki/Unmanaged-Accounts.md +0 -0
  208. {gam7-7.10.1 → gam7-7.10.3}/wiki/Upgrade-Benefits.md +0 -0
  209. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Analytics-Admin.md +0 -0
  210. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Application-Specific-Passwords.md +0 -0
  211. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Backup-Verification-Codes.md +0 -0
  212. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Calendars-Access.md +0 -0
  213. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Calendars-Events.md +0 -0
  214. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Calendars.md +0 -0
  215. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Chat.md +0 -0
  216. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Classification-Labels.md +0 -0
  217. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Classroom-Profile.md +0 -0
  218. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Contacts-Delegates.md +0 -0
  219. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Contacts.md +0 -0
  220. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Deprovision.md +0 -0
  221. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Drive-Activity-Settings.md +0 -0
  222. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Drive-Cleanup.md +0 -0
  223. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Drive-Comments.md +0 -0
  224. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Drive-Copy-Move.md +0 -0
  225. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Drive-Files-Display.md +0 -0
  226. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Drive-Files-Manage.md +0 -0
  227. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Drive-Orphans.md +0 -0
  228. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Drive-Ownership.md +0 -0
  229. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Drive-Permissions.md +0 -0
  230. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Drive-Query.md +0 -0
  231. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Drive-Revisions.md +0 -0
  232. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Drive-Shortcuts.md +0 -0
  233. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Drive-Transfer.md +0 -0
  234. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Gmail-CSE.md +0 -0
  235. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Gmail-Delegates.md +0 -0
  236. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Gmail-Filters.md +0 -0
  237. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Gmail-Forwarding.md +0 -0
  238. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Gmail-Labels.md +0 -0
  239. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Gmail-Profile.md +0 -0
  240. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Gmail-S-MIME.md +0 -0
  241. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Gmail-Send-As-Signature-Vacation.md +0 -0
  242. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Gmail-Settings.md +0 -0
  243. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Group-Membership.md +0 -0
  244. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Keep-Notes.md +0 -0
  245. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Looker-Studio.md +0 -0
  246. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Meet.md +0 -0
  247. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-People-Contacts-Profiles.md +0 -0
  248. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Photo.md +0 -0
  249. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Profile-Photo.md +0 -0
  250. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Profile-Sharing.md +0 -0
  251. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Shared-Drives.md +0 -0
  252. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Signout-Turnoff2SV.md +0 -0
  253. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Spreadsheets.md +0 -0
  254. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Tasks.md +0 -0
  255. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-Tokens.md +0 -0
  256. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users-YouTube.md +0 -0
  257. {gam7-7.10.1 → gam7-7.10.3}/wiki/Users.md +0 -0
  258. {gam7-7.10.1 → gam7-7.10.3}/wiki/Using-GAM7-with-a-YubiKey.md +0 -0
  259. {gam7-7.10.1 → gam7-7.10.3}/wiki/Using-GAM7-with-a-delegated-admin-service-account.md +0 -0
  260. {gam7-7.10.1 → gam7-7.10.3}/wiki/Vault-Takeout.md +0 -0
  261. {gam7-7.10.1 → gam7-7.10.3}/wiki/Verifying-a-GAM7-Build-is-Legitimate-and-Official.md +0 -0
  262. {gam7-7.10.1 → gam7-7.10.3}/wiki/_Sidebar.md +0 -0
  263. {gam7-7.10.1 → gam7-7.10.3}/wiki/gam.cfg.md +0 -0
  264. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-AdminSettingsExamples.md +0 -0
  265. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-Android-Installation.md +0 -0
  266. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-BulkOperations.md +0 -0
  267. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-CalendarExamples.md +0 -0
  268. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-Chat-Bot.md +0 -0
  269. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-Chrome-Browser-Management.md +0 -0
  270. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-Chrome-OS-Installation.md +0 -0
  271. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-Chrome-Policy-Settings.md +0 -0
  272. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-Cloud-Identity-Groups.md +0 -0
  273. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-Command-Reference-Calendar-Resources.md +0 -0
  274. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-Command-Reference-Calendars.md +0 -0
  275. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-Command-Reference-Definitions.md +0 -0
  276. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-Command-Reference-Drive.md +0 -0
  277. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-Command-Reference-Email.md +0 -0
  278. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-Command-Reference-Group-Attributes.md +0 -0
  279. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-Command-Reference-Groups.md +0 -0
  280. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-Command-Reference-Users.md +0 -0
  281. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-Context-Aware-Access-Levels.md +0 -0
  282. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-Creating-client_secrets.json-and-oauth2service.json.md +0 -0
  283. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-CreatingClientSecretsFile.md +0 -0
  284. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-Custom-Schemas.md +0 -0
  285. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-Data-Transfers.md +0 -0
  286. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-DomainVerification.md +0 -0
  287. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-ExamplesAccountAuditing.md +0 -0
  288. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-ExamplesCSV.md +0 -0
  289. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-ExamplesEmailSettings.md +0 -0
  290. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-ExamplesOrganizations.md +0 -0
  291. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-GAM-Discussion-Group.md +0 -0
  292. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-GAM-on-Android-and-Chrome-OS.md +0 -0
  293. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-GAM-options-files.md +0 -0
  294. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-GAM-with--minimal-GCP-rights.md +0 -0
  295. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-GAM3CSVListings.md +0 -0
  296. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-GAM3DirectoryCommands.md +0 -0
  297. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-GAM3GroupSettings.md +0 -0
  298. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-GAM7-FAQ.md +0 -0
  299. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-Google-Vault---Takeout-Commands.md +0 -0
  300. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-GoogleDriveManagement.md +0 -0
  301. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-Grouping-18-or-Older-Users.md +0 -0
  302. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-Home.md +0 -0
  303. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-How-to-upgrade-from-Standard-GAM.md +0 -0
  304. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-Inbound-SSO-Settings.md +0 -0
  305. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-LicenseExamples.md +0 -0
  306. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-Managing-Admins.md +0 -0
  307. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-Managing-CloudPrint-Printers.md +0 -0
  308. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-Managing-Devices.md +0 -0
  309. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-Managing-Google-Classroom.md +0 -0
  310. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-OAuthKeyManagement.md +0 -0
  311. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-Printers.md +0 -0
  312. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-ResellerCommands.md +0 -0
  313. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-Running-GAM-on-Google-Compute-Engine-(GCE)-Securely.md +0 -0
  314. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-SecurityExamples.md +0 -0
  315. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-UnmanagedUsersExamples.md +0 -0
  316. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-Use-a-Yubikey.md +0 -0
  317. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-Using-GAM-with-a-delegated-admin-service-account-(DASA).md +0 -0
  318. {gam7-7.10.1 → gam7-7.10.3}/wiki/l-_Footer.md +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gam7
3
- Version: 7.10.1
3
+ Version: 7.10.3
4
4
  Summary: CLI tool to manage Google Workspace
5
5
  Project-URL: Homepage, https://github.com/GAM-team/GAM
6
6
  Project-URL: Issues, https://github.com/GAM-team/GAM/issues
@@ -7615,48 +7615,61 @@ gam <UserTypeEntity> insert message
7615
7615
 
7616
7616
  gam <UserTypeEntity> archive messages <GroupItem>
7617
7617
  (((query <QueryGmail> [querytime<String> <Date>]*) (matchlabel <LabelName>) [or|and])+
7618
+ [labelids <LabelIDList>]
7618
7619
  [quick|notquick] [doit] [max_to_archive <Number>])|(ids <MessageIDEntity>)
7619
7620
  [csv [todrive <ToDriveAttribute>*]]
7620
7621
  gam <UserTypeEntity> delete messages|threads
7621
7622
  (((query <QueryGmail> [querytime<String> <Date>]*) (matchlabel <LabelName>) [or|and])+
7623
+ [labelids <LabelIDList>]
7622
7624
  [quick|notquick] [doit] [max_to_delete <Number>])|(ids <MessageIDEntity>)
7623
7625
  [csv [todrive <ToDriveAttribute>*]]
7624
7626
  gam <UserTypeEntity> modify messages|threads
7625
7627
  (((query <QueryGmail> [querytime<String> <Date>]*) (matchlabel <LabelName>) [or|and])+
7628
+ [labelids <LabelIDList>]
7626
7629
  [quick|notquick] [doit] [max_to_modify <Number>])|(ids <MessageIDEntity>)
7627
7630
  ((addlabel <LabelName>)|(removelabel <LabelName>))+
7628
7631
  [csv [todrive <ToDriveAttribute>*]]
7629
7632
  gam <UserTypeEntity> spam messages|threads
7630
7633
  (((query <QueryGmail> [querytime<String> <Date>]*) (matchlabel <LabelName>) [or|and])+
7634
+ [labelids <LabelIDList>]
7631
7635
  [quick|notquick] [doit] [max_to_spam <Number>])|(ids <MessageIDEntity>)
7632
7636
  [csv [todrive <ToDriveAttribute>*]]
7633
7637
  gam <UserTypeEntity> trash messages|threads
7634
7638
  (((query <QueryGmail> [querytime<String> <Date>]*) (matchlabel <LabelName>) [or|and])+
7639
+ [labelids <LabelIDList>]
7635
7640
  [quick|notquick] [doit] [max_to_trash <Number>])|(ids <MessageIDEntity>)
7636
7641
  [csv [todrive <ToDriveAttribute>*]]
7637
7642
  gam <UserTypeEntity> untrash messages|threads
7638
7643
  (((query <QueryGmail> [querytime<String> <Date>]*) (matchlabel <LabelName>) [or|and])+
7644
+ [labelids <LabelIDList>]
7639
7645
  [quick|notquick] [doit] [max_to_untrash <Number>])|(ids <MessageIDEntity>)
7640
7646
  [csv [todrive <ToDriveAttribute>*]]
7641
7647
 
7642
7648
  gam <UserTypeEntity> export message|messages
7643
- (((query <QueryGmail> [querytime<String> <Date>]*) (matchlabel <LabelName>) [or|and])+ [quick|notquick] [doit] [max_to_export <Number>])|(ids <MessageIDEntity>)
7649
+ (((query <QueryGmail> [querytime<String> <Date>]*) (matchlabel <LabelName>) [or|and])+
7650
+ [labelids <LabelIDList>]
7651
+ [quick|notquick] [doit] [max_to_export <Number>])|(ids <MessageIDEntity>)
7644
7652
  [targetfolder <FilePath>] [targetname <FileName>] [overwrite [<Boolean>]]
7645
7653
  gam <UserTypeEntity> export thread|threads
7646
- (((query <QueryGmail> [querytime<String> <Date>]*) (matchlabel <LabelName>) [or|and])+ [quick|notquick] [doit] [max_to_export <Number>])|(ids <ThreadIDEntity>)
7654
+ (((query <QueryGmail> [querytime<String> <Date>]*) (matchlabel <LabelName>) [or|and])+
7655
+ [labelids <LabelIDList>]
7656
+ [quick|notquick] [doit] [max_to_export <Number>])|(ids <ThreadIDEntity>)
7647
7657
  [targetfolder <FilePath>] [targetname <FileName>] [overwrite [<Boolean>]]
7648
7658
 
7649
7659
  gam <UserTypeEntity> forward message|messages recipient|to <RecipientEntity>
7650
7660
  (((query <QueryGmail> [querytime<String> <Date>]*) (matchlabel <LabelName>) [or|and])+
7661
+ [labelids <LabelIDList>]
7651
7662
  [quick|notquick] [doit] [max_to_forward <Number>])|(ids <MessageIDEntity>)
7652
7663
  [subject <String>] [addorigfieldstosubject [<Boolean>]] [altcharset <String>]
7653
7664
  gam <UserTypeEntity> forward thread|thtreads recipient|to <RecipientEntity>
7654
7665
  (((query <QueryGmail> [querytime<String> <Date>]*) (matchlabel <LabelName>) [or|and])+
7666
+ [labelids <LabelIDList>]
7655
7667
  quick|notquick] [doit] [max_to_forward <Number>])|(ids <ThreadIDEntity>)
7656
7668
  [subject <String>] [addorigfieldstosubject [<Boolean>]] [altcharset <String>]
7657
7669
 
7658
7670
  gam <UserTypeEntity> show messages|threads
7659
7671
  (((query <QueryGmail> [querytime<String> <Date>]*) (matchlabel <LabelName>) [or|and])*
7672
+ [labelids <LabelIDList>]
7660
7673
  [quick|notquick] [max_to_show <Number>] [includespamtrash])|(ids <MessageIDEntity>)
7661
7674
  [labelmatchpattern <REMatchPattern>] [sendermatchpattern <REMatchPattern>]
7662
7675
  [countsonly|positivecountsonly] [useronly]
@@ -7669,6 +7682,7 @@ gam <UserTypeEntity> show messages|threads
7669
7682
  [uploadattachments [<DriveFileParentAttribute>]]]
7670
7683
  gam <UserTypeEntity> print messages|threads [todrive <ToDriveAttribute>*]
7671
7684
  (((query <QueryGmail> [querytime<String> <Date>]*) (matchlabel <LabelName>) [or|and])*
7685
+ [labelids <LabelIDList>]
7672
7686
  [quick|notquick] [max_to_print <Number>] [includespamtrash])|(ids <MessageIDEntity>)
7673
7687
  [labelmatchpattern <REMatchPattern>] [sendermatchpattern <REMatchPattern>]
7674
7688
  [countsonly|positivecountsonly] [useronly]
@@ -1,3 +1,17 @@
1
+ 7.10.03
2
+
3
+ Fixed bug in commands that modify messages where the `labelids <LabelIdList>` option
4
+ was not being applied.
5
+
6
+ 7.10.02
7
+
8
+ Added option `labelids <LabelIdList>` to all commands that process messages;
9
+ this option causes GAM to only return messages with labels that match all of the specified label IDs.
10
+
11
+ Updated `gam <UserTypeEntity> print|show forms` to always display `isPublished` and
12
+ `isAcceptingResponses` in `publishSettings/publishState` regardless of their value;
13
+ the API doesn't return these values when they are False.
14
+
1
15
  7.10.01
2
16
 
3
17
  Added options `ispublished [<Boolean>]` and `isacceptingresponses [<Boolean>]` to
@@ -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.10.01'
28
+ __version__ = '7.10.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
@@ -70133,6 +70133,7 @@ def _initMessageThreadParameters(entityType, doIt, maxToProcess):
70133
70133
  'query': '', 'queryTimes': {},
70134
70134
  'entityType': entityType, 'messageEntity': None, 'doIt': doIt, 'quick': True,
70135
70135
  'labelMatchPattern': None, 'senderMatchPattern': None,
70136
+ 'labelIds': [],
70136
70137
  'maxToProcess': maxToProcess, 'maxItems': 0, 'maxMessagesPerThread': 0,
70137
70138
  'maxToKeywords': [MESSAGES_MAX_TO_KEYWORDS[Act.Get()], 'maxtoprocess'],
70138
70139
  'listType': listType, 'fields': f'nextPageToken,{listType}(id)'}
@@ -70165,6 +70166,8 @@ def _getMessageSelectParameters(myarg, parameters):
70165
70166
  parameters['labelMatchPattern'] = getREPattern(re.IGNORECASE)
70166
70167
  elif myarg == 'sendermatchpattern':
70167
70168
  parameters['senderMatchPattern'] = getREPattern(re.IGNORECASE)
70169
+ elif myarg == 'labelids':
70170
+ parameters['labelIds'].extend(getEntityList(Cmd.OB_LABEL_ID_LIST))
70168
70171
  elif myarg == 'ids':
70169
70172
  parameters['messageEntity'] = getUserObjectEntity(Cmd.OB_MESSAGE_ID, parameters['entityType'])
70170
70173
  elif myarg == 'quick':
@@ -70264,7 +70267,8 @@ def archiveMessages(users):
70264
70267
  listResult = callGAPIpages(service, 'list', parameters['listType'],
70265
70268
  pageMessage=getPageMessageForWhom(), maxItems=parameters['maxItems'],
70266
70269
  throwReasons=GAPI.GMAIL_THROW_REASONS+GAPI.GMAIL_LIST_THROW_REASONS,
70267
- userId='me', q=parameters['query'], fields=parameters['fields'],
70270
+ userId='me', q=parameters['query'], labelIds=parameters['labelIds'],
70271
+ fields=parameters['fields'],
70268
70272
  maxResults=GC.Values[GC.MESSAGE_MAX_RESULTS])
70269
70273
  messageIds = [message['id'] for message in listResult]
70270
70274
  except (GAPI.failedPrecondition, GAPI.permissionDenied, GAPI.invalid, GAPI.invalidArgument) as e:
@@ -70453,7 +70457,8 @@ def _processMessagesThreads(users, entityType):
70453
70457
  listResult = callGAPIpages(service, 'list', parameters['listType'],
70454
70458
  pageMessage=getPageMessageForWhom(), maxItems=parameters['maxItems'],
70455
70459
  throwReasons=GAPI.GMAIL_THROW_REASONS+GAPI.GMAIL_LIST_THROW_REASONS,
70456
- userId='me', q=parameters['query'], fields=parameters['fields'], includeSpamTrash=includeSpamTrash,
70460
+ userId='me', q=parameters['query'], labelIds=parameters['labelIds'],
70461
+ fields=parameters['fields'], includeSpamTrash=includeSpamTrash,
70457
70462
  maxResults=GC.Values[GC.MESSAGE_MAX_RESULTS])
70458
70463
  messageIds = [message['id'] for message in listResult]
70459
70464
  else:
@@ -70569,7 +70574,8 @@ def exportMessagesThreads(users, entityType):
70569
70574
  listResult = callGAPIpages(service, 'list', parameters['listType'],
70570
70575
  pageMessage=getPageMessageForWhom(), maxItems=parameters['maxItems'],
70571
70576
  throwReasons=GAPI.GMAIL_THROW_REASONS+GAPI.GMAIL_LIST_THROW_REASONS,
70572
- userId='me', q=parameters['query'], fields=parameters['fields'], includeSpamTrash=includeSpamTrash,
70577
+ userId='me', q=parameters['query'], labelIds=parameters['labelIds'],
70578
+ fields=parameters['fields'], includeSpamTrash=includeSpamTrash,
70573
70579
  maxResults=GC.Values[GC.MESSAGE_MAX_RESULTS])
70574
70580
  entityIds = [entity['id'] for entity in listResult]
70575
70581
  except (GAPI.failedPrecondition, GAPI.permissionDenied, GAPI.invalid, GAPI.invalidArgument) as e:
@@ -70704,7 +70710,8 @@ def forwardMessagesThreads(users, entityType):
70704
70710
  listResult = callGAPIpages(service, 'list', parameters['listType'],
70705
70711
  pageMessage=getPageMessageForWhom(), maxItems=parameters['maxItems'],
70706
70712
  throwReasons=GAPI.GMAIL_THROW_REASONS+GAPI.GMAIL_LIST_THROW_REASONS,
70707
- userId='me', q=parameters['query'], fields=parameters['fields'], includeSpamTrash=includeSpamTrash,
70713
+ userId='me', q=parameters['query'], labelIds=parameters['labelIds'],
70714
+ fields=parameters['fields'], includeSpamTrash=includeSpamTrash,
70708
70715
  maxResults=GC.Values[GC.MESSAGE_MAX_RESULTS])
70709
70716
  entityIds = [entity['id'] for entity in listResult]
70710
70717
  except (GAPI.failedPrecondition, GAPI.permissionDenied, GAPI.invalid, GAPI.invalidArgument) as e:
@@ -71809,7 +71816,8 @@ def printShowMessagesThreads(users, entityType):
71809
71816
  listResult = callGAPIpages(service, 'list', parameters['listType'],
71810
71817
  pageMessage=getPageMessageForWhom(), maxItems=parameters['maxItems'],
71811
71818
  throwReasons=GAPI.GMAIL_THROW_REASONS+GAPI.GMAIL_LIST_THROW_REASONS,
71812
- userId='me', q=parameters['query'], fields=parameters['fields'], includeSpamTrash=includeSpamTrash,
71819
+ userId='me', q=parameters['query'], labelIds=parameters['labelIds'],
71820
+ fields=parameters['fields'], includeSpamTrash=includeSpamTrash,
71813
71821
  maxResults=GC.Values[GC.MESSAGE_MAX_RESULTS])
71814
71822
  messageIds = [message['id'] for message in listResult]
71815
71823
  else:
@@ -72607,14 +72615,19 @@ def updateFormRequestUpdateMasks(ubody):
72607
72615
  break
72608
72616
 
72609
72617
  def _initPublishSettings():
72610
- return {'publishSettings': {'publishState': {'isPublished': False, 'isAcceptingResponses': False}},
72611
- 'updateMask': ''}
72618
+ return {'publishSettings': {'publishState': {}}, 'updateMask': ''}
72612
72619
 
72613
72620
  def _getPublishSettings(myarg, pbody):
72614
72621
  if myarg == 'ispublished':
72615
- pbody['publishSettings']['publishState']['isPublished'] = getBoolean()
72622
+ bval = getBoolean()
72623
+ pbody['publishSettings']['publishState']['isPublished'] = bval
72624
+ if not bval:
72625
+ pbody['publishSettings']['publishState']['isAcceptingResponses'] = bval
72616
72626
  elif myarg == 'isacceptingresponses':
72617
- pbody['publishSettings']['publishState']['isAcceptingResponses'] = getBoolean()
72627
+ bval = getBoolean()
72628
+ pbody['publishSettings']['publishState']['isAcceptingResponses'] = bval
72629
+ if bval:
72630
+ pbody['publishSettings']['publishState']['isPublished'] = bval
72618
72631
  else:
72619
72632
  return False
72620
72633
  pbody['updateMask'] = 'publishState'
@@ -72808,6 +72821,9 @@ def printShowForms(users):
72808
72821
  result = callGAPI(gform.forms(), 'get',
72809
72822
  throwReasons=[GAPI.NOT_FOUND, GAPI.PERMISSION_DENIED],
72810
72823
  formId=formId)
72824
+ if 'publishSettings' in result and 'publishState' in result['publishSettings']:
72825
+ result['publishSettings']['publishState'].setdefault('isPublished', False)
72826
+ result['publishSettings']['publishState'].setdefault('isAcceptingResponses', False)
72811
72827
  if not csvPF:
72812
72828
  if not FJQC.formatJSON:
72813
72829
  printEntity([Ent.FORM, result['formId']], j, jcount)
@@ -10,6 +10,20 @@ Add the `-s` option to the end of the above commands to suppress creating the `g
10
10
 
11
11
  See [Downloads-Installs-GAM7](https://github.com/GAM-team/GAM/wiki/Downloads-Installs) for Windows or other options, including manual installation
12
12
 
13
+ ### 7.10.02
14
+
15
+ Added option `labelids <LabelIdList>` to all commands that process messages;
16
+ this option causes GAM to only return messages with labels that match all of the specified label IDs.
17
+
18
+ Updated `gam <UserTypeEntity> print|show forms` to always display `isPublished` and
19
+ `isAcceptingResponses` in `publishSettings/publishState` regardless of their value;
20
+ the API doesn't return these values when they are False.
21
+
22
+ ### 7.10.01
23
+
24
+ Added options `ispublished [<Boolean>]` and `isacceptingresponses [<Boolean>]` to
25
+ `gam <UserTypeEntity> create|update form`.
26
+
13
27
  ### 7.10.00
14
28
 
15
29
  Added commands to manage/display Chat Custom Emojis.
@@ -251,7 +251,7 @@ writes the credentials into the file oauth2.txt.
251
251
  admin@server:/Users/admin$ rm -f /Users/admin/GAMConfig/oauth2.txt
252
252
  admin@server:/Users/admin$ gam version
253
253
  WARNING: Config File: /Users/admin/GAMConfig/gam.cfg, Section: DEFAULT, Item: oauth2_txt, Value: /Users/admin/GAMConfig/oauth2.txt, Not Found
254
- GAM 7.10.00 - https://github.com/GAM-team/GAM - pyinstaller
254
+ GAM 7.10.02 - https://github.com/GAM-team/GAM - pyinstaller
255
255
  GAM Team <google-apps-manager@googlegroups.com>
256
256
  Python 3.13.5 64-bit final
257
257
  MacOS Sequoia 15.5 x86_64
@@ -989,7 +989,7 @@ writes the credentials into the file oauth2.txt.
989
989
  C:\>del C:\GAMConfig\oauth2.txt
990
990
  C:\>gam version
991
991
  WARNING: Config File: C:\GAMConfig\gam.cfg, Section: DEFAULT, Item: oauth2_txt, Value: C:\GAMConfig\oauth2.txt, Not Found
992
- GAM 7.10.00 - https://github.com/GAM-team/GAM - pythonsource
992
+ GAM 7.10.02 - https://github.com/GAM-team/GAM - pythonsource
993
993
  GAM Team <google-apps-manager@googlegroups.com>
994
994
  Python 3.13.5 64-bit final
995
995
  Windows-10-10.0.17134 AMD64
@@ -44,13 +44,14 @@ config csv_output_row_filter "'\"accounts:used_quota_in_mb\":count>15000'"
44
44
  calendar|calendars|
45
45
  chat|
46
46
  chrome|
47
+ classroom|
47
48
  contextawareaccess|
48
49
  currents|gplus|google+|
49
50
  datastudio|
50
51
  devices|mobile|
51
52
  domain|
52
53
  drive|doc|docs|
53
- gcp|
54
+ gcp|cloud|
54
55
  gemini|geminiforworkspace|
55
56
  groups|group|
56
57
  groupsenterprise|enterprisegroups|
@@ -49,10 +49,19 @@ gam user user@domain.com update serviceaccount
49
49
  ```
50
50
  gam <UserTypeEntity> create form
51
51
  title <String> [description <String>] [isquiz [Boolean>]] [<JSONData>]
52
+ [ispublished [<Boolean>] isacceptingresponses [<Boolean>]]
52
53
  [drivefilename <DriveFileName>] [<DriveFileParentAttribute>]
53
54
  [(csv [todrive <ToDriveAttribute>*]) | returnidonly]
54
55
  ```
55
56
 
57
+ The valid combinations of `ispublished` and `isacceptingresponses` are:
58
+ * `ispublished true isacceptingresponses true`
59
+ * `ispublished true isacceptingresponses false`
60
+ * `ispublished false isacceptingresponses false`
61
+ * `ispublished false` - Sets `isacceptingresponses false`
62
+ * `isacceptingresponses false` - Sets `ispublished false`
63
+ * `isacceptingresponses true` - Sets `ispublished true`
64
+
56
65
  `<JSONData>` is a list of form update requests.
57
66
 
58
67
  * See: https://developers.google.com/forms/api/reference/rest/v1/forms/batchUpdate
@@ -79,15 +88,24 @@ Select forms with `<DriveFileEntity>`:
79
88
  ```
80
89
  gam <UserTypeEntity> update form <DriveFileEntity>
81
90
  [title <String>] [description <String>] [isquiz [Boolean>]] [<JSONData>]
91
+ [ispublished [<Boolean>] isacceptingresponses [<Boolean>]]
82
92
  ```
83
93
 
94
+ The valid combinations of `ispublished` and `isacceptingresponses` are:
95
+ * `ispublished true isacceptingresponses true`
96
+ * `ispublished true isacceptingresponses false`
97
+ * `ispublished false isacceptingresponses false`
98
+ * `ispublished false` - Sets `isacceptingresponses false`
99
+ * `isacceptingresponses false` - Sets `ispublished false`
100
+ * `isacceptingresponses true` - Sets `ispublished true`
101
+
84
102
  `<JSONData>` is a list of form update requests.
85
103
 
86
104
  * See: https://developers.google.com/forms/api/reference/rest/v1/forms/batchUpdate
87
105
 
88
106
  ## Extended Example
89
107
 
90
- This example illustrates the use of JSN data to create and update forms
108
+ This example illustrates the use of JSON data to create and update forms
91
109
  concerning student classtoom attendance.
92
110
  The form has two items: Absences and Notes.
93
111
  In `Absences`, the teacher can check `All present.` or check individual student absences.
@@ -72,6 +72,8 @@ This table and other suggestions came from:
72
72
  <EmailAddress> ::= <String>@<DomainName>
73
73
  <UniqueID> ::= id:<String>
74
74
  <GroupItem> ::= <EmailAddress>|<UniqueID>|<String>
75
+ <LabelID> ::= <String>
76
+ <LabelIDList> ::= "<LabelID>(,<LabelID)*"
75
77
  <LabelName> ::= <String>
76
78
  <QueryGmail> ::= <String> See: https://support.google.com/mail/answer/7190
77
79
  <Time> ::=
@@ -389,6 +391,7 @@ Your command line will have: `embedimage file1.jpg image1` embedimage file2.jpg
389
391
  ```
390
392
  gam <UserTypeEntity> archive messages <GroupItem>
391
393
  (((query <QueryGmail> [querytime<String> <Date>]*) (matchlabel <LabelName>) [or|and])+
394
+ [labelids <LabelIDList>]
392
395
  [quick|notquick] [doit] [max_to_archive <Number>])|(ids <MessageIDEntity>)
393
396
  [csv [todrive <ToDriveAttribute>*]]
394
397
  ```
@@ -400,6 +403,7 @@ Messages are archived to the group specified by `<GroupItem>`.
400
403
 
401
404
  ### Archive a selected set of messages
402
405
  * `((query <QueryGmail> [querytime<String> <Date>]*) (matchlabel <LabelName>) [or|and])+` - Criteria to select messages
406
+ * `labelids <LabelIDList>` - Select messages with labels that match all of the specified label IDs.
403
407
  * `max_to_archive` - Limit the number of messages that will be archived; use a value of 0 for no limit
404
408
  * `doit` - No messages are archived unless you specify `doit`. By not specifying `doit`, you can preview the messages selected to verify that the results match your expectations.
405
409
 
@@ -432,10 +436,14 @@ See below for message selection.
432
436
  Export messages in EML format.
433
437
  ```
434
438
  gam <UserTypeEntity> export message|messages
435
- (((query <QueryGmail> [querytime<String> <Date>]*) (matchlabel <LabelName>) [or|and])+ [quick|notquick] [max_to_export <Number>])|(ids <MessageIDEntity>)
439
+ (((query <QueryGmail> [querytime<String> <Date>]*) (matchlabel <LabelName>) [or|and])+
440
+ [labelids <LabelIDList>]
441
+ [quick|notquick] [max_to_export <Number>])|(ids <MessageIDEntity>)
436
442
  [targetfolder <FilePath>] [targetname <FileName>] [overwrite [<Boolean>]]
437
443
  gam <UserTypeEntity> export thread|threads
438
- (((query <QueryGmail> [querytime<String> <Date>]*) (matchlabel <LabelName>) [or|and])+ [quick|notquick] [max_to_export <Number>])|(ids <ThreadIDEntity>)
444
+ (((query <QueryGmail> [querytime<String> <Date>]*) (matchlabel <LabelName>) [or|and])+
445
+ [labelids <LabelIDList>]
446
+ [quick|notquick] [max_to_export <Number>])|(ids <MessageIDEntity>)
439
447
  [targetfolder <FilePath>] [targetname <FileName>] [overwrite [<Boolean>]]
440
448
  ```
441
449
 
@@ -459,10 +467,12 @@ See below for message selection.
459
467
  ```
460
468
  gam <UserTypeEntity> forward message|messages recipient|to <RecipientEntity>
461
469
  (((query <QueryGmail> [querytime<String> <Date>]*) (matchlabel <LabelName>) [or|and])+
470
+ [labelids <LabelIDList>]
462
471
  [quick|notquick] [doit] [max_to_forward <Number>])|(ids <MessageIDEntity>)
463
472
  [subject <String>] [addorigfieldstosubject]
464
473
  gam <UserTypeEntity> forward thread|threads recipient|to <RecipientEntity>
465
474
  (((query <QueryGmail> [querytime<String> <Date>]*) (matchlabel <LabelName>) [or|and])+
475
+ [labelids <LabelIDList>]
466
476
  [quick|notquick] [doit] [max_to_forward <Number>])|(ids <ThreadIDEntity>)
467
477
  [subject <String>] [addorigfieldstosubject]
468
478
  ```
@@ -482,23 +492,28 @@ See below for message selection.
482
492
  ```
483
493
  gam <UserTypeEntity> delete messages|threads
484
494
  (((query <QueryGmail> [querytime<String> <Date>]*) (matchlabel <LabelName>) [or|and])+
495
+ [labelids <LabelIDList>]
485
496
  [quick|notquick] [doit] [max_to_delete <Number>])|(ids <MessageIDEntity>)
486
497
  [csv [todrive <ToDriveAttribute>*]]
487
498
  gam <UserTypeEntity> modify messages|threads
488
499
  (((query <QueryGmail> [querytime<String> <Date>]*) (matchlabel <LabelName>) [or|and])+
500
+ [labelids <LabelIDList>]
489
501
  [quick|notquick] [doit] [max_to_modify <Number>])|(ids <MessageIDEntity>)
490
502
  ((addlabel <LabelName>)|(removelabel <LabelName>))+
491
503
  [csv [todrive <ToDriveAttribute>*]]
492
504
  gam <UserTypeEntity> spam messages|threads
493
505
  (((query <QueryGmail> [querytime<String> <Date>]*) (matchlabel <LabelName>) [or|and])+
506
+ [labelids <LabelIDList>]
494
507
  [quick|notquick] [doit] [max_to_spam <Number>])|(ids <MessageIDEntity>)
495
508
  [csv [todrive <ToDriveAttribute>*]]
496
509
  gam <UserTypeEntity> trash messages|threads
497
510
  (((query <QueryGmail> [querytime<String> <Date>]*) (matchlabel <LabelName>) [or|and])+
511
+ [labelids <LabelIDList>]
498
512
  [quick|notquick] [doit] [max_to_trash <Number>])|(ids <MessageIDEntity>)
499
513
  [csv [todrive <ToDriveAttribute>*]]
500
514
  gam <UserTypeEntity> untrash messages|threads
501
515
  (((query <QueryGmail> [querytime<String> <Date>]*) (matchlabel <LabelName>) [or|and])+
516
+ [labelids <LabelIDList>]
502
517
  [quick|notquick] [doit] [max_to_untrash <Number>])|(ids <MessageIDEntity>)
503
518
  [csv [todrive <ToDriveAttribute>*]]
504
519
  ```
@@ -522,6 +537,7 @@ user@domain.com,18e9fc58c5491f4c,Deleted,
522
537
 
523
538
  ### Manage a selected set of messages
524
539
  * `((query <QueryGmail> [querytime<String> <Date>]*) (matchlabel <LabelName>) [or|and])+` - Criteria to select messages
540
+ * `labelids <LabelIDList>` - Select messages with labels that match all of the specified label IDs.
525
541
  * `max_to_xxx` - Limit the number of messages that will be processed; use a value of 0 for no limit
526
542
  * `doit` - No messages are processed unless you specify `doit`. By not specifying `doit`, you can preview the messages selected to verify that the results match your expectations.
527
543
 
@@ -570,6 +586,7 @@ gam config auto_batch_min 1 groups_inde EastOffice delete message query "rfc822m
570
586
  ```
571
587
  gam <UserTypeEntity> show messages|threads
572
588
  (((query <QueryGmail> [querytime<String> <Date>]*) (matchlabel <LabelName>) [or|and])*
589
+ [labelids <LabelIDList>]
573
590
  [quick|notquick] [max_to_show <Number>] [includespamtrash])|(ids <MessageIDEntity>)
574
591
  [labelmatchpattern <REMatchPattern>] [sendermatchpattern <REMatchPattern>]
575
592
  [countsonly|positivecountsonly] [useronly]
@@ -581,6 +598,7 @@ gam <UserTypeEntity> show messages|threads
581
598
  [targetfolder <FilePath>] [overwrite [<Boolean>]]
582
599
  gam <UserTypeEntity> print messages|threads [todrive <ToDriveAttribute>*]
583
600
  (((query <QueryGmail> [querytime<String> <Date>]*) (matchlabel <LabelName>) [or|and])*
601
+ [labelids <LabelIDList>]
584
602
  [quick|notquick] [max_to_print <Number>] [includespamtrash])|(ids <MessageIDEntity>)
585
603
  [labelmatchpattern <REMatchPattern>] [sendermatchpattern <REMatchPattern>]
586
604
  [countsonly|positivecountsonly] [useronly]
@@ -607,6 +625,7 @@ gam user user@domain.com print|show threads maxmessagesperthread 1
607
625
 
608
626
  ## Display a selected set of messages
609
627
  * `((query <QueryGmail> [querytime<String> <Date>]*) (matchlabel <LabelName>) [or|and])+` - Criteria to select messages
628
+ * `labelids <LabelIDList>` - Select messages with labels that match all of the specified label IDs.
610
629
  * `max_to_xxx` - Limit the number of messages that will be displayed
611
630
  * `includespamtrash` - Include messages in the Spam and Trash folders
612
631
  * `labelmatchpattern <REMatchPattern>` - Only display messages with some label that matches `<REMatchPattern>`
@@ -3,7 +3,7 @@
3
3
  Print the current version of Gam with details
4
4
  ```
5
5
  gam version
6
- GAM 7.10.00 - https://github.com/GAM-team/GAM - pyinstaller
6
+ GAM 7.10.02 - https://github.com/GAM-team/GAM - pyinstaller
7
7
  GAM Team <google-apps-manager@googlegroups.com>
8
8
  Python 3.13.5 64-bit final
9
9
  MacOS Sequoia 15.5 x86_64
@@ -15,7 +15,7 @@ Time: 2023-06-02T21:10:00-07:00
15
15
  Print the current version of Gam with details and time offset information
16
16
  ```
17
17
  gam version timeoffset
18
- GAM 7.10.00 - https://github.com/GAM-team/GAM - pyinstaller
18
+ GAM 7.10.02 - https://github.com/GAM-team/GAM - pyinstaller
19
19
  GAM Team <google-apps-manager@googlegroups.com>
20
20
  Python 3.13.5 64-bit final
21
21
  MacOS Sequoia 15.5 x86_64
@@ -27,7 +27,7 @@ Your system time differs from www.googleapis.com by less than 1 second
27
27
  Print the current version of Gam with extended details and SSL information
28
28
  ```
29
29
  gam version extended
30
- GAM 7.10.00 - https://github.com/GAM-team/GAM - pyinstaller
30
+ GAM 7.10.02 - https://github.com/GAM-team/GAM - pyinstaller
31
31
  GAM Team <google-apps-manager@googlegroups.com>
32
32
  Python 3.13.5 64-bit final
33
33
  MacOS Sequoia 15.5 x86_64
@@ -64,7 +64,7 @@ MacOS High Sierra 10.13.6 x86_64
64
64
  Path: /Users/Admin/bin/gam7
65
65
  Version Check:
66
66
  Current: 5.35.08
67
- Latest: 7.10.00
67
+ Latest: 7.10.02
68
68
  echo $?
69
69
  1
70
70
  ```
@@ -72,7 +72,7 @@ echo $?
72
72
  Print the current version number without details
73
73
  ```
74
74
  gam version simple
75
- 7.10.00
75
+ 7.10.02
76
76
  ```
77
77
  In Linux/MacOS you can do:
78
78
  ```
@@ -82,7 +82,7 @@ echo $VER
82
82
  Print the current version of Gam and address of this Wiki
83
83
  ```
84
84
  gam help
85
- GAM 7.10.00 - https://github.com/GAM-team/GAM
85
+ GAM 7.10.02 - https://github.com/GAM-team/GAM
86
86
  GAM Team <google-apps-manager@googlegroups.com>
87
87
  Python 3.13.5 64-bit final
88
88
  MacOS Sequoia 15.5 x86_64
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