Exemple #1
0
class Transmission(Resource):
    def __init__(self, api_param):
        super().__init__(api_param)
        self.transmission = None

    @api.doc(responses={
        200: 'Success',
        401: 'Unauthorized to connect to transmission',
        500: 'Internal server error'
    })
    @auth.login_required
    def get(self):
        username = get_request_authorization_username()
        authorization = Authorization.query.join(Service).join(Application).join(User) \
            .filter(User.username == username) \
            .filter(Application.name == 'transmission')
        if authorization.count() == 0:
            abort(400, 'User <{0}> is not authorized. Please PUT an authorization '
                       'for application <transmission>'.format(username))
        authorization = authorization[0]
        hostname = authorization.service.hostname
        port = authorization.service.port
        if self.transmission is None:
            try:
                self.transmission = TransmissionRPC(hostname, port)
            except TransmissionException as exc:
                api.abort(500, message=exc.message)
        return self.transmission.get_torrents_info(None)
Exemple #2
0
 def get(self):
     username = get_request_authorization_username()
     authorization = Authorization.query.join(Service).join(Application).join(User) \
         .filter(User.username == username) \
         .filter(Application.name == 'transmission')
     if authorization.count() == 0:
         abort(400, 'User <{0}> is not authorized. Please PUT an authorization '
                    'for application <transmission>'.format(username))
     authorization = authorization[0]
     hostname = authorization.service.hostname
     port = authorization.service.port
     if self.transmission is None:
         try:
             self.transmission = TransmissionRPC(hostname, port)
         except TransmissionException as exc:
             api.abort(500, message=exc.message)
     return self.transmission.get_torrents_info(None)