mirror of
https://github.com/GAM-team/GAM.git
synced 2026-07-03 20:31:35 +00:00
print backupcodes countsonly
This commit is contained in:
@@ -5629,6 +5629,7 @@ gam <UserTypeEntity> delete backupcodes|verificationcodes
|
|||||||
gam <UserTypeEntity> show backupcodes|verificationcodes
|
gam <UserTypeEntity> show backupcodes|verificationcodes
|
||||||
gam <UserTypeEntity> print backupcodes|verificationcodes [todrive <ToDriveAttribute>*]
|
gam <UserTypeEntity> print backupcodes|verificationcodes [todrive <ToDriveAttribute>*]
|
||||||
[delimiter <Character>]
|
[delimiter <Character>]
|
||||||
|
[countsonly]
|
||||||
|
|
||||||
# Users - Calendars
|
# Users - Calendars
|
||||||
|
|
||||||
|
|||||||
@@ -48587,21 +48587,29 @@ def deleteBackupCodes(users):
|
|||||||
entityActionNotPerformedWarning([Ent.USER, user, Ent.BACKUP_VERIFICATION_CODES, None],
|
entityActionNotPerformedWarning([Ent.USER, user, Ent.BACKUP_VERIFICATION_CODES, None],
|
||||||
Msg.IS_SUSPENDED_NO_BACKUPCODES, i, count)
|
Msg.IS_SUSPENDED_NO_BACKUPCODES, i, count)
|
||||||
|
|
||||||
# gam <UserTypeEntity> print backupcodes|verificationcodes [todrive <ToDriveAttribute>*] [delimiter <Character>]
|
# gam <UserTypeEntity> print backupcodes|verificationcodes [todrive <ToDriveAttribute>*] [delimiter <Character>] [countsonly]
|
||||||
# gam <UserTypeEntity> show backupcodes|verificationcodes
|
# gam <UserTypeEntity> show backupcodes|verificationcodes
|
||||||
def printShowBackupCodes(users):
|
def printShowBackupCodes(users):
|
||||||
cd = buildGAPIObject(API.DIRECTORY)
|
cd = buildGAPIObject(API.DIRECTORY)
|
||||||
csvPF = CSVPrintFile(['User', 'verificationCodes']) if Act.csvFormat() else None
|
csvPF = CSVPrintFile(['User', 'verificationCodes', 'verificationCodesCount']) if Act.csvFormat() else None
|
||||||
delimiter = GC.Values[GC.CSV_OUTPUT_FIELD_DELIMITER]
|
delimiter = GC.Values[GC.CSV_OUTPUT_FIELD_DELIMITER]
|
||||||
|
counts_only = False
|
||||||
while Cmd.ArgumentsRemaining():
|
while Cmd.ArgumentsRemaining():
|
||||||
myarg = getArgument()
|
myarg = getArgument()
|
||||||
if csvPF and myarg == 'todrive':
|
if csvPF and myarg == 'todrive':
|
||||||
csvPF.GetTodriveParameters()
|
csvPF.GetTodriveParameters()
|
||||||
elif myarg == 'delimiter':
|
elif myarg == 'delimiter':
|
||||||
delimiter = getCharacter()
|
delimiter = getCharacter()
|
||||||
|
elif myarg == 'countsonly':
|
||||||
|
counts_only = True
|
||||||
else:
|
else:
|
||||||
unknownArgumentExit()
|
unknownArgumentExit()
|
||||||
i, count, users = getEntityArgument(users)
|
i, count, users = getEntityArgument(users)
|
||||||
|
# if we're only getting counts, we don't want actual codes pulled down
|
||||||
|
if counts_only:
|
||||||
|
fields = 'items(etag)'
|
||||||
|
else:
|
||||||
|
fields = 'items(verificationCode)'
|
||||||
for user in users:
|
for user in users:
|
||||||
i += 1
|
i += 1
|
||||||
user = normalizeEmailAddressOrUID(user)
|
user = normalizeEmailAddressOrUID(user)
|
||||||
@@ -48610,11 +48618,14 @@ def printShowBackupCodes(users):
|
|||||||
try:
|
try:
|
||||||
codes = callGAPIitems(cd.verificationCodes(), 'list', 'items',
|
codes = callGAPIitems(cd.verificationCodes(), 'list', 'items',
|
||||||
throwReasons=[GAPI.USER_NOT_FOUND],
|
throwReasons=[GAPI.USER_NOT_FOUND],
|
||||||
userKey=user, fields='items(verificationCode)')
|
userKey=user, fields=fields)
|
||||||
if not csvPF:
|
if not csvPF:
|
||||||
_showBackupCodes(user, codes, i, count)
|
_showBackupCodes(user, codes, i, count)
|
||||||
|
elif counts_only:
|
||||||
|
csvPF.WriteRow({'User': user, 'verificationCodesCount': len(codes)})
|
||||||
else:
|
else:
|
||||||
csvPF.WriteRow({'User': user,
|
csvPF.WriteRow({'User': user,
|
||||||
|
'verificationCodesCount': len(codes),
|
||||||
'verificationCodes': delimiter.join([code['verificationCode'] for code in codes if 'verificationCode' in code])})
|
'verificationCodes': delimiter.join([code['verificationCode'] for code in codes if 'verificationCode' in code])})
|
||||||
except GAPI.userNotFound:
|
except GAPI.userNotFound:
|
||||||
entityUnknownWarning(Ent.USER, user, i, count)
|
entityUnknownWarning(Ent.USER, user, i, count)
|
||||||
|
|||||||
Reference in New Issue
Block a user