Exemple #1
0
 def get_user_id(self, request):
     j = get_args(request)
     user_id = yield self.service.get_user_id(j['token'].decode('hex'))
     defer.returnValue({
         'success': True,
         'user_d': user_id,
     })
Exemple #2
0
    def scan(self, request):
        j = get_args(request)
        name = j.get('name')
        options = {
            'format': j.get('format', 'png') or 'png',
            'resolution': str(j.get('resolution') or 300),
            'mode': j.get('mode') or 'Color'
        }
        if not name:
            request.setHeader('Content-Type', 'text/plain;charset=utf-8')
            request.setResponseCode(400)
            return 'Name should be set'
        deferred = self.service.getImage(name, request, options)
        finished = request.notifyFinish()

        def _finished(_):
            print('Request cancelled')
            deferred.cancel()

        def _cb(name):
            print('Process Finished: %s' % name)
            if not request._disconnected:
                request.finish()

        def _eb(failure):
            if not isinstance(failure.value, CancelledError):
                request.setResponseCode(500, 'Scanning error')
                request.setHeader('Content-Type', 'text/json;charset=utf-8')
                request.write(as_json(failure.value))
                if not request._disconnected:
                    request.finish()

        deferred.addCallbacks(_cb, _eb)
        finished.addErrback(_finished)
        return NOT_DONE_YET
Exemple #3
0
 def release_token(self, request):
     """
     Release previously acquired token
     :param request:
     :return:
     """
     j = get_args(request)
     result = yield self.service.release_token(j['token'].decode('hex'))
     defer.returnValue({
         'success': result,
         'token': j['token'],
     })
Exemple #4
0
 def is_valid_credentials(self, request):
     """
     Check whether credentials are valid
     :param request:
     :return:
     """
     j = get_args(request)
     user = yield self.service.is_valid_credentials(j['login'], j['password'])
     defer.returnValue({
         'success': True,
         'user_id': user.user_id,
     })
Exemple #5
0
 def prolong_token(self, request):
     """
     Make token live longer
     :param request:
     :return:
     """
     j = get_args(request)
     success, deadline = yield self.service.prolong_token(j['token'].decode('hex'))
     defer.returnValue({
         'success': success,
         'deadline': deadline,
         'ttl': deadline - time.time(),
         'token': j['token'],
     })
Exemple #6
0
 def acquire_token(self, request):
     """
     Acquire auth token for login / password pair
     :param request:
     :return:
     """
     j = get_args(request)
     login = j['login']
     password = j['password']
     ato = yield self.service.acquire_token(login, password)
     defer.returnValue({
         'success': True,
         'token': ato.token.encode('hex'),
         'deadline': ato.deadline,
         'ttl': ato.deadline - time.time(),
         'user_id': ato.user_id,
     })
Exemple #7
0
 def check_token(self, request):
     """
     Check whether auth token is valid
     :param request:
     :return:
     """
     j = get_args(request)
     prolong = j.get('prolong', False)
     hex_token = j.get('token', '')
     if len(hex_token) != 32:
         raise Exception(u'Плохой токен аутентификации')
     user_id, deadline = yield self.service.check_token(hex_token.decode('hex'), prolong)
     defer.returnValue({
         'success': True,
         'user_id': user_id,
         'deadline': deadline,
         'ttl': deadline - time.time(),
         'token': hex_token,
     })