gam7 7.3.5__tar.gz → 7.3.6__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 (109) hide show
  1. gam7-7.3.6/.github/workflows/pypi.yml +32 -0
  2. {gam7-7.3.5 → gam7-7.3.6}/PKG-INFO +1 -1
  3. {gam7-7.3.5 → gam7-7.3.6}/src/GamCommands.txt +2 -2
  4. {gam7-7.3.5 → gam7-7.3.6}/src/GamUpdate.txt +4 -0
  5. {gam7-7.3.5 → gam7-7.3.6}/src/gam/__init__.py +11 -2
  6. {gam7-7.3.5 → gam7-7.3.6}/src/gam/gamlib/glclargs.py +1 -0
  7. {gam7-7.3.5 → gam7-7.3.6}/.github/ISSUE_TEMPLATE/aa-question.md +0 -0
  8. {gam7-7.3.5 → gam7-7.3.6}/.github/ISSUE_TEMPLATE/za-bug-report.md +0 -0
  9. {gam7-7.3.5 → gam7-7.3.6}/.github/ISSUE_TEMPLATE/zz-feature-request.md +0 -0
  10. {gam7-7.3.5 → gam7-7.3.6}/.github/ISSUE_TEMPLATE.txt +0 -0
  11. {gam7-7.3.5 → gam7-7.3.6}/.github/actions/creds.tar.xz.gpg +0 -0
  12. {gam7-7.3.5 → gam7-7.3.6}/.github/actions/decrypt.sh +0 -0
  13. {gam7-7.3.5 → gam7-7.3.6}/.github/actions/entitlements.plist +0 -0
  14. {gam7-7.3.5 → gam7-7.3.6}/.github/actions/package_exclusions.txt +0 -0
  15. {gam7-7.3.5 → gam7-7.3.6}/.github/stale.yml +0 -0
  16. {gam7-7.3.5 → gam7-7.3.6}/.github/workflows/build.yml +0 -0
  17. {gam7-7.3.5 → gam7-7.3.6}/.github/workflows/codeql-analysis.yml +0 -0
  18. {gam7-7.3.5 → gam7-7.3.6}/.github/workflows/get-cacerts.yml +0 -0
  19. {gam7-7.3.5 → gam7-7.3.6}/.pre-commit-config.yaml +0 -0
  20. {gam7-7.3.5 → gam7-7.3.6}/LICENSE +0 -0
  21. {gam7-7.3.5 → gam7-7.3.6}/README.md +0 -0
  22. {gam7-7.3.5 → gam7-7.3.6}/pyproject.toml +0 -0
  23. {gam7-7.3.5 → gam7-7.3.6}/src/.gitignore +0 -0
  24. {gam7-7.3.5 → gam7-7.3.6}/src/LICENSE +0 -0
  25. {gam7-7.3.5 → gam7-7.3.6}/src/cacerts.pem +0 -0
  26. {gam7-7.3.5 → gam7-7.3.6}/src/callgam.py +0 -0
  27. {gam7-7.3.5 → gam7-7.3.6}/src/gam/__main__.py +0 -0
  28. {gam7-7.3.5 → gam7-7.3.6}/src/gam/atom/__init__.py +0 -0
  29. {gam7-7.3.5 → gam7-7.3.6}/src/gam/atom/auth.py +0 -0
  30. {gam7-7.3.5 → gam7-7.3.6}/src/gam/atom/client.py +0 -0
  31. {gam7-7.3.5 → gam7-7.3.6}/src/gam/atom/core.py +0 -0
  32. {gam7-7.3.5 → gam7-7.3.6}/src/gam/atom/data.py +0 -0
  33. {gam7-7.3.5 → gam7-7.3.6}/src/gam/atom/http.py +0 -0
  34. {gam7-7.3.5 → gam7-7.3.6}/src/gam/atom/http_core.py +0 -0
  35. {gam7-7.3.5 → gam7-7.3.6}/src/gam/atom/http_interface.py +0 -0
  36. {gam7-7.3.5 → gam7-7.3.6}/src/gam/atom/mock_http.py +0 -0
  37. {gam7-7.3.5 → gam7-7.3.6}/src/gam/atom/mock_http_core.py +0 -0
  38. {gam7-7.3.5 → gam7-7.3.6}/src/gam/atom/mock_service.py +0 -0
  39. {gam7-7.3.5 → gam7-7.3.6}/src/gam/atom/service.py +0 -0
  40. {gam7-7.3.5 → gam7-7.3.6}/src/gam/atom/token_store.py +0 -0
  41. {gam7-7.3.5 → gam7-7.3.6}/src/gam/atom/url.py +0 -0
  42. {gam7-7.3.5 → gam7-7.3.6}/src/gam/cacerts.pem +0 -0
  43. {gam7-7.3.5 → gam7-7.3.6}/src/gam/cbcm-v1.1beta1.json +0 -0
  44. {gam7-7.3.5 → gam7-7.3.6}/src/gam/contactdelegation-v1.json +0 -0
  45. {gam7-7.3.5 → gam7-7.3.6}/src/gam/datastudio-v1.json +0 -0
  46. {gam7-7.3.5 → gam7-7.3.6}/src/gam/gamlib/__init__.py +0 -0
  47. {gam7-7.3.5 → gam7-7.3.6}/src/gam/gamlib/glaction.py +0 -0
  48. {gam7-7.3.5 → gam7-7.3.6}/src/gam/gamlib/glapi.py +0 -0
  49. {gam7-7.3.5 → gam7-7.3.6}/src/gam/gamlib/glcfg.py +0 -0
  50. {gam7-7.3.5 → gam7-7.3.6}/src/gam/gamlib/glentity.py +0 -0
  51. {gam7-7.3.5 → gam7-7.3.6}/src/gam/gamlib/glgapi.py +0 -0
  52. {gam7-7.3.5 → gam7-7.3.6}/src/gam/gamlib/glgdata.py +0 -0
  53. {gam7-7.3.5 → gam7-7.3.6}/src/gam/gamlib/glglobals.py +0 -0
  54. {gam7-7.3.5 → gam7-7.3.6}/src/gam/gamlib/glindent.py +0 -0
  55. {gam7-7.3.5 → gam7-7.3.6}/src/gam/gamlib/glmsgs.py +0 -0
  56. {gam7-7.3.5 → gam7-7.3.6}/src/gam/gamlib/glskus.py +0 -0
  57. {gam7-7.3.5 → gam7-7.3.6}/src/gam/gamlib/gluprop.py +0 -0
  58. {gam7-7.3.5 → gam7-7.3.6}/src/gam/gamlib/glverlibs.py +0 -0
  59. {gam7-7.3.5 → gam7-7.3.6}/src/gam/gamlib/yubikey.py +0 -0
  60. {gam7-7.3.5 → gam7-7.3.6}/src/gam/gdata/__init__.py +0 -0
  61. {gam7-7.3.5 → gam7-7.3.6}/src/gam/gdata/alt/__init__.py +0 -0
  62. {gam7-7.3.5 → gam7-7.3.6}/src/gam/gdata/alt/app_engine.py +0 -0
  63. {gam7-7.3.5 → gam7-7.3.6}/src/gam/gdata/alt/appengine.py +0 -0
  64. {gam7-7.3.5 → gam7-7.3.6}/src/gam/gdata/apps/__init__.py +0 -0
  65. {gam7-7.3.5 → gam7-7.3.6}/src/gam/gdata/apps/audit/__init__.py +0 -0
  66. {gam7-7.3.5 → gam7-7.3.6}/src/gam/gdata/apps/audit/service.py +0 -0
  67. {gam7-7.3.5 → gam7-7.3.6}/src/gam/gdata/apps/contacts/__init__.py +0 -0
  68. {gam7-7.3.5 → gam7-7.3.6}/src/gam/gdata/apps/contacts/service.py +0 -0
  69. {gam7-7.3.5 → gam7-7.3.6}/src/gam/gdata/apps/service.py +0 -0
  70. {gam7-7.3.5 → gam7-7.3.6}/src/gam/gdata/apps/sites/__init__.py +0 -0
  71. {gam7-7.3.5 → gam7-7.3.6}/src/gam/gdata/apps/sites/service.py +0 -0
  72. {gam7-7.3.5 → gam7-7.3.6}/src/gam/gdata/service.py +0 -0
  73. {gam7-7.3.5 → gam7-7.3.6}/src/gam/gdata/urlfetch.py +0 -0
  74. {gam7-7.3.5 → gam7-7.3.6}/src/gam/googleapiclient/__init__.py +0 -0
  75. {gam7-7.3.5 → gam7-7.3.6}/src/gam/googleapiclient/_auth.py +0 -0
  76. {gam7-7.3.5 → gam7-7.3.6}/src/gam/googleapiclient/_helpers.py +0 -0
  77. {gam7-7.3.5 → gam7-7.3.6}/src/gam/googleapiclient/channel.py +0 -0
  78. {gam7-7.3.5 → gam7-7.3.6}/src/gam/googleapiclient/discovery.py +0 -0
  79. {gam7-7.3.5 → gam7-7.3.6}/src/gam/googleapiclient/discovery_cache/__init__.py +0 -0
  80. {gam7-7.3.5 → gam7-7.3.6}/src/gam/googleapiclient/discovery_cache/appengine_memcache.py +0 -0
  81. {gam7-7.3.5 → gam7-7.3.6}/src/gam/googleapiclient/discovery_cache/base.py +0 -0
  82. {gam7-7.3.5 → gam7-7.3.6}/src/gam/googleapiclient/discovery_cache/file_cache.py +0 -0
  83. {gam7-7.3.5 → gam7-7.3.6}/src/gam/googleapiclient/errors.py +0 -0
  84. {gam7-7.3.5 → gam7-7.3.6}/src/gam/googleapiclient/http.py +0 -0
  85. {gam7-7.3.5 → gam7-7.3.6}/src/gam/googleapiclient/mimeparse.py +0 -0
  86. {gam7-7.3.5 → gam7-7.3.6}/src/gam/googleapiclient/model.py +0 -0
  87. {gam7-7.3.5 → gam7-7.3.6}/src/gam/googleapiclient/schema.py +0 -0
  88. {gam7-7.3.5 → gam7-7.3.6}/src/gam/googleapiclient/version.py +0 -0
  89. {gam7-7.3.5 → gam7-7.3.6}/src/gam/iso8601/__init__.py +0 -0
  90. {gam7-7.3.5 → gam7-7.3.6}/src/gam/iso8601/iso8601.py +0 -0
  91. {gam7-7.3.5 → gam7-7.3.6}/src/gam/serviceaccountlookup-v1.json +0 -0
  92. {gam7-7.3.5 → gam7-7.3.6}/src/gam/six.py +0 -0
  93. {gam7-7.3.5 → gam7-7.3.6}/src/gam-install.sh +0 -0
  94. {gam7-7.3.5 → gam7-7.3.6}/src/gam-setup.bat +0 -0
  95. {gam7-7.3.5 → gam7-7.3.6}/src/gam.exe.manifest +0 -0
  96. {gam7-7.3.5 → gam7-7.3.6}/src/gam.py +0 -0
  97. {gam7-7.3.5 → gam7-7.3.6}/src/gam.spec +0 -0
  98. {gam7-7.3.5 → gam7-7.3.6}/src/gam.wxs +0 -0
  99. {gam7-7.3.5 → gam7-7.3.6}/src/license.rtf +0 -0
  100. {gam7-7.3.5 → gam7-7.3.6}/src/project-apis.txt +0 -0
  101. {gam7-7.3.5 → gam7-7.3.6}/src/requirements-dev.txt +0 -0
  102. {gam7-7.3.5 → gam7-7.3.6}/src/requirements.txt +0 -0
  103. {gam7-7.3.5 → gam7-7.3.6}/src/setup.cfg +0 -0
  104. {gam7-7.3.5 → gam7-7.3.6}/src/setup.py +0 -0
  105. {gam7-7.3.5 → gam7-7.3.6}/src/tools/a_atleast_b.py +0 -0
  106. {gam7-7.3.5 → gam7-7.3.6}/src/tools/gen-wix-xml-filelist.py +0 -0
  107. {gam7-7.3.5 → gam7-7.3.6}/src/tools/mkGamRef.py +0 -0
  108. {gam7-7.3.5 → gam7-7.3.6}/src/tools/openssl.props +0 -0
  109. {gam7-7.3.5 → gam7-7.3.6}/src/version_info.txt.in +0 -0
@@ -0,0 +1,32 @@
1
+ name: build and publish releases to PyPi
2
+ on:
3
+ push:
4
+ tags:
5
+ - 'v[0-9]+.[0-9]+.[0-9]+'
6
+
7
+ jobs:
8
+ pypi:
9
+ name: Upload release to PyPI
10
+ runs-on: ubuntu-latest
11
+ environment:
12
+ name: pypi
13
+ url: https://pypi.org/p/gam7
14
+ permissions:
15
+ id-token: write
16
+ steps:
17
+
18
+ - uses: actions/checkout@v4
19
+ with:
20
+ persist-credentials: false
21
+ fetch-depth: 0
22
+
23
+ - name: Install required packages to publish
24
+ run: |
25
+ python3 -m pip install --upgrade build
26
+
27
+ - name: Build packages
28
+ run: |
29
+ python -m build
30
+
31
+ - name: Publish package distributions to PyPI
32
+ uses: pypa/gh-action-pypi-publish@release/v1
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gam7
3
- Version: 7.3.5
3
+ Version: 7.3.6
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
@@ -2096,13 +2096,13 @@ gam show browsers
2096
2096
  ([ou|org|orgunit|browserou <OrgUnitPath>] [(query <QueryBrowser>)|(queries <QueryBrowserList>))|(select <BrowserEntity>))
2097
2097
  [querytime<String> <Time>]
2098
2098
  [orderby <BrowserOrderByFieldName> [ascending|descending]]
2099
- [basic|full|allfields|annotated] <BrowserFieldName>* [fields <BrowserFieldNameList>]
2099
+ [basic|full|allfields|annotated] <BrowserFieldName>* [fields <BrowserFieldNameList>] [rawfields <BrowserFieldsString>]
2100
2100
  [formatjson]
2101
2101
  gam print browsers [todrive <ToDriveAttribute>*]
2102
2102
  ([ou|org|orgunit|browserou <OrgUnitPath>] [(query <QueryBrowser>)|(queries <QueryBrowserList>))|(select <BrowserEntity>))
2103
2103
  [querytime<String> <Time>]
2104
2104
  [orderby <BrowserOrderByFieldName> [ascending|descending]]
2105
- [basic|full|allfields|annotated] <BrowserFieldName>* [fields <BrowserFieldNameList>]
2105
+ [basic|full|allfields|annotated] <BrowserFieldName>* [fields <BrowserFieldNameList>] [rawfields <BrowserFieldsString>]
2106
2106
  [sortheaders]
2107
2107
  [formatjson [quotechar <Character>]]
2108
2108
 
@@ -1,3 +1,7 @@
1
+ 7.03.06
2
+
3
+ gam print browsers rawfields - specify complex values for the fields argument
4
+
1
5
  7.03.05
2
6
 
3
7
  Make GAM pip-installable: "pip install gam7"
@@ -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.03.05'
28
+ __version__ = '7.03.06'
29
29
  __license__ = 'Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)'
30
30
 
31
31
  #pylint: disable=wrong-import-position
@@ -7768,6 +7768,9 @@ def RowFilterMatch(row, titlesList, rowFilter, rowFilterModeAll, rowDropFilter,
7768
7768
  return False
7769
7769
  return True
7770
7770
 
7771
+ def getFieldsRaw():
7772
+ return getString(Cmd.OB_FIELDS)
7773
+
7771
7774
  # myarg is command line argument
7772
7775
  # fieldChoiceMap maps myarg to API field names
7773
7776
  #FIELD_CHOICE_MAP = {
@@ -25502,6 +25505,7 @@ def doPrintShowBrowsers():
25502
25505
  csvPF = CSVPrintFile(['deviceId']) if Act.csvFormat() else None
25503
25506
  FJQC = FormatJSONQuoteChar(csvPF)
25504
25507
  fieldsList = []
25508
+ fields = None
25505
25509
  projection = 'BASIC'
25506
25510
  orderBy = 'id'
25507
25511
  sortOrder = 'ASCENDING'
@@ -25538,13 +25542,18 @@ def doPrintShowBrowsers():
25538
25542
  fieldsList = []
25539
25543
  elif myarg == 'sortheaders':
25540
25544
  sortHeaders = True
25545
+ elif myarg == 'rawfields':
25546
+ projection = 'FULL'
25547
+ fields = getFieldsRaw()
25541
25548
  elif getFieldsList(myarg, BROWSER_FIELDS_CHOICE_MAP, fieldsList, initialField='deviceId'):
25542
25549
  pass
25543
25550
  else:
25544
25551
  FJQC.GetFormatJSONQuoteChar(myarg, True)
25545
25552
  if projection == 'BASIC' and set(fieldsList).intersection(BROWSER_FULL_ACCESS_FIELDS):
25546
25553
  projection = 'FULL'
25547
- fields = getItemFieldsFromFieldsList('browsers', fieldsList)
25554
+ if not fields:
25555
+ fields = getItemFieldsFromFieldsList('browsers', fieldsList)
25556
+ print(f'fields: {fields}')
25548
25557
  if FJQC.formatJSON:
25549
25558
  sortHeaders = False
25550
25559
  substituteQueryTimes(queries, queryTimes)
@@ -922,6 +922,7 @@ class GamCLArgs():
922
922
  OB_EVENT_ID_ENTITY = 'EventIDEntity'
923
923
  OB_EVENT_NAME_LIST = "EventNameList"
924
924
  OB_EXPORT_ITEM = 'ExportItem'
925
+ OB_FIELDS = 'Fields'
925
926
  OB_FIELD_NAME = 'FieldName'
926
927
  OB_FIELD_NAME_LIST = "FieldNameList"
927
928
  OB_FILE_NAME = 'FileName'
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