mirror of
https://github.com/GAM-team/GAM.git
synced 2026-06-28 09:51:36 +00:00
Minor cleanups (#636)
* Minor cleanups In print users allow actual field names isenforcedin2sv and isenrolledin2sv In print users, add delimiter and sortheaders options In print groups, add sortheaders option * Fixed bug in gam oauth create where entering `e` to exit without changes didn't exit.
This commit is contained in:
@@ -422,8 +422,8 @@ Named items
|
||||
ipwhitelisted|
|
||||
isdelegatedadmin|admin|isadmin|
|
||||
ismailboxsetup|
|
||||
is2svenforced|
|
||||
is2svenrolled|
|
||||
isenforcedin2sv|is2svenforced|
|
||||
isenrolledin2sv|is2svenrolled|
|
||||
lastlogintime|
|
||||
locations|location|
|
||||
noneditablealiases|aliases|nicknames|
|
||||
@@ -468,6 +468,7 @@ Items, separated by spaces, with spaces or commas in the items themselves: "'it
|
||||
<GroupList> ::= "<GroupItem>(,<GroupItem>)*"
|
||||
<GuardianStateList> ::= "<GuardianState>(,<GuardianState>)*"
|
||||
<LabelNameList> ::= "<LabelName>(,<LabelName)*"
|
||||
<LanguageList> ::= "<Language>(,<Language)*"
|
||||
<MatterItemList> ::= "<MatterItem>(,<MatterItem>)*"
|
||||
<MembersFieldNameList> ::= "<MembersFieldName>(,<MembersFieldName>)*"
|
||||
<MobileList> ::= "<MobileId>(,<MobileId>)*"
|
||||
@@ -802,8 +803,9 @@ gam delete group <GroupItem>
|
||||
gam info group <GroupItem> [nousers] [noaliases] [groups]
|
||||
|
||||
gam print groups [todrive] ([domain <DomainName>] [member <UserItem>])
|
||||
[maxresults <Number>] [allfields|([settings] <GroupFieldName>* [fields <GroupFieldNameList>])] [delimiter <Character>]
|
||||
[maxresults <Number>] [allfields|([settings] <GroupFieldName>* [fields <GroupFieldNameList>])]
|
||||
[members|memberscount] [managers|managerscount] [owners|ownerscount]
|
||||
[delimiter <Character>] [sortheaders]
|
||||
|
||||
gam print group-members|groups-members [todrive] ([domain <DomainName>] [member <UserItem>])|[group <GroupItem>]
|
||||
[membernames] [fields <MembersFieldNameList>]
|
||||
@@ -837,6 +839,7 @@ gam print users [todrive] ([domain <DomainName>] [query <QueryUser>] [deleted_on
|
||||
[groups] [license|licenses|licence|licences] [emailpart|emailparts|username]
|
||||
[orderby <UserOrderByFieldName> [ascending|descending]] [userview]
|
||||
[allfields|basic|full | ((<UserFieldName>* | fields <UserFieldNameList>) [schemas|custom all|<SchemaNameList>])]
|
||||
[delimiter <Character>] [sortheaders]
|
||||
gam <UserTypeEntity> print
|
||||
|
||||
Summary of printing:
|
||||
|
||||
26
src/gam.py
26
src/gam.py
@@ -9918,6 +9918,8 @@ USER_ARGUMENT_TO_PROPERTY_MAP = {
|
||||
u'ipwhitelisted': [u'ipWhitelisted',],
|
||||
u'isadmin': [u'isAdmin', u'isDelegatedAdmin',],
|
||||
u'isdelegatedadmin': [u'isAdmin', u'isDelegatedAdmin',],
|
||||
u'isenforcedin2sv': [u'isEnforcedIn2Sv',],
|
||||
u'isenrolledin2sv': [u'isEnrolledIn2Sv',],
|
||||
u'is2svenforced': [u'isEnforcedIn2Sv',],
|
||||
u'is2svenrolled': [u'isEnrolledIn2Sv',],
|
||||
u'ismailboxsetup': [u'isMailboxSetup',],
|
||||
@@ -9971,6 +9973,8 @@ def doPrintUsers():
|
||||
customFieldMask = None
|
||||
sortHeaders = getGroupFeed = getLicenseFeed = email_parts = False
|
||||
viewType = deleted_only = orderBy = sortOrder = None
|
||||
groupDelimiter = u' '
|
||||
licenseDelimiter = u','
|
||||
i = 3
|
||||
while i < len(sys.argv):
|
||||
myarg = sys.argv[i].lower().replace(u'_', u'')
|
||||
@@ -9984,6 +9988,12 @@ def doPrintUsers():
|
||||
sortHeaders = True
|
||||
fieldsList = []
|
||||
i += 1
|
||||
elif myarg == u'delimiter':
|
||||
groupDelimiter = licenseDelimiter = sys.argv[i+1]
|
||||
i += 2
|
||||
elif myarg == u'sortheaders':
|
||||
sortHeaders = True
|
||||
i += 1
|
||||
elif myarg in [u'custom', u'schemas']:
|
||||
fieldsList.append(u'customSchemas')
|
||||
if sys.argv[i+1].lower() == u'all':
|
||||
@@ -10079,12 +10089,7 @@ def doPrintUsers():
|
||||
user_email = user[u'primaryEmail']
|
||||
sys.stderr.write(u"Getting Group Membership for %s (%s/%s)\r\n" % (user_email, user_count, total_users))
|
||||
groups = callGAPIpages(cd.groups(), u'list', u'groups', userKey=user_email)
|
||||
grouplist = u''
|
||||
for groupname in groups:
|
||||
grouplist += groupname[u'email']+u' '
|
||||
if grouplist[-1:] == u' ':
|
||||
grouplist = grouplist[:-1]
|
||||
user.update(Groups=grouplist)
|
||||
user[u'Groups'] = groupDelimiter.join([groupname[u'email'] for groupname in groups])
|
||||
user_count += 1
|
||||
if getLicenseFeed:
|
||||
titles.append(u'Licenses')
|
||||
@@ -10093,7 +10098,7 @@ def doPrintUsers():
|
||||
for user in csvRows:
|
||||
u_licenses = licenses.get(user[u'primaryEmail'].lower())
|
||||
if u_licenses:
|
||||
user[u'Licenses'] = u','.join([_skuIdToDisplayName(skuId) for skuId in u_licenses])
|
||||
user[u'Licenses'] = licenseDelimiter.join([_skuIdToDisplayName(skuId) for skuId in u_licenses])
|
||||
writeCSVfile(csvRows, titles, u'Users', todrive)
|
||||
|
||||
GROUP_ARGUMENT_TO_PROPERTY_TITLE_MAP = {
|
||||
@@ -10188,6 +10193,9 @@ def doPrintGroups():
|
||||
for field in GROUP_ARGUMENT_TO_PROPERTY_TITLE_MAP:
|
||||
addFieldTitleToCSVfile(field, GROUP_ARGUMENT_TO_PROPERTY_TITLE_MAP, cdfieldsList, fieldsTitles, titles)
|
||||
i += 1
|
||||
elif myarg == u'sortheaders':
|
||||
sortHeaders = True
|
||||
i += 1
|
||||
elif myarg == u'fields':
|
||||
fieldNameList = sys.argv[i+1]
|
||||
for field in fieldNameList.lower().replace(u',', u' ').split():
|
||||
@@ -11331,6 +11339,8 @@ def doRequestOAuth(login_hint=None):
|
||||
http = httplib2.Http(disable_ssl_certificate_validation=GC_Values[GC_NO_VERIFY_SSL])
|
||||
flags = cmd_flags(noLocalWebserver=GC_Values[GC_NO_BROWSER])
|
||||
scopes = getScopesFromUser()
|
||||
if scopes is None:
|
||||
return
|
||||
client_id, client_secret = getOAuthClientIDAndSecret()
|
||||
login_hint = getValidateLoginHint(login_hint)
|
||||
flow = oauth2client.client.OAuth2WebServerFlow(client_id=client_id,
|
||||
@@ -11551,7 +11561,7 @@ def getScopesFromUser():
|
||||
for i in range(num_scopes):
|
||||
selected_scopes[i] = u' '
|
||||
elif selection == u'e':
|
||||
return
|
||||
return None
|
||||
break
|
||||
sys.stdout.write(u'{0}Invalid input "{1}"\n'.format(ERROR_PREFIX, choice))
|
||||
if selection == u'c':
|
||||
|
||||
Reference in New Issue
Block a user