Example #1
0
    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
Example #2
0
    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
Example #3
0
    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
Example #4
0
 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)
Example #5
0
 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)
Example #6
0
    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
Example #7
0
    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
Example #8
0
 def get_instance_value(self, instance, name):
     return as_hex(getattr(instance.obj, name, None))