Example #1
0
    def test_http_code_description(self):
        test_cases = {
            None: None,
            '': None,
            '123': None,
            '12.3': None,
            '-123': None,
            '-12.3': None,
            '300': 'Multiple Choices',
            0: None,
            123: None,
            12.3: None,
            -123: None,
            -12.3: None,
            300: 'Multiple Choices',
            451: '(Redirect, Unavailable For Legal Reasons)',
            497: 'HTTP to HTTPS',
            499: '(Client Closed Request, Token required)',
            600: None,
        }

        unicode_test_cases = {
            '': None,
            '123': None,
            '12.3': None,
            '-123': None,
            '-12.3': None,
            '300': 'Multiple Choices',
        }

        for test in test_cases, unicode_test_cases:
            for (http_code, result) in six.iteritems(test):
                self.assertEqual(http_code_description(http_code), result)
    def test_http_code_description(self):
        test_cases = {
            None: None,
            '': None,
            '123': None,
            '12.3': None,
            '-123': None,
            '-12.3': None,
            '300': None,
            0: None,
            123: None,
            12.3: None,
            -123: None,
            -12.3: None,
            300: 'Multiple Choices',
            451: '(Redirect, Unavailable For Legal Reasons)',
            497: 'HTTP to HTTPS',
            499: '(Client Closed Request, Token required)',
            600: None,
        }

        unicode_test_cases = {
            u'': None,
            u'123': None,
            u'12.3': None,
            u'-123': None,
            u'-12.3': None,
            u'300': None,
        }

        for test in test_cases, unicode_test_cases:
            for (http_code, result) in test.iteritems():
                self.assertEqual(http_code_description(http_code), result)
Example #3
0
    def _request(self, method='get', params=None, data=None, files=None, cookies=None):

        if time.time() > self.last_time + 1800 or not self.auth:
            self.last_time = time.time()
            self._get_auth()

        data_str = str(data)
        logger.log('{name}: Requested a {method} connection to {url} with Params: {params} Data: {data}{etc}'.format
                   (name=self.name, method=method.upper(), url=self.url,
                    params=params, data=data_str[0:99],
                    etc='...' if len(data_str) > 99 else ''), logger.DEBUG)

        if not self.auth:
            logger.log('{name}: Authentication Failed'.format(name=self.name), logger.WARNING)

            return False
        try:
            self.response = self.session.__getattribute__(method)(self.url, params=params, data=data, files=files,
                                                                  cookies=cookies, timeout=120, verify=False)
        except requests.exceptions.ConnectionError as msg:
            logger.log('{name}: Unable to connect {error}'.format
                       (name=self.name, error=msg), logger.ERROR)
            return False
        except (requests.exceptions.MissingSchema, requests.exceptions.InvalidURL):
            logger.log('{name}: Invalid Host'.format(name=self.name), logger.ERROR)
            return False
        except requests.exceptions.HTTPError as msg:
            logger.log('{name}: Invalid HTTP Request {error}'.format(name=self.name, error=msg), logger.ERROR)
            return False
        except requests.exceptions.Timeout as msg:
            logger.log('{name}: Connection Timeout {error}'.format(name=self.name, error=msg), logger.WARNING)
            return False
        except Exception as msg:
            logger.log('{name}: Unknown exception raised when send torrent to {name} : {error}'.format
                       (name=self.name, error=msg), logger.ERROR)
            return False

        if self.response.status_code == 401:
            logger.log('{name}: Invalid Username or Password, check your config'.format
                       (name=self.name), logger.ERROR)
            return False

        code_description = http_code_description(self.response.status_code)

        if code_description is not None:
            logger.log('{name}: {code}'.format(name=self.name, code=code_description), logger.INFO)
            return False

        logger.log('{name}: Response to {method} request is {response}'.format
                   (name=self.name, method=method.upper(), response=self.response.text), logger.DEBUG)

        return True
Example #4
0
    def _request(self, method='get', params=None, data=None, files=None, cookies=None):  # pylint: disable=too-many-arguments, too-many-return-statements

        if time.time() > self.last_time + 1800 or not self.auth:
            self.last_time = time.time()
            self._get_auth()

        logger.log(
            self.name + u': Requested a ' + method.upper() + ' connection to url ' + self.url +
            ' with Params: ' + str(params) + ' Data: ' + str(data)[0:99] + ('...' if len(str(data)) > 200 else ''), logger.DEBUG)

        if not self.auth:
            logger.log(self.name + u': Authentication Failed', logger.WARNING)
            return False

        try:
            self.response = self.session.__getattribute__(method)(self.url, params=params, data=data, files=files, cookies=cookies,
                                                                  timeout=120, verify=False)
        except requests.exceptions.ConnectionError as e:
            logger.log(self.name + u': Unable to connect ' + str(e), logger.ERROR)
            return False
        except (requests.exceptions.MissingSchema, requests.exceptions.InvalidURL):
            logger.log(self.name + u': Invalid Host', logger.ERROR)
            return False
        except requests.exceptions.HTTPError as e:
            logger.log(self.name + u': Invalid HTTP Request ' + str(e), logger.ERROR)
            return False
        except requests.exceptions.Timeout as e:
            logger.log(self.name + u': Connection Timeout ' + str(e), logger.WARNING)
            return False
        except Exception as e:
            logger.log(self.name + u': Unknown exception raised when send torrent to ' + self.name + ': ' + str(e),
                       logger.ERROR)
            return False

        if self.response.status_code == 401:
            logger.log(self.name + u': Invalid Username or Password, check your config', logger.ERROR)
            return False

        code_description = http_code_description(self.response.status_code)

        if code_description is not None:
            logger.log(self.name + u': ' + code_description, logger.INFO)
            return False

        logger.log(self.name + u': Response to ' + method.upper() + ' request is ' + self.response.text, logger.DEBUG)

        return True
Example #5
0
    def _request(self, method='get', params=None, data=None, files=None, cookies=None):

        if time.time() > self.last_time + 1800 or not self.auth:
            self.last_time = time.time()
            self._get_auth()

        logger.log(
            self.name + u': Requested a ' + method.upper() + ' connection to url ' + self.url +
            ' with Params: ' + str(params) + ' Data: ' + str(data)[0:99] + ('...' if len(str(data)) > 200 else ''), logger.DEBUG)

        if not self.auth:
            logger.log(self.name + u': Authentication Failed', logger.WARNING)

            return False
        try:
            self.response = self.session.__getattribute__(method)(self.url, params=params, data=data, files=files, cookies=cookies,
                                                                  timeout=120, verify=False)
        except requests.exceptions.ConnectionError as e:
            logger.log(self.name + u': Unable to connect ' + str(e), logger.ERROR)
            return False
        except (requests.exceptions.MissingSchema, requests.exceptions.InvalidURL):
            logger.log(self.name + u': Invalid Host', logger.ERROR)
            return False
        except requests.exceptions.HTTPError as e:
            logger.log(self.name + u': Invalid HTTP Request ' + str(e), logger.ERROR)
            return False
        except requests.exceptions.Timeout as e:
            logger.log(self.name + u': Connection Timeout ' + str(e), logger.WARNING)
            return False
        except Exception as e:
            logger.log(self.name + u': Unknown exception raised when send torrent to ' + self.name + ': ' + str(e),
                       logger.ERROR)
            return False

        if self.response.status_code == 401:
            logger.log(self.name + u': Invalid Username or Password, check your config', logger.ERROR)
            return False

        code_description = http_code_description(self.response.status_code)

        if code_description is not None:
            logger.log(self.name + u': ' + code_description, logger.INFO)
            return False

        logger.log(self.name + u': Response to ' + method.upper() + ' request is ' + self.response.text, logger.DEBUG)

        return True
Example #6
0
            return False
        except Exception, e:
            logger.log(
                self.name +
                u': Unknown exception raised when send torrent to ' +
                self.name + ': ' + str(e), logger.ERROR)
            return False

        if self.response.status_code == 401:
            logger.log(
                self.name +
                u': Invalid Username or Password, check your config',
                logger.ERROR)
            return False

        code_description = http_code_description(self.response.status_code)

        if code_description is not None:
            logger.log(self.name + u': ' + code_description, logger.DEBUG)
            return False

        logger.log(
            self.name + u': Response to ' + method.upper() + ' request is ' +
            self.response.text, logger.DEBUG)

        return True

    def _get_auth(self):
        """
        This should be overridden and should return the auth_id needed for the client
        """
Example #7
0
        except requests.exceptions.HTTPError, e:
            logger.log(self.name + u': Invalid HTTP Request ' + str(e), logger.ERROR)
            return False
        except requests.exceptions.Timeout, e:
            logger.log(self.name + u': Connection Timeout ' + str(e), logger.WARNING)
            return False
        except Exception, e:
            logger.log(self.name + u': Unknown exception raised when send torrent to ' + self.name + ': ' + str(e),
                       logger.ERROR)
            return False

        if self.response.status_code == 401:
            logger.log(self.name + u': Invalid Username or Password, check your config', logger.ERROR)
            return False

        code_description = http_code_description(self.response.status_code)

        if code_description is not None:
            logger.log(self.name + u': ' + code_description, logger.DEBUG)
            return False

        logger.log(self.name + u': Response to ' + method.upper() + ' request is ' + self.response.text, logger.DEBUG)

        return True

    def _get_auth(self):
        """
        This should be overridden and should return the auth_id needed for the client
        """
        return None