gam7 7.13.3__py3-none-any.whl → 7.14.1__py3-none-any.whl

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.

gam/__init__.py CHANGED
@@ -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.03'
28
+ __version__ = '7.14.01'
29
29
  __license__ = 'Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)'
30
30
 
31
31
  #pylint: disable=wrong-import-position
@@ -24113,7 +24113,10 @@ def infoCrOSDevices(entityList):
24113
24113
  printKeyValueList([up, ''])
24114
24114
  Ind.Increment()
24115
24115
  for key, value in sorted(iter(cros[up].items())):
24116
- printKeyValueList([key, value])
24116
+ if key not in CROS_TIME_OBJECTS:
24117
+ printKeyValueList([key, value])
24118
+ else:
24119
+ printKeyValueList([key, formatLocalTime(value)])
24117
24120
  Ind.Decrement()
24118
24121
  if not noLists:
24119
24122
  activeTimeRanges = _filterActiveTimeRanges(cros, True, listLimit, startDate, endDate, activeTimeRangesOrder)
@@ -76488,6 +76491,147 @@ def importTasklist(users):
76488
76491
  tasklist=tasklistId, parent=parent, body=task)
76489
76492
  parentIdMap[taskId] = result['id']
76490
76493
 
76494
+ TAGMANAGER_PARAMETERS = {
76495
+ Ent.TAGMANAGER_ACCOUNT: {'api': API.TAGMANAGER, 'respType': 'account', 'parentEntityType': None,
76496
+ 'name': 'name', 'idList': ['accountId']},
76497
+ Ent.TAGMANAGER_CONTAINER: {'api': API.TAGMANAGER, 'respType': 'container', 'parentEntityType': Ent.TAGMANAGER_ACCOUNT,
76498
+ 'name': 'name', 'idList': ['accountId', 'containerId']},
76499
+ Ent.TAGMANAGER_WORKSPACE: {'api': API.TAGMANAGER, 'respType': 'workspace', 'parentEntityType': Ent.TAGMANAGER_CONTAINER,
76500
+ 'name': 'name', 'idList': ['accountId', 'containerId', 'workspaceId']},
76501
+ Ent.TAGMANAGER_TAG: {'api': API.TAGMANAGER, 'respType': 'tag', 'parentEntityType': Ent.TAGMANAGER_WORKSPACE,
76502
+ 'name': 'name', 'idList': ['accountId', 'containerId', 'workspaceId', 'tagId']},
76503
+ Ent.TAGMANAGER_PERMISSION: {'api': API.TAGMANAGER_USERS, 'respType': 'userPermission', 'parentEntityType': Ent.TAGMANAGER_ACCOUNT,
76504
+ 'name': 'emailAddress', 'idList': ['accountId']},
76505
+ }
76506
+
76507
+ def printShowTagManagerObjects(users, entityType):
76508
+ csvPF = CSVPrintFile(['User']) if Act.csvFormat() else None
76509
+ FJQC = FormatJSONQuoteChar(csvPF)
76510
+ if entityType == Ent.TAGMANAGER_ACCOUNT:
76511
+ kwargs = {'includeGoogleTags': False}
76512
+ parentList = [None]
76513
+ else:
76514
+ kwargs = {'parent': None}
76515
+ if not checkArgumentPresent('select'):
76516
+ parentList = getString(Cmd.OB_TAGMANAGER_PATH_LIST).replace(',', ' ').split()
76517
+ else:
76518
+ parentList = getEntityList(Cmd.OB_TAGMANAGER_PATH_LIST)
76519
+ parameters = TAGMANAGER_PARAMETERS[entityType]
76520
+ if csvPF:
76521
+ csvPF.AddTitles([parameters['name'], 'path'])
76522
+ while Cmd.ArgumentsRemaining():
76523
+ myarg = getArgument()
76524
+ if csvPF and myarg == 'todrive':
76525
+ csvPF.GetTodriveParameters()
76526
+ elif entityType == Ent.TAGMANAGER_ACCOUNT and myarg == 'includegoogletags':
76527
+ kwargs['includeGoogleTags'] = getBoolean()
76528
+ else:
76529
+ FJQC.GetFormatJSONQuoteChar(myarg, True)
76530
+ i, count, users = getEntityArgument(users)
76531
+ for user in users:
76532
+ i += 1
76533
+ user, svc = buildGAPIServiceObject(parameters['api'], user, i, count)
76534
+ if not svc:
76535
+ continue
76536
+ if entityType == Ent.TAGMANAGER_ACCOUNT:
76537
+ svc = svc.accounts()
76538
+ elif entityType == Ent.TAGMANAGER_CONTAINER:
76539
+ svc = svc.accounts().containers()
76540
+ elif entityType == Ent.TAGMANAGER_WORKSPACE:
76541
+ svc = svc.accounts().containers().workspaces()
76542
+ elif entityType == Ent.TAGMANAGER_TAG:
76543
+ svc = svc.accounts().containers().workspaces().tags()
76544
+ else: #elif entityType == Ent.TAGMANAGER_PERMISSION:
76545
+ svc = svc.accounts().user_permissions()
76546
+ jcount = len(parentList)
76547
+ j = 0
76548
+ for parent in parentList:
76549
+ j += 1
76550
+ if entityType == Ent.TAGMANAGER_ACCOUNT:
76551
+ printGettingAllEntityItemsForWhom(entityType, user, i, count)
76552
+ else:
76553
+ kwargs['parent'] = parent
76554
+ qualifier = f' for {Ent.Singular(parameters["parentEntityType"])}: {parent}'
76555
+ printGettingAllEntityItemsForWhom(entityType, user, i, count, qualifier=qualifier)
76556
+ try:
76557
+ results = callGAPIpages(svc, 'list', parameters['respType'],
76558
+ pageMessage=getPageMessageForWhom(),
76559
+ throwReasons=GAPI.TAGMANAGER_THROW_REASONS,
76560
+ **kwargs)
76561
+ except (GAPI.badRequest, GAPI.invalid, GAPI.notFound) as e:
76562
+ entityActionFailedWarning([Ent.USER, user, entityType, kwargs['parent']], str(e), j, jcount)
76563
+ continue
76564
+ kcount = len(results)
76565
+ if not csvPF:
76566
+ if not FJQC.formatJSON:
76567
+ entityPerformActionNumItems([Ent.USER, user], kcount, entityType, j, jcount)
76568
+ Ind.Increment()
76569
+ k = 0
76570
+ for result in results:
76571
+ k += 1
76572
+ if not FJQC.formatJSON:
76573
+ printEntity([entityType, result['path']], k, kcount)
76574
+ Ind.Increment()
76575
+ printKeyValueList([parameters['name'], result.pop(parameters['name'])])
76576
+ for tmid in parameters['idList']:
76577
+ printKeyValueList([tmid, result.pop(tmid)])
76578
+ showJSON(None, result)
76579
+ Ind.Decrement()
76580
+ else:
76581
+ printLine(json.dumps(cleanJSON(result), ensure_ascii=False, sort_keys=True))
76582
+ Ind.Decrement()
76583
+ else:
76584
+ for result in results:
76585
+ baseRow = {'User': user}
76586
+ for tmid in parameters['idList']:
76587
+ baseRow[tmid] = result.pop(tmid)
76588
+ row = flattenJSON(result, flattened=baseRow)
76589
+ if not FJQC.formatJSON:
76590
+ csvPF.WriteRowTitles(row)
76591
+ elif csvPF.CheckRowTitles(row):
76592
+ row = {'User': user, parameters['name']: result[parameters['name']], 'path': result['path']}
76593
+ row['JSON'] = json.dumps(cleanJSON(result), ensure_ascii=False, sort_keys=True)
76594
+ csvPF.WriteRowNoFilter(row)
76595
+ if csvPF:
76596
+ csvPF.writeCSVfile(Ent.Plural(entityType))
76597
+
76598
+ # gam <UserTypeEntity> show tagmanageraccounts
76599
+ # [includegoogletags [<Boolean>]]
76600
+ # [formatjson]
76601
+ # gam <UserTypeEntity> print tagmanagerccounts [todrive <ToDriveAttribute>*]
76602
+ # [includegoogletags [<Boolean>]]
76603
+ # [formatjson [quotechar <Character>]]
76604
+ def printShowTagManagerAccounts(users):
76605
+ printShowTagManagerObjects(users, Ent.TAGMANAGER_ACCOUNT)
76606
+
76607
+ # gam <UserTypeEntity> show tagmanagercontainers <TagManagerAccountPathEntity>
76608
+ # [formatjson]
76609
+ # gam <UserTypeEntity> print tagmanagercontainers <TagManagerAccountPathEntity> [todrive <ToDriveAttribute>*]
76610
+ # [formatjson [quotechar <Character>]]
76611
+ def printShowTagManagerContainers(users):
76612
+ printShowTagManagerObjects(users, Ent.TAGMANAGER_CONTAINER)
76613
+
76614
+ # gam <UserTypeEntity> show tagmanagerworkspaces <TagManagerContainerPathEntity>
76615
+ # [formatjson]
76616
+ # gam <UserTypeEntity> print tagmanagerworkspaces <TagManagerContainerPathEntity>
76617
+ # [formatjson [quotechar <Character>]]
76618
+ def printShowTagManagerWorkspaces(users):
76619
+ printShowTagManagerObjects(users, Ent.TAGMANAGER_WORKSPACE)
76620
+
76621
+ # gam <UserTypeEntity> show tagmanagertags <TagManagerWorkspacePathEntity>
76622
+ # [formatjson]
76623
+ # gam <UserTypeEntity> print tagmanagertags <TagManagerWorkspacePathEntity> [todrive <ToDriveAttribute>*]
76624
+ # [formatjson [quotechar <Character>]]
76625
+ def printShowTagManagerTags(users):
76626
+ printShowTagManagerObjects(users, Ent.TAGMANAGER_TAG)
76627
+
76628
+ # gam <UserTypeEntity> show tagmanagerpermissions <TagManagerAccountPathEntity>
76629
+ # [formatjson]
76630
+ # gam <UserTypeEntity> print tagmanagerpermissions <TagManagerAccountPathEntity> [todrive <ToDriveAttribute>*]
76631
+ # [formatjson [quotechar <Character>]]
76632
+ def printShowTagManagerPermissions(users):
76633
+ printShowTagManagerObjects(users, Ent.TAGMANAGER_PERMISSION)
76634
+
76491
76635
  def getCRMOrgId():
76492
76636
  setTrueCustomerId()
76493
76637
  _, crm = buildGAPIServiceObject(API.CLOUDRESOURCEMANAGER, None)
@@ -78216,6 +78360,11 @@ USER_COMMANDS_WITH_OBJECTS = {
78216
78360
  Cmd.ARG_SITE: deprecatedUserSites,
78217
78361
  Cmd.ARG_SITEACL: deprecatedUserSites,
78218
78362
  Cmd.ARG_SITEACTIVITY: deprecatedUserSites,
78363
+ Cmd.ARG_TAGMANAGERACCOUNT: printShowTagManagerAccounts,
78364
+ Cmd.ARG_TAGMANAGERCONTAINER: printShowTagManagerContainers,
78365
+ Cmd.ARG_TAGMANAGERPERMISSION: printShowTagManagerPermissions,
78366
+ Cmd.ARG_TAGMANAGERTAG: printShowTagManagerTags,
78367
+ Cmd.ARG_TAGMANAGERWORKSPACE: printShowTagManagerWorkspaces,
78219
78368
  Cmd.ARG_TASK: printShowTasks,
78220
78369
  Cmd.ARG_TASKLIST: printShowTasklists,
78221
78370
  Cmd.ARG_THREAD: printShowThreads,
@@ -78323,6 +78472,11 @@ USER_COMMANDS_WITH_OBJECTS = {
78323
78472
  Cmd.ARG_SITE: deprecatedUserSites,
78324
78473
  Cmd.ARG_SITEACL: deprecatedUserSites,
78325
78474
  Cmd.ARG_SMIME: printShowSmimes,
78475
+ Cmd.ARG_TAGMANAGERACCOUNT: printShowTagManagerAccounts,
78476
+ Cmd.ARG_TAGMANAGERCONTAINER: printShowTagManagerContainers,
78477
+ Cmd.ARG_TAGMANAGERPERMISSION: printShowTagManagerPermissions,
78478
+ Cmd.ARG_TAGMANAGERTAG: printShowTagManagerTags,
78479
+ Cmd.ARG_TAGMANAGERWORKSPACE: printShowTagManagerWorkspaces,
78326
78480
  Cmd.ARG_TASK: printShowTasks,
78327
78481
  Cmd.ARG_TASKLIST: printShowTasklists,
78328
78482
  Cmd.ARG_THREAD: printShowThreads,
@@ -78562,6 +78716,11 @@ USER_COMMANDS_OBJ_ALIASES = {
78562
78716
  Cmd.ARG_SITES: Cmd.ARG_SITE,
78563
78717
  Cmd.ARG_SITEACLS: Cmd.ARG_SITEACL,
78564
78718
  Cmd.ARG_SMIMES: Cmd.ARG_SMIME,
78719
+ Cmd.ARG_TAGMANAGERACCOUNTS: Cmd.ARG_TAGMANAGERACCOUNT,
78720
+ Cmd.ARG_TAGMANAGERCONTAINERS: Cmd.ARG_TAGMANAGERCONTAINER,
78721
+ Cmd.ARG_TAGMANAGERPERMISSIONS: Cmd.ARG_TAGMANAGERPERMISSION,
78722
+ Cmd.ARG_TAGMANAGERTAGS: Cmd.ARG_TAGMANAGERTAG,
78723
+ Cmd.ARG_TAGMANAGERWORKSPACES: Cmd.ARG_TAGMANAGERWORKSPACE,
78565
78724
  Cmd.ARG_TASKS: Cmd.ARG_TASK,
78566
78725
  Cmd.ARG_TASKLISTS: Cmd.ARG_TASKLIST,
78567
78726
  Cmd.ARG_TEAMDRIVE: Cmd.ARG_SHAREDDRIVE,
gam/gamlib/glapi.py CHANGED
@@ -94,6 +94,8 @@ SITEVERIFICATION = 'siteVerification'
94
94
  STORAGE = 'storage'
95
95
  STORAGEREAD = 'storageread'
96
96
  STORAGEWRITE = 'storagewrite'
97
+ TAGMANAGER = 'tagmanager'
98
+ TAGMANAGER_USERS = 'tagmanagerusers'
97
99
  TASKS = 'tasks'
98
100
  VAULT = 'vault'
99
101
  YOUTUBE = 'youtube'
@@ -199,6 +201,7 @@ PROJECT_APIS = [
199
201
  'sheets.googleapis.com',
200
202
  'siteverification.googleapis.com',
201
203
  'storage-api.googleapis.com',
204
+ 'tagmanager.googleapis.com',
202
205
  'tasks.googleapis.com',
203
206
  'vault.googleapis.com',
204
207
  'youtube.googleapis.com',
@@ -277,6 +280,8 @@ _INFO = {
277
280
  STORAGE: {'name': 'Cloud Storage API', 'version': 'v1', 'v2discovery': True},
278
281
  STORAGEREAD: {'name': 'Cloud Storage API - Read', 'version': 'v1', 'v2discovery': True, 'mappedAPI': STORAGE},
279
282
  STORAGEWRITE: {'name': 'Cloud Storage API - Write', 'version': 'v1', 'v2discovery': True, 'mappedAPI': STORAGE},
283
+ TAGMANAGER: {'name': 'Tag Manager API', 'version': 'v2', 'v2discovery': True},
284
+ TAGMANAGER_USERS: {'name': 'Tag Manager API - Users', 'version': 'v2', 'v2discovery': True, 'mappedAPI': TAGMANAGER},
280
285
  TASKS: {'name': 'Tasks API', 'version': 'v1', 'v2discovery': True},
281
286
  VAULT: {'name': 'Vault API', 'version': 'v1', 'v2discovery': True},
282
287
  YOUTUBE: {'name': 'Youtube API', 'version': 'v3', 'v2discovery': True},
@@ -696,6 +701,16 @@ _SVCACCT_SCOPES = [
696
701
  'api': SHEETS,
697
702
  'subscopes': READONLY,
698
703
  'scope': 'https://www.googleapis.com/auth/spreadsheets'},
704
+ {'name': 'Tag Manager API - read only',
705
+ 'api': TAGMANAGER,
706
+ 'subscopes': [],
707
+ 'offByDefault': True,
708
+ 'scope': 'https://www.googleapis.com/auth/tagmanager.readonly'},
709
+ {'name': 'Tag Manager API - Users',
710
+ 'api': TAGMANAGER_USERS,
711
+ 'subscopes': [],
712
+ 'offByDefault': True,
713
+ 'scope': 'https://www.googleapis.com/auth/tagmanager.manage.users'},
699
714
  {'name': 'Tasks API',
700
715
  'api': TASKS,
701
716
  'subscopes': READONLY,
gam/gamlib/glclargs.py CHANGED
@@ -782,6 +782,16 @@ class GamCLArgs():
782
782
  ARG_SUSPENDED = 'suspended'
783
783
  ARG_SVCACCT = 'svcacct'
784
784
  ARG_SVCACCTS = 'svcaccts'
785
+ ARG_TAGMANAGERACCOUNT = 'tagmanageraccount'
786
+ ARG_TAGMANAGERACCOUNTS = 'tagmanageraccounts'
787
+ ARG_TAGMANAGERCONTAINER = 'tagmanagercontainer'
788
+ ARG_TAGMANAGERCONTAINERS = 'tagmanagercontainers'
789
+ ARG_TAGMANAGERPERMISSION = 'tagmanagerpermission'
790
+ ARG_TAGMANAGERPERMISSIONS = 'tagmanagerpermissions'
791
+ ARG_TAGMANAGERTAG = 'tagmanagertag'
792
+ ARG_TAGMANAGERTAGS = 'tagmanagertags'
793
+ ARG_TAGMANAGERWORKSPACE = 'tagmanagerworkspace'
794
+ ARG_TAGMANAGERWORKSPACES = 'tagmanagerworkspaces'
785
795
  ARG_TASK = 'task'
786
796
  ARG_TASKS = 'tasks'
787
797
  ARG_TASKLIST = 'tasklist'
@@ -1039,6 +1049,7 @@ class GamCLArgs():
1039
1049
  OB_STRING_LIST = 'StringList'
1040
1050
  OB_STUDENT_ITEM = 'StudentItem'
1041
1051
  OB_TAG = 'Tag'
1052
+ OB_TAGMANAGER_PATH_LIST = 'TagManagerPathList'
1042
1053
  OB_TASK_ID = 'TaskID'
1043
1054
  OB_TASKLIST_ID = 'TaskListID'
1044
1055
  OB_TASKLIST_ID_ENTITY = 'TaskListIDEntity'
gam/gamlib/glentity.py CHANGED
@@ -358,7 +358,12 @@ class GamEntity():
358
358
  SUBSCRIPTION = 'subs'
359
359
  SVCACCT = 'svac'
360
360
  SVCACCT_KEY = 'svky'
361
- TARGET_USER = 'tgt'
361
+ TAGMANAGER_ACCOUNT = 'tmac'
362
+ TAGMANAGER_CONTAINER = 'tmco'
363
+ TAGMANAGER_PERMISSION = 'tmpm'
364
+ TAGMANAGER_TAG = 'tmtg'
365
+ TAGMANAGER_WORKSPACE = 'tmws'
366
+ TARGET_USER = 'tgt '
362
367
  TASK = 'task'
363
368
  TASKLIST = 'tali'
364
369
  TEACHER = 'teac'
@@ -710,6 +715,11 @@ class GamEntity():
710
715
  SUBSCRIPTION: ['Subscriptions', 'Subscription'],
711
716
  SVCACCT: ['Service Accounts', 'Service Account'],
712
717
  SVCACCT_KEY: ['Service Account Keys', 'Service Account Key'],
718
+ TAGMANAGER_ACCOUNT: ['Tag Manager Accounts', 'Tag Manager Account'],
719
+ TAGMANAGER_CONTAINER: ['Tag Manager Containers', 'Tag Manager Container'],
720
+ TAGMANAGER_PERMISSION: ['Tag Manager Permissions', 'Tag Manager Permission'],
721
+ TAGMANAGER_TAG: ['Tag Manager Tags', 'Tag Manager Tag'],
722
+ TAGMANAGER_WORKSPACE: ['Tag Manager Workspaces', 'Tag Manager Workspace'],
713
723
  TARGET_USER: ['Target Users', 'Target User'],
714
724
  TASK: ['Tasks', 'Task'],
715
725
  TASKLIST: ['Tasklists', 'Tasklist'],
gam/gamlib/glgapi.py CHANGED
@@ -287,6 +287,7 @@ PEOPLE_ACCESS_THROW_REASONS = [SERVICE_NOT_AVAILABLE, FORBIDDEN, PERMISSION_DENI
287
287
  RESELLER_THROW_REASONS = [BAD_REQUEST, RESOURCE_NOT_FOUND, FORBIDDEN, INVALID]
288
288
  SHEETS_ACCESS_THROW_REASONS = DRIVE_USER_THROW_REASONS+[NOT_FOUND, PERMISSION_DENIED, FORBIDDEN, INTERNAL_ERROR, INSUFFICIENT_FILE_PERMISSIONS,
289
289
  BAD_REQUEST, INVALID, INVALID_ARGUMENT, FAILED_PRECONDITION]
290
+ TAGMANAGER_THROW_REASONS = [BAD_REQUEST, PERMISSION_DENIED, INVALID, NOT_FOUND, ACCESS_NOT_CONFIGURED]
290
291
  TASK_THROW_REASONS = [BAD_REQUEST, PERMISSION_DENIED, INVALID, NOT_FOUND, ACCESS_NOT_CONFIGURED]
291
292
  TASKLIST_THROW_REASONS = [BAD_REQUEST, PERMISSION_DENIED, INVALID, NOT_FOUND, ACCESS_NOT_CONFIGURED]
292
293
  USER_GET_THROW_REASONS = [USER_NOT_FOUND, DOMAIN_NOT_FOUND, DOMAIN_CANNOT_USE_APIS, FORBIDDEN, BAD_REQUEST, SYSTEM_ERROR]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gam7
3
- Version: 7.13.3
3
+ Version: 7.14.1
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
@@ -31,7 +31,6 @@ Requires-Dist: lxml>=5.4.0
31
31
  Requires-Dist: passlib>=1.7.4
32
32
  Requires-Dist: pathvalidate>=3.2.3
33
33
  Requires-Dist: python-dateutil
34
- Requires-Dist: yubikey-manager>=5.6.1
35
34
  Provides-Extra: yubikey
36
35
  Requires-Dist: yubikey-manager>=5.6.1; extra == 'yubikey'
37
36
  Description-Content-Type: text/markdown
@@ -1,4 +1,4 @@
1
- gam/__init__.py,sha256=evlJ5qIFGRjZn43m5KrUowSCy_CY7k_EfA_XvpJuu94,3563784
1
+ gam/__init__.py,sha256=h2ukI2LqXB0WPFOcWIMIi7AQAFMu7J4_ntZZ3X-t3cA,3571428
2
2
  gam/__main__.py,sha256=amz0-959ph6zkZKqjaar4n60yho-T37w6qWI36qx0CA,1049
3
3
  gam/cacerts.pem,sha256=82Ak7btW_2XvocLUvAwPmpx8Chi0oqtZUG1gseLK_t4,50235
4
4
  gam/cbcm-v1.1beta1.json,sha256=xO5XloCQQULmPbFBx5bckdqmbLFQ7sJ2TImhE1ysDIY,19439
@@ -23,11 +23,11 @@ gam/atom/token_store.py,sha256=7E6Ecvxa86WCvl1pJAhv78jg9OxQv8pMtIUcPhZCq04,3803
23
23
  gam/atom/url.py,sha256=pxO1TlORxyKQTQ1bkBE1unFzjnv9c8LjJkm-UEORShY,4276
24
24
  gam/gamlib/__init__.py,sha256=z5mF-y0j8pm-YNFBaiuxB4M_GAUPG-cXWwrhYwrVReM,679
25
25
  gam/gamlib/glaction.py,sha256=1Il_HrChVnPkzZwiZs5au4mFQVtq4K1Z42uIuR6qdnI,9419
26
- gam/gamlib/glapi.py,sha256=27NW2etvdNK4jfR699eqFzhV4gPotijXIQeX-wxCvHA,35319
26
+ gam/gamlib/glapi.py,sha256=EcZqYgRnPFKMKZPNG_VLwuD2hWELy-AquzgZjIh8UUc,35974
27
27
  gam/gamlib/glcfg.py,sha256=bNTckxzIM_HruxO2DfYsDbEgqOIz1RX6CbU6XOQQQyg,28296
28
- gam/gamlib/glclargs.py,sha256=b-2ow-EeVoDbwhmlGYtZ4JCowy7icwvy_r2aILci_Nc,43007
29
- gam/gamlib/glentity.py,sha256=zQ64Q5MVDnJwgUTxNapO5s-KC8yfr1fS4GxXu7uGPT0,33877
30
- gam/gamlib/glgapi.py,sha256=sJMWCyVd_2MP3rF2z-zqFwWEdUu6kceRA7e42u4kVv8,40181
28
+ gam/gamlib/glclargs.py,sha256=zCfq3-XRiaEF58o5lmQVnxgV3AqMWMIs4Ra42iHExPQ,43538
29
+ gam/gamlib/glentity.py,sha256=bFVeXqJ4VLIpFgc9y083oeBn8JzbwPYVJeuJF0yrnk8,34405
30
+ gam/gamlib/glgapi.py,sha256=99W9Ng6KlSjSgELO2pmVNnm1dGa7XLFGLX8kkeDYHU0,40284
31
31
  gam/gamlib/glgdata.py,sha256=weRppttWm6uRyqtBoGPKoHiNZ2h28nhfUV4J_mbCszY,2707
32
32
  gam/gamlib/glglobals.py,sha256=J0xcHggVrUBzHJ5GruenKV-qV1zPKcK2qWgAgN3i5Jw,9608
33
33
  gam/gamlib/glindent.py,sha256=RfBa2LDfLIqPLL5vMfC689TCVmqn8xf-qulSzkiatrc,1228
@@ -65,8 +65,8 @@ gam/googleapiclient/discovery_cache/base.py,sha256=yCDPtxnbNN-p5_9fzBacC6P3wcUPl
65
65
  gam/googleapiclient/discovery_cache/file_cache.py,sha256=sim3Mg4HgRYo3vX75jvcKy_aV568EvIrtBfvfbw-044,4774
66
66
  gam/iso8601/__init__.py,sha256=Z2PsYbXgAH5a5xzUvgczCboPzqWpm65kRcIngCnhViU,1218
67
67
  gam/iso8601/iso8601.py,sha256=Li2FHZ4sBTWuthuQhyCvmvj0j6At8JbGzkSv2fc2RHU,4384
68
- gam7-7.13.3.dist-info/METADATA,sha256=v6As87oNBBgCjvpF9pfWwJ1jyVHHnu-O4L78dSaYEMM,2978
69
- gam7-7.13.3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
70
- gam7-7.13.3.dist-info/entry_points.txt,sha256=HVUM5J7dA8YwvJfG30jiLefR19ExMs387TWugWd9sf4,42
71
- gam7-7.13.3.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
72
- gam7-7.13.3.dist-info/RECORD,,
68
+ gam7-7.14.1.dist-info/METADATA,sha256=FpuQmidO7xIQd83-UATvQNWDQSHdo3PY9SXqdjbRTXs,2940
69
+ gam7-7.14.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
70
+ gam7-7.14.1.dist-info/entry_points.txt,sha256=HVUM5J7dA8YwvJfG30jiLefR19ExMs387TWugWd9sf4,42
71
+ gam7-7.14.1.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
72
+ gam7-7.14.1.dist-info/RECORD,,
File without changes