gam7 7.7.17__py3-none-any.whl → 7.8.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 +192 -3
- gam/gamlib/glclargs.py +4 -1
- {gam7-7.7.17.dist-info → gam7-7.8.1.dist-info}/METADATA +1 -1
- {gam7-7.7.17.dist-info → gam7-7.8.1.dist-info}/RECORD +7 -7
- {gam7-7.7.17.dist-info → gam7-7.8.1.dist-info}/WHEEL +0 -0
- {gam7-7.7.17.dist-info → gam7-7.8.1.dist-info}/entry_points.txt +0 -0
- {gam7-7.7.17.dist-info → gam7-7.8.1.dist-info}/licenses/LICENSE +0 -0
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.
|
|
28
|
+
__version__ = '7.08.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
|
|
@@ -17102,11 +17102,11 @@ DATA_TRANSFER_SORT_TITLES = ['id', 'requestTime', 'oldOwnerUserEmail', 'newOwner
|
|
|
17102
17102
|
|
|
17103
17103
|
# gam print datatransfers|transfers [todrive <ToDriveAttribute>*]
|
|
17104
17104
|
# [olduser|oldowner <UserItem>] [newuser|newowner <UserItem>]
|
|
17105
|
-
# [status <String>] [delimiter <Character>]
|
|
17105
|
+
# [status <String>] [delimiter <Character>]
|
|
17106
17106
|
# (addcsvdata <FieldName> <String>)*
|
|
17107
17107
|
# gam show datatransfers|transfers
|
|
17108
17108
|
# [olduser|oldowner <UserItem>] [newuser|newowner <UserItem>]
|
|
17109
|
-
# [status <String>] [delimiter <Character>]
|
|
17109
|
+
# [status <String>] [delimiter <Character>]
|
|
17110
17110
|
def doPrintShowDataTransfers():
|
|
17111
17111
|
dt = buildGAPIObject(API.DATATRANSFER)
|
|
17112
17112
|
apps = getTransferApplications(dt)
|
|
@@ -66050,6 +66050,191 @@ def printShowSharedDriveACLs(users, useDomainAdminAccess=False):
|
|
|
66050
66050
|
def doPrintShowSharedDriveACLs():
|
|
66051
66051
|
printShowSharedDriveACLs([_getAdminEmail()], True)
|
|
66052
66052
|
|
|
66053
|
+
PRINT_ORGANIZER_TYPES = {'group', 'user'}
|
|
66054
|
+
|
|
66055
|
+
# gam [<UserTypeEntity>] print shareddriveorganizers [todrive <ToDriveAttribute>*]
|
|
66056
|
+
# [adminaccess|asadmin]
|
|
66057
|
+
# [(shareddriveadminquery|query <QuerySharedDrive>) |
|
|
66058
|
+
# (shareddrives|teamdrives (<SharedDriveIDList>|(select <FileSelector>|<CSVFileSelector>)))]
|
|
66059
|
+
# [matchname <REMatchPattern>] [orgunit|org|ou <OrgUnitPath>]
|
|
66060
|
+
# [domainlist <DomainList>]
|
|
66061
|
+
# [includetypes user|group]
|
|
66062
|
+
# [oneorganizer [<Boolean>]]
|
|
66063
|
+
# [shownorganizerdrives false|true|only]
|
|
66064
|
+
# [includefileorganizers [<Boolean>]]
|
|
66065
|
+
# [delimiter <Character>]
|
|
66066
|
+
def printSharedDriveOrganizers(users, useDomainAdminAccess=False):
|
|
66067
|
+
csvPF = CSVPrintFile(['id', 'name', 'organizers', 'createdTime'], 'sortall')
|
|
66068
|
+
delimiter = GC.Values[GC.CSV_OUTPUT_FIELD_DELIMITER]
|
|
66069
|
+
roles = set(['organizer'])
|
|
66070
|
+
includeTypes = set()
|
|
66071
|
+
showNoOrganizerDrives = SHOW_NO_PERMISSIONS_DRIVES_CHOICE_MAP['false']
|
|
66072
|
+
fieldsList = ['role', 'type', 'emailAddress']
|
|
66073
|
+
cd = entityList = orgUnitId = query = matchPattern = None
|
|
66074
|
+
domainList = []
|
|
66075
|
+
oneOrganizer = False
|
|
66076
|
+
while Cmd.ArgumentsRemaining():
|
|
66077
|
+
myarg = getArgument()
|
|
66078
|
+
if csvPF and myarg == 'todrive':
|
|
66079
|
+
csvPF.GetTodriveParameters()
|
|
66080
|
+
elif myarg == 'delimiter':
|
|
66081
|
+
delimiter = getCharacter()
|
|
66082
|
+
elif myarg in {'shareddrive', 'shareddrives', 'teamdrive', 'teamdrives'}:
|
|
66083
|
+
sharedDriveArg = myarg
|
|
66084
|
+
itemList = getString(Cmd.OB_SHAREDDRIVE_ID_LIST)
|
|
66085
|
+
if itemList != 'select':
|
|
66086
|
+
entityList = itemList.replace(',', ' ').split()
|
|
66087
|
+
else:
|
|
66088
|
+
entityList = getEntityList(Cmd.OB_SHAREDDRIVE_ID_LIST)
|
|
66089
|
+
elif myarg in {'teamdriveadminquery', 'shareddriveadminquery', 'query'}:
|
|
66090
|
+
queryArg = myarg
|
|
66091
|
+
queryLocation = Cmd.Location()
|
|
66092
|
+
query = getString(Cmd.OB_QUERY, minLen=0) or None
|
|
66093
|
+
if query:
|
|
66094
|
+
query = mapQueryRelativeTimes(query, ['createdTime'])
|
|
66095
|
+
elif myarg == 'matchname':
|
|
66096
|
+
matchPattern = getREPattern(re.IGNORECASE)
|
|
66097
|
+
elif myarg in {'ou', 'org', 'orgunit'}:
|
|
66098
|
+
orgLocation = Cmd.Location()
|
|
66099
|
+
if cd is None:
|
|
66100
|
+
cd = buildGAPIObject(API.DIRECTORY)
|
|
66101
|
+
orgUnitPath, orgUnitId = getOrgUnitId(cd)
|
|
66102
|
+
orgUnitId = orgUnitId[3:]
|
|
66103
|
+
orgUnitInfo = {'orgUnit': orgUnitPath, 'orgUnitId': orgUnitId}
|
|
66104
|
+
elif myarg in ADMIN_ACCESS_OPTIONS:
|
|
66105
|
+
useDomainAdminAccess = True
|
|
66106
|
+
elif myarg == 'domainlist':
|
|
66107
|
+
domainList = set(getString(Cmd.OB_DOMAIN_NAME_LIST).replace(',', ' ').lower().split())
|
|
66108
|
+
elif myarg == 'includetypes':
|
|
66109
|
+
for itype in getString(Cmd.OB_ORGANIZER_TYPE_LIST).lower().replace(',', ' ').split():
|
|
66110
|
+
if itype in PRINT_ORGANIZER_TYPES:
|
|
66111
|
+
includeTypes.add(itype)
|
|
66112
|
+
else:
|
|
66113
|
+
invalidChoiceExit(itype, PRINT_ORGANIZER_TYPES, True)
|
|
66114
|
+
elif myarg == 'oneorganizer':
|
|
66115
|
+
oneOrganizer = getBoolean()
|
|
66116
|
+
elif myarg == 'shownoorganizerdrives':
|
|
66117
|
+
showNoOrganizerDrives = getChoice(SHOW_NO_PERMISSIONS_DRIVES_CHOICE_MAP, defaultChoice=1, mapChoice=True)
|
|
66118
|
+
elif myarg in {'includefileorganizers', 'includecontentmanagers'}:
|
|
66119
|
+
if getBoolean():
|
|
66120
|
+
roles.add('fileOrganizer')
|
|
66121
|
+
else:
|
|
66122
|
+
unknownArgumentExit()
|
|
66123
|
+
if query:
|
|
66124
|
+
if not useDomainAdminAccess:
|
|
66125
|
+
Cmd.SetLocation(queryLocation-1)
|
|
66126
|
+
usageErrorExit(Msg.ONLY_ADMINISTRATORS_CAN_PERFORM_SHARED_DRIVE_QUERIES)
|
|
66127
|
+
if entityList:
|
|
66128
|
+
Cmd.SetLocation(queryLocation-1)
|
|
66129
|
+
usageErrorExit(Msg.ARE_MUTUALLY_EXCLUSIVE.format(queryArg, sharedDriveArg))
|
|
66130
|
+
if orgUnitId is not None:
|
|
66131
|
+
if not useDomainAdminAccess:
|
|
66132
|
+
Cmd.SetLocation(orgLocation-1)
|
|
66133
|
+
usageErrorExit(Msg.ONLY_ADMINISTRATORS_CAN_SPECIFY_SHARED_DRIVE_ORGUNIT)
|
|
66134
|
+
csvPF.AddTitles(['orgUnit', 'orgUnitId'])
|
|
66135
|
+
if not includeTypes:
|
|
66136
|
+
includeTypes = PRINT_ORGANIZER_TYPES
|
|
66137
|
+
fields = getItemFieldsFromFieldsList('permissions', fieldsList, True)
|
|
66138
|
+
i, count, users = getEntityArgument(users)
|
|
66139
|
+
for user in users:
|
|
66140
|
+
i += 1
|
|
66141
|
+
user, drive = buildGAPIServiceObject(API.DRIVE3, user, i, count)
|
|
66142
|
+
if not drive:
|
|
66143
|
+
continue
|
|
66144
|
+
if entityList is None:
|
|
66145
|
+
if useDomainAdminAccess:
|
|
66146
|
+
printGettingAllAccountEntities(Ent.SHAREDDRIVE, query)
|
|
66147
|
+
pageMessage = getPageMessage()
|
|
66148
|
+
else:
|
|
66149
|
+
printGettingAllEntityItemsForWhom(Ent.SHAREDDRIVE, user, i, count, query)
|
|
66150
|
+
pageMessage = getPageMessageForWhom()
|
|
66151
|
+
try:
|
|
66152
|
+
feed = callGAPIpages(drive.drives(), 'list', 'drives',
|
|
66153
|
+
pageMessage=pageMessage,
|
|
66154
|
+
throwReasons=GAPI.DRIVE_USER_THROW_REASONS+[GAPI.INVALID_QUERY, GAPI.INVALID,
|
|
66155
|
+
GAPI.QUERY_REQUIRES_ADMIN_CREDENTIALS,
|
|
66156
|
+
GAPI.NO_LIST_TEAMDRIVES_ADMINISTRATOR_PRIVILEGE,
|
|
66157
|
+
GAPI.FILE_NOT_FOUND],
|
|
66158
|
+
q=query, useDomainAdminAccess=useDomainAdminAccess,
|
|
66159
|
+
fields='nextPageToken,drives(id,name,createdTime,orgUnitId)', pageSize=100)
|
|
66160
|
+
except (GAPI.invalidQuery, GAPI.invalid, GAPI.queryRequiresAdminCredentials,
|
|
66161
|
+
GAPI.noListTeamDrivesAdministratorPrivilege, GAPI.fileNotFound) as e:
|
|
66162
|
+
entityActionFailedWarning([Ent.USER, user, Ent.SHAREDDRIVE, None], str(e), i, count)
|
|
66163
|
+
continue
|
|
66164
|
+
except (GAPI.serviceNotAvailable, GAPI.authError, GAPI.domainPolicy) as e:
|
|
66165
|
+
userDriveServiceNotEnabledWarning(user, str(e), i, count)
|
|
66166
|
+
continue
|
|
66167
|
+
else:
|
|
66168
|
+
feed = []
|
|
66169
|
+
jcount = len(entityList)
|
|
66170
|
+
j = 0
|
|
66171
|
+
for driveId in entityList:
|
|
66172
|
+
j +=1
|
|
66173
|
+
try:
|
|
66174
|
+
feed.append(callGAPI(drive.drives(), 'get',
|
|
66175
|
+
throwReasons=GAPI.DRIVE_USER_THROW_REASONS+[GAPI.NOT_FOUND],
|
|
66176
|
+
useDomainAdminAccess=useDomainAdminAccess,
|
|
66177
|
+
driveId=driveId, fields='id,name,createdTime,orgUnitId'))
|
|
66178
|
+
except (GAPI.fileNotFound, GAPI.notFound) as e:
|
|
66179
|
+
entityActionNotPerformedWarning([Ent.USER, user, Ent.SHAREDDRIVE_ID, driveId], str(e), j, jcount)
|
|
66180
|
+
continue
|
|
66181
|
+
except (GAPI.serviceNotAvailable, GAPI.authError, GAPI.domainPolicy) as e:
|
|
66182
|
+
userDriveServiceNotEnabledWarning(user, str(e), i, count)
|
|
66183
|
+
break
|
|
66184
|
+
matchFeed = []
|
|
66185
|
+
jcount = len(feed)
|
|
66186
|
+
j = 0
|
|
66187
|
+
for shareddrive in feed:
|
|
66188
|
+
j += 1
|
|
66189
|
+
if ((matchPattern is not None and matchPattern.match(shareddrive['name']) is None) or
|
|
66190
|
+
(orgUnitId is not None and orgUnitId != shareddrive.get('orgUnitId'))):
|
|
66191
|
+
continue
|
|
66192
|
+
printGettingAllEntityItemsForWhom(Ent.PERMISSION, shareddrive['name'], j, jcount)
|
|
66193
|
+
shareddrive['createdTime'] = formatLocalTime(shareddrive['createdTime'])
|
|
66194
|
+
shareddrive['organizers'] = []
|
|
66195
|
+
try:
|
|
66196
|
+
permissions = callGAPIpages(drive.permissions(), 'list', 'permissions',
|
|
66197
|
+
pageMessage=getPageMessageForWhom(),
|
|
66198
|
+
throwReasons=GAPI.DRIVE3_GET_ACL_REASONS,
|
|
66199
|
+
retryReasons=GAPI.SERVICE_NOT_AVAILABLE_RETRY_REASONS,
|
|
66200
|
+
useDomainAdminAccess=useDomainAdminAccess,
|
|
66201
|
+
fileId=shareddrive['id'], fields=fields, supportsAllDrives=True)
|
|
66202
|
+
for permission in permissions:
|
|
66203
|
+
if permission['type'] in includeTypes and permission['role'] in roles:
|
|
66204
|
+
if domainList:
|
|
66205
|
+
_, domain = permission['emailAddress'].lower().split('@', 1)
|
|
66206
|
+
if domain not in domainList:
|
|
66207
|
+
continue
|
|
66208
|
+
shareddrive['organizers'].append(permission['emailAddress'])
|
|
66209
|
+
if oneOrganizer:
|
|
66210
|
+
break
|
|
66211
|
+
if not shareddrive['organizers']:
|
|
66212
|
+
if showNoOrganizerDrives == 0: # no organizers and showNoOrganizerDrives False - ignore
|
|
66213
|
+
continue
|
|
66214
|
+
matchFeed.append(shareddrive) # no organizers and showNoOrganizerDrives Only/True - keep
|
|
66215
|
+
continue
|
|
66216
|
+
if showNoOrganizerDrives < 0: # organizers and showNoOrganizerDrives Only/True - ignore
|
|
66217
|
+
continue
|
|
66218
|
+
matchFeed.append(shareddrive)
|
|
66219
|
+
except (GAPI.fileNotFound, GAPI.forbidden, GAPI.internalError,
|
|
66220
|
+
GAPI.insufficientAdministratorPrivileges, GAPI.insufficientFilePermissions,
|
|
66221
|
+
GAPI.unknownError, GAPI.invalid):
|
|
66222
|
+
pass
|
|
66223
|
+
if len(matchFeed) == 0:
|
|
66224
|
+
setSysExitRC(NO_ENTITIES_FOUND_RC)
|
|
66225
|
+
for shareddrive in matchFeed:
|
|
66226
|
+
row = {'id': shareddrive['id'], 'name': shareddrive['name'],
|
|
66227
|
+
'organizers': delimiter.join(shareddrive['organizers']),
|
|
66228
|
+
'createdTime': shareddrive['createdTime']}
|
|
66229
|
+
if orgUnitId:
|
|
66230
|
+
row.update(orgUnitInfo)
|
|
66231
|
+
csvPF.WriteRowTitles(row)
|
|
66232
|
+
if csvPF:
|
|
66233
|
+
csvPF.writeCSVfile('SharedDrive Organizers')
|
|
66234
|
+
|
|
66235
|
+
def doPrintSharedDriveOrganizers():
|
|
66236
|
+
printSharedDriveOrganizers([_getAdminEmail()], True)
|
|
66237
|
+
|
|
66053
66238
|
LOOKERSTUDIO_ASSETTYPE_CHOICE_MAP = {
|
|
66054
66239
|
'report': ['REPORT'],
|
|
66055
66240
|
'datasource': ['DATA_SOURCE'],
|
|
@@ -75936,6 +76121,7 @@ MAIN_COMMANDS_WITH_OBJECTS = {
|
|
|
75936
76121
|
Cmd.ARG_SCHEMA: doPrintShowUserSchemas,
|
|
75937
76122
|
Cmd.ARG_SHAREDDRIVE: doPrintShowSharedDrives,
|
|
75938
76123
|
Cmd.ARG_SHAREDDRIVEACLS: doPrintShowSharedDriveACLs,
|
|
76124
|
+
Cmd.ARG_SHAREDDRIVEORGANIZERS: doPrintSharedDriveOrganizers,
|
|
75939
76125
|
Cmd.ARG_SITE: deprecatedDomainSites,
|
|
75940
76126
|
Cmd.ARG_SITEACL: deprecatedDomainSites,
|
|
75941
76127
|
Cmd.ARG_SITEACTIVITY: deprecatedDomainSites,
|
|
@@ -76284,6 +76470,7 @@ MAIN_COMMANDS_OBJ_ALIASES = {
|
|
|
76284
76470
|
Cmd.ARG_TEAMDRIVES: Cmd.ARG_SHAREDDRIVE,
|
|
76285
76471
|
Cmd.ARG_TEAMDRIVEACLS: Cmd.ARG_SHAREDDRIVEACLS,
|
|
76286
76472
|
Cmd.ARG_TEAMDRIVEINFO: Cmd.ARG_SHAREDDRIVEINFO,
|
|
76473
|
+
Cmd.ARG_TEAMDRIVEORGANIZERS: Cmd.ARG_SHAREDDRIVEORGANIZERS,
|
|
76287
76474
|
Cmd.ARG_TEAMDRIVETHEMES: Cmd.ARG_SHAREDDRIVETHEMES,
|
|
76288
76475
|
Cmd.ARG_TOKENS: Cmd.ARG_TOKEN,
|
|
76289
76476
|
Cmd.ARG_TRANSFER: Cmd.ARG_DATATRANSFER,
|
|
@@ -76976,6 +77163,7 @@ USER_COMMANDS_WITH_OBJECTS = {
|
|
|
76976
77163
|
Cmd.ARG_SENDAS: printShowSendAs,
|
|
76977
77164
|
Cmd.ARG_SHAREDDRIVE: printShowSharedDrives,
|
|
76978
77165
|
Cmd.ARG_SHAREDDRIVEACLS: printShowSharedDriveACLs,
|
|
77166
|
+
Cmd.ARG_SHAREDDRIVEORGANIZERS: printSharedDriveOrganizers,
|
|
76979
77167
|
Cmd.ARG_SHEET: infoPrintShowSheets,
|
|
76980
77168
|
Cmd.ARG_SHEETRANGE: printShowSheetRanges,
|
|
76981
77169
|
Cmd.ARG_SIGNATURE: printShowSignature,
|
|
@@ -77333,6 +77521,7 @@ USER_COMMANDS_OBJ_ALIASES = {
|
|
|
77333
77521
|
Cmd.ARG_TEAMDRIVES: Cmd.ARG_SHAREDDRIVE,
|
|
77334
77522
|
Cmd.ARG_TEAMDRIVEACLS: Cmd.ARG_SHAREDDRIVEACLS,
|
|
77335
77523
|
Cmd.ARG_TEAMDRIVEINFO: Cmd.ARG_SHAREDDRIVEINFO,
|
|
77524
|
+
Cmd.ARG_TEAMDRIVEORGANIZERS: Cmd.ARG_SHAREDDRIVEORGANIZERS,
|
|
77336
77525
|
Cmd.ARG_TEAMDRIVETHEMES: Cmd.ARG_SHAREDDRIVETHEMES,
|
|
77337
77526
|
Cmd.ARG_THREADS: Cmd.ARG_THREAD,
|
|
77338
77527
|
Cmd.ARG_TOKENS: Cmd.ARG_TOKEN,
|
gam/gamlib/glclargs.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
2
|
|
|
3
|
-
# Copyright (C)
|
|
3
|
+
# Copyright (C) 2025 Ross Scroggs All Rights Reserved.
|
|
4
4
|
#
|
|
5
5
|
# All Rights Reserved.
|
|
6
6
|
#
|
|
@@ -755,6 +755,7 @@ class GamCLArgs():
|
|
|
755
755
|
ARG_SHAREDDRIVES = 'shareddrives'
|
|
756
756
|
ARG_SHAREDDRIVEACLS = 'shareddriveacls'
|
|
757
757
|
ARG_SHAREDDRIVEINFO = 'shareddriveinfo'
|
|
758
|
+
ARG_SHAREDDRIVEORGANIZERS = 'shareddriveorganizers'
|
|
758
759
|
ARG_SHAREDDRIVETHEMES = 'shareddrivethemes'
|
|
759
760
|
ARG_SHEET = 'sheet'
|
|
760
761
|
ARG_SHEETS = 'sheets'
|
|
@@ -784,6 +785,7 @@ class GamCLArgs():
|
|
|
784
785
|
ARG_TEAMDRIVES = 'teamdrives'
|
|
785
786
|
ARG_TEAMDRIVEACLS = 'teamdriveacls'
|
|
786
787
|
ARG_TEAMDRIVEINFO = 'teamdriveinfo'
|
|
788
|
+
ARG_TEAMDRIVEORGANIZERS = 'teamdriveorganizers'
|
|
787
789
|
ARG_TEAMDRIVETHEMES = 'teamdrivethemes'
|
|
788
790
|
ARG_THREAD = 'thread'
|
|
789
791
|
ARG_THREADS = 'threads'
|
|
@@ -964,6 +966,7 @@ class GamCLArgs():
|
|
|
964
966
|
OB_MOBILE_ENTITY = 'MobileEntity'
|
|
965
967
|
OB_NETWORK_ID = 'networkID'
|
|
966
968
|
OB_NAME = 'Name'
|
|
969
|
+
OB_ORGANIZER_TYPE_LIST = 'OrganizerTypeList'
|
|
967
970
|
OB_ORGUNIT_ENTITY = 'OrgUnitEntity'
|
|
968
971
|
OB_ORGUNIT_ITEM = 'OrgUnitItem'
|
|
969
972
|
OB_ORGUNIT_PATH = 'OrgUnitPath'
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
gam/__init__.py,sha256=
|
|
1
|
+
gam/__init__.py,sha256=lAyeM6G9tA4Gb2Lvl865y6ErSDDYtGY_laDZsG--SmE,3513774
|
|
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
|
|
@@ -25,7 +25,7 @@ gam/gamlib/__init__.py,sha256=z5mF-y0j8pm-YNFBaiuxB4M_GAUPG-cXWwrhYwrVReM,679
|
|
|
25
25
|
gam/gamlib/glaction.py,sha256=1Il_HrChVnPkzZwiZs5au4mFQVtq4K1Z42uIuR6qdnI,9419
|
|
26
26
|
gam/gamlib/glapi.py,sha256=85YwZ5LhBoVd9kU3m-gwLRq8FwTWCaRIwARuQvH8Mjc,34022
|
|
27
27
|
gam/gamlib/glcfg.py,sha256=eJCVb_OJ6cIsPuv-0IfIjHaTh5lM9juh4HOMLDblJmE,28055
|
|
28
|
-
gam/gamlib/glclargs.py,sha256=
|
|
28
|
+
gam/gamlib/glclargs.py,sha256=zB6GMmDR_y5IRj7LuoM6-Bk_ETfNQ6sTqCNB6RdPfyg,42350
|
|
29
29
|
gam/gamlib/glentity.py,sha256=fqWUlxQqPKlfFrkuPjCK2lZhhFBIZboCuO0qCxuEwqA,33691
|
|
30
30
|
gam/gamlib/glgapi.py,sha256=cGtvFvvBU3XQJLgtLCjs_V5VBUem_k0b5uUrK21VmeA,39491
|
|
31
31
|
gam/gamlib/glgdata.py,sha256=weRppttWm6uRyqtBoGPKoHiNZ2h28nhfUV4J_mbCszY,2707
|
|
@@ -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.
|
|
69
|
-
gam7-7.
|
|
70
|
-
gam7-7.
|
|
71
|
-
gam7-7.
|
|
72
|
-
gam7-7.
|
|
68
|
+
gam7-7.8.1.dist-info/METADATA,sha256=hROgYCJUA2X_WKqgJKVV5jwf3q58_oAD8-6nw9gYwiA,2977
|
|
69
|
+
gam7-7.8.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
70
|
+
gam7-7.8.1.dist-info/entry_points.txt,sha256=HVUM5J7dA8YwvJfG30jiLefR19ExMs387TWugWd9sf4,42
|
|
71
|
+
gam7-7.8.1.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
72
|
+
gam7-7.8.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|