From 86c5051fcf2de9406cf897f5e00dbaa8119dbfc8 Mon Sep 17 00:00:00 2001 From: r4sas Date: Wed, 18 Sep 2019 12:02:41 +0000 Subject: [PATCH] move 'requests' configuration code in separate function Signed-off-by: r4sas --- pbincli/api.py | 40 ++++++++++++++++++---------------------- 1 file changed, 18 insertions(+), 22 deletions(-) diff --git a/pbincli/api.py b/pbincli/api.py index d4bb75b..37ad4cf 100644 --- a/pbincli/api.py +++ b/pbincli/api.py @@ -2,22 +2,28 @@ import requests from requests import HTTPError from pbincli.utils import PBinCLIError +def _config_requests(settings=None): + if settings['proxy']: + proxy = {settings['proxy'].split('://')[0]: settings['proxy']} + else: + proxy = {} + + if settings['no_insecure_warning']: + from requests.packages.urllib3.exceptions import InsecureRequestWarning + requests.packages.urllib3.disable_warnings(InsecureRequestWarning) + + session = requests.Session() + session.verify = not settings['no_check_certificate'] + + return session, proxy + + class PrivateBin: def __init__(self, settings=None): self.server = settings['server'] self.headers = {'X-Requested-With': 'JSONHttpRequest'} - if settings['proxy']: - self.proxy = {settings['proxy'].split('://')[0]: settings['proxy']} - else: - self.proxy = {} - - if settings['no_insecure_warning']: - from requests.packages.urllib3.exceptions import InsecureRequestWarning - requests.packages.urllib3.disable_warnings(InsecureRequestWarning) - - self.session = requests.Session() - self.session.verify = not settings['no_check_certificate'] + self.session, self.proxy = _config_requests(settings) def post(self, request): result = self.session.post( @@ -95,17 +101,7 @@ class Shortener: else: PBinCLIError("YOURLS: either username and password or token are required. Otherwise set to default (None)") - if settings['proxy']: - self.proxy = {settings['proxy'].split('://')[0]: settings['proxy']} - else: - self.proxy = {} - - if settings['no_insecure_warning']: - from requests.packages.urllib3.exceptions import InsecureRequestWarning - requests.packages.urllib3.disable_warnings(InsecureRequestWarning) - - self.session = requests.Session() - self.session.verify = not settings['no_check_certificate'] + self.session, self.proxy = _config_requests(settings) def getlink(self, url): if self.api == 'yourls':