Make calendar showacl usable

This commit is contained in:
Ross Scroggs
2016-08-12 09:02:00 -07:00
parent a9dc255979
commit ddd040e395

View File

@ -1011,6 +1011,16 @@ def callGAPIpages(service, function, items,
sys.stderr.flush()
return all_pages
def callGAPIitems(service, function, items,
throw_reasons=[], retry_reasons=[],
**kwargs):
results = callGAPI(service, function,
throw_reasons=throw_reasons, retry_reasons=retry_reasons,
**kwargs)
if results:
return results.get(items, [])
return []
API_VER_MAPPING = {
u'admin-settings': u'v2',
u'appsactivity': u'v1',
@ -3140,19 +3150,22 @@ def checkCloudPrintResult(result):
print u'ERROR %s: %s' % (result[u'errorCode'], result[u'message'])
sys.exit(result[u'errorCode'])
def formatACLRule(rule):
if rule[u'scope'][u'type'] != u'default':
return u'(Scope: {0}:{1}, Role: {2})'.format(rule[u'scope'][u'type'], rule[u'scope'][u'value'], rule[u'role'])
return u'(Scope: {0}, Role: {1})'.format(rule[u'scope'][u'type'], rule[u'role'])
def doCalendarShowACL():
cal = buildGAPIObject(u'calendar')
show_cal = sys.argv[2]
if show_cal.find(u'@') == -1:
show_cal = u'%s@%s' % (show_cal, GC_Values[GC_DOMAIN])
acls = callGAPI(cal.acl(), u'list', calendarId=show_cal)
try:
for rule in acls[u'items']:
print u' Scope %s - %s' % (rule[u'scope'][u'type'], rule[u'scope'][u'value'])
print u' Role: %s' % (rule[u'role'])
print u''
except IndexError:
pass
acls = callGAPIitems(cal.acl(), u'list', u'items', calendarId=show_cal)
i = 0
count = len(acls)
for rule in acls:
i += 1
print u'Calendar: {0}, ACL: {1}{2}'.format(show_cal, formatACLRule(rule), currentCount(i, count))
def doCalendarAddACL(calendarId=None, act_as=None, role=None, scope=None, entity=None):
if act_as != None: