diff --git a/github_backup/github_backup.py b/github_backup/github_backup.py index 9f17110..dc69e68 100644 --- a/github_backup/github_backup.py +++ b/github_backup/github_backup.py @@ -19,30 +19,14 @@ import subprocess import sys import time import platform -PY2 = False -try: - # python 3 - from urllib.parse import urlparse - from urllib.parse import quote as urlquote - from urllib.parse import urlencode - from urllib.error import HTTPError, URLError - from urllib.request import urlopen - from urllib.request import Request - from urllib.request import HTTPRedirectHandler - from urllib.request import build_opener - from subprocess import SubprocessError -except ImportError: - # python 2 - PY2 = True - from subprocess import CalledProcessError as SubprocessError - from urlparse import urlparse - from urllib import quote as urlquote - from urllib import urlencode - from urllib2 import HTTPError, URLError - from urllib2 import urlopen - from urllib2 import Request - from urllib2 import HTTPRedirectHandler - from urllib2 import build_opener +from urllib.parse import urlparse +from urllib.parse import quote as urlquote +from urllib.parse import urlencode +from urllib.error import HTTPError, URLError +from urllib.request import urlopen +from urllib.request import Request +from urllib.request import HTTPRedirectHandler +from urllib.request import build_opener try: from . import __version__ @@ -366,10 +350,9 @@ def get_auth(args, encode=True, for_git_cli=False): '-s', args.osx_keychain_item_name, '-a', args.osx_keychain_item_account, '-w'], stderr=devnull).strip()) - if not PY2: - token = token.decode('utf-8') + token = token.decode('utf-8') auth = token + ':' + 'x-oauth-basic' - except SubprocessError: + except subprocess.SubprocessError: log_error('No password item matching the provided name and account could be found in the osx keychain.') elif args.osx_keychain_item_account: log_error('You must specify both name and account fields for osx keychain password items') @@ -553,8 +536,7 @@ def _construct_request(per_page, page, query_args, template, auth, as_app=None): if not as_app: request.add_header('Authorization', 'Basic '.encode('ascii') + auth) else: - if not PY2: - auth = auth.encode('ascii') + auth = auth.encode('ascii') request.add_header('Authorization', 'token '.encode('ascii') + auth) request.add_header('Accept', 'application/vnd.github.machine-man-preview+json') log_info('Requesting {}?{}'.format(template, querystring)) @@ -612,11 +594,7 @@ class S3HTTPRedirectHandler(HTTPRedirectHandler): so we should remove said header on redirect. """ def redirect_request(self, req, fp, code, msg, headers, newurl): - if PY2: - # HTTPRedirectHandler is an old style class - request = HTTPRedirectHandler.redirect_request(self, req, fp, code, msg, headers, newurl) - else: - request = super(S3HTTPRedirectHandler, self).redirect_request(req, fp, code, msg, headers, newurl) + request = super(S3HTTPRedirectHandler, self).redirect_request(req, fp, code, msg, headers, newurl) del request.headers['Authorization'] return request diff --git a/setup.py b/setup.py index 85e2d5f..9764f42 100644 --- a/setup.py +++ b/setup.py @@ -1,24 +1,10 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- import os +from setuptools import setup + from github_backup import __version__ -try: - from setuptools import setup - setup # workaround for pyflakes issue #13 -except ImportError: - from distutils.core import setup - -# Hack to prevent stupid TypeError: 'NoneType' object is not callable error on -# exit of python setup.py test # in multiprocessing/util.py _exit_function when -# running python setup.py test (see -# http://www.eby-sarna.com/pipermail/peak/2010-May/003357.html) -try: - import multiprocessing - multiprocessing -except ImportError: - pass - def open_file(fname): return open(os.path.join(os.path.dirname(__file__), fname)) @@ -37,9 +23,10 @@ setup( 'Development Status :: 5 - Production/Stable', 'Topic :: System :: Archiving :: Backup', 'License :: OSI Approved :: MIT License', - 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', ], description='backup a github user or organization', long_description=open_file('README.rst').read(),