api = API(SERVICE_API_URL, auth=(APP_ID, APP_PASS)) # Try get active session try: session = api.sessions.get()['objects'][0] user_id = session['user_id'] print "Check for user with session id - %s" % session['session_key'] except (IndexError, KeyError): print "No active session (please, login first at %s)" % SERVICE_URL sys.exit() except ConnectionError: print "Service %s unavailable" % SERVICE_API_URL sys.exit() # 1. Get all permissions for authenticated user print "1. User permissions: \n", api.users(user_id).permissions.get() # 2. Grant permission for user api.users(user_id).permissions.post(dict(code='python-test')) print "2. Permission 'python-test' granted for user #%s" % user_id # 3. Perform action with permission try: api.users(user_id).permissions('python-test').get() print "3. Execute 'Hello world!'" except HttpClientError: print "'Hello world!' forbidden..." # 4. Revoke permission api.users(user_id).permissions('python-test').delete() print "4. Permission 'python-test' revoked for user #%s" % user_id