def run(self, options, interactive=False): username = options.username if not username: interactive = True request = self.app.wsgi_request() auth_backend = self.app.auth_backend auth_backend.request(request.environ) if interactive: # pragma nocover def_username = get_def_username(request, auth_backend) input_msg = 'Username' if def_username: input_msg += ' (Leave blank to use %s)' % def_username while not username: username = input(input_msg + ': ') if def_username and username == '': username = def_username user = auth_backend.get_user(request, username=username) if user is None: raise CommandError('user %s not available' % username) token = auth_backend.create_token(request, user) self.write('Token: %s' % as_hex(token.id)) return token
def run(self, options, interactive=False): username = options.username if not username: interactive = True users = self.app.models['users'] tokens = self.app.models['tokens'] with users.begin_session() as session: if interactive: # pragma nocover def_username = get_def_username(session) input_msg = 'Username' if def_username: input_msg += ' (Leave blank to use %s)' % def_username while not username: username = input(input_msg + ': ') if def_username and username == '': username = def_username user = session.auth.get_user(session, username=username) if user is None: raise CommandError('user %s not available' % username) token = tokens.create_one(session, dict( user=user, description='from create token command' )) self.write('Token: %s' % as_hex(token.id)) return token
def get_instance_value(self, instance, name): try: value = instance.obj.__getattribute__(name) except Exception: value = getattr(self, 'instance_%s' % name, None) if not hasattr(value, '__call__'): raise value = partial(value, instance) if hasattr(value, '__call__'): value = value() return as_hex(value)
def id_repr(self, request, obj, in_list=True): if obj: if in_list: data = {'id': as_hex(getattr(obj, self.id_field))} else: data = self.tojson(request, obj, exclude_related=True) data['id'] = data.pop(self.id_field) if self.repr_field != self.id_field: repr = getattr(obj, self.repr_field) if repr != data['id']: data['repr'] = repr return data
def get_instance_value(self, instance, name): return as_hex(getattr(instance.obj, name, None))