def __call__(self): # Actual function to run by framework (CBV) # TODO: display server IP and maybe some other info which can be loaded only once (will not change during run) if not verify_ip(self.request['REMOTE_ADDR']): return HTTPForbidden() show_settings = False username = authenticated_userid(self.request) user_groups = groupfinder(username, self.request) if user_groups[0] is None: # Deleted user tries to do something headers = forget(self.request) return HTTPForbidden(headers=headers) print ('%s %s %s' % (user_groups, username, show_settings)) return {'username': username, 'show_settings': show_settings, 'user_groups': user_groups}
def mainline(self): if not verify_ip(self.request['REMOTE_ADDR']): return HTTPForbidden() if groupfinder(self.username, self.request)[0] is None: # Deleted user tries to do something headers = forget(self.request) return HTTPForbidden(headers=headers) # Add to redis info that user is online VMC.log_active(authenticated_userid(self.request)) # Factory to answer for JSON requests try: func = self.functions[self.json['query']] except KeyError: # If we have wrong JSON request print ('Wrong JSON request: ' + str(self.json.get('query'))) return {'status': False, 'answer': 'Wrong query'} else: return func(self)