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)
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)