Remove Python 2 support

This commit is contained in:
Ülgen Sarıkavak 2020-03-14 11:54:21 +03:00
parent cf9f59071e
commit 7e396ec02e
11 changed files with 13 additions and 34 deletions

View File

@ -5,10 +5,10 @@ dist: xenial
install: install:
- pip install tox tox-travis - pip install tox tox-travis
script: script:
- tox - tox
after_success: after_success:
- pip install coveralls - pip install coveralls
- coveralls - coveralls
@ -24,8 +24,6 @@ jobs:
- env: DJANGO=master - env: DJANGO=master
include: include:
- python: 2.7
env: DJANGO=1.11
- python: 3.5 - python: 3.5
env: DJANGO=1.11 env: DJANGO=1.11

View File

@ -5,7 +5,6 @@ import json
from threading import local from threading import local
from time import time from time import time
import six
from django.utils.encoding import force_str from django.utils.encoding import force_str
from .types import DjangoDebugSQL from .types import DjangoDebugSQL
@ -77,7 +76,7 @@ class NormalCursorWrapper(object):
self.logger = logger self.logger = logger
def _quote_expr(self, element): def _quote_expr(self, element):
if isinstance(element, six.string_types): if isinstance(element, str):
return "'%s'" % force_str(element).replace("'", "''") return "'%s'" % force_str(element).replace("'", "''")
else: else:
return repr(element) return repr(element)

View File

@ -1,6 +1,5 @@
from functools import partial from functools import partial
import six
from django.db.models.query import QuerySet from django.db.models.query import QuerySet
from graphql_relay.connection.arrayconnection import connection_from_list_slice from graphql_relay.connection.arrayconnection import connection_from_list_slice
from promise import Promise from promise import Promise

View File

@ -1,5 +1,3 @@
import six
from django_filters.utils import get_model_field from django_filters.utils import get_model_field
from .filterset import custom_filterset_factory, setup_filterset from .filterset import custom_filterset_factory, setup_filterset
@ -13,7 +11,7 @@ def get_filtering_args_from_filterset(filterset_class, type):
args = {} args = {}
model = filterset_class._meta.model model = filterset_class._meta.model
for name, filter_field in six.iteritems(filterset_class.base_filters): for name, filter_field in filterset_class.base_filters.items():
form_field = None form_field = None
if name in filterset_class.declared_filters: if name in filterset_class.declared_filters:

View File

@ -13,7 +13,6 @@ back to the defaults.
""" """
from __future__ import unicode_literals from __future__ import unicode_literals
import six
from django.conf import settings from django.conf import settings
from django.test.signals import setting_changed from django.test.signals import setting_changed
@ -55,7 +54,7 @@ def perform_import(val, setting_name):
""" """
if val is None: if val is None:
return None return None
elif isinstance(val, six.string_types): elif isinstance(val, str):
return import_from_string(val, setting_name) return import_from_string(val, setting_name)
elif isinstance(val, (list, tuple)): elif isinstance(val, (list, tuple)):
return [import_from_string(item, setting_name) for item in val] return [import_from_string(item, setting_name) for item in val]

View File

@ -1,8 +1,8 @@
from textwrap import dedent from textwrap import dedent
from django.core import management from django.core import management
from io import StringIO
from mock import mock_open, patch from mock import mock_open, patch
from six import StringIO
from graphene import ObjectType, Schema, String from graphene import ObjectType, Schema, String

View File

@ -1,7 +1,7 @@
import warnings import warnings
from collections import OrderedDict from collections import OrderedDict
from typing import Type
import six
from django.db.models import Model from django.db.models import Model
from django.utils.functional import SimpleLazyObject from django.utils.functional import SimpleLazyObject
@ -21,9 +21,6 @@ from .utils import (
is_valid_django_model, is_valid_django_model,
) )
if six.PY3:
from typing import Type
ALL_FIELDS = "__all__" ALL_FIELDS = "__all__"

View File

@ -1,6 +1,5 @@
import inspect import inspect
import six
from django.db import models from django.db import models
from django.db.models.manager import Manager from django.db.models.manager import Manager
from django.utils.encoding import force_text from django.utils.encoding import force_text
@ -27,13 +26,13 @@ def isiterable(value):
def _camelize_django_str(s): def _camelize_django_str(s):
if isinstance(s, Promise): if isinstance(s, Promise):
s = force_text(s) s = force_text(s)
return to_camel_case(s) if isinstance(s, six.string_types) else s return to_camel_case(s) if isinstance(s, str) else s
def camelize(data): def camelize(data):
if isinstance(data, dict): if isinstance(data, dict):
return {_camelize_django_str(k): camelize(v) for k, v in data.items()} return {_camelize_django_str(k): camelize(v) for k, v in data.items()}
if isiterable(data) and not isinstance(data, (six.string_types, Promise)): if isiterable(data) and not isinstance(data, (str, Promise)):
return [camelize(d) for d in data] return [camelize(d) for d in data]
return data return data

View File

@ -2,7 +2,6 @@ import inspect
import json import json
import re import re
import six
from django.http import HttpResponse, HttpResponseNotAllowed from django.http import HttpResponse, HttpResponseNotAllowed
from django.http.response import HttpResponseBadRequest from django.http.response import HttpResponseBadRequest
from django.shortcuts import render from django.shortcuts import render
@ -314,7 +313,7 @@ class GraphQLView(View):
variables = request.GET.get("variables") or data.get("variables") variables = request.GET.get("variables") or data.get("variables")
id = request.GET.get("id") or data.get("id") id = request.GET.get("id") or data.get("id")
if variables and isinstance(variables, six.text_type): if variables and isinstance(variables, str):
try: try:
variables = json.loads(variables) variables = json.loads(variables)
except Exception: except Exception:
@ -331,7 +330,7 @@ class GraphQLView(View):
if isinstance(error, GraphQLError): if isinstance(error, GraphQLError):
return format_graphql_error(error) return format_graphql_error(error)
return {"message": six.text_type(error)} return {"message": str(error)}
@staticmethod @staticmethod
def get_content_type(request): def get_content_type(request):

View File

@ -1,5 +1,4 @@
from setuptools import find_packages, setup from setuptools import find_packages, setup
import sys
import ast import ast
import re import re
@ -19,8 +18,7 @@ tests_require = [
"coveralls", "coveralls",
"mock", "mock",
"pytz", "pytz",
"django-filter<2;python_version<'3'", "django-filter>=2",
"django-filter>=2;python_version>='3'",
"pytest-django>=3.3.2", "pytest-django>=3.3.2",
] + rest_framework_require ] + rest_framework_require
@ -45,8 +43,6 @@ setup(
"Development Status :: 3 - Alpha", "Development Status :: 3 - Alpha",
"Intended Audience :: Developers", "Intended Audience :: Developers",
"Topic :: Software Development :: Libraries", "Topic :: Software Development :: Libraries",
"Programming Language :: Python :: 2",
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3", "Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.5",
@ -56,7 +52,6 @@ setup(
keywords="api graphql protocol rest relay graphene", keywords="api graphql protocol rest relay graphene",
packages=find_packages(exclude=["tests"]), packages=find_packages(exclude=["tests"]),
install_requires=[ install_requires=[
"six>=1.10.0",
"graphene>=2.1.7,<3", "graphene>=2.1.7,<3",
"graphql-core>=2.1.0,<3", "graphql-core>=2.1.0,<3",
"Django>=1.11", "Django>=1.11",

View File

@ -1,14 +1,12 @@
[tox] [tox]
envlist = envlist =
py{27,35,36,37}-django{111,20,21,22,master}, py{35,36,37}-django{111,master},
py{36,37}-django30, py{36,37}-django30,
black,flake8 black,flake8
[travis:env] [travis:env]
DJANGO = DJANGO =
1.11: django111 1.11: django111
2.0: django20
2.1: django21
2.2: django22 2.2: django22
3.0: django30 3.0: django30
master: djangomaster master: djangomaster
@ -22,8 +20,6 @@ deps =
-e.[test] -e.[test]
psycopg2 psycopg2
django111: Django>=1.11,<2.0 django111: Django>=1.11,<2.0
django20: Django>=2.0,<2.1
django21: Django>=2.1,<2.2
django22: Django>=2.2,<3.0 django22: Django>=2.2,<3.0
django30: Django>=3.0a1,<3.1 django30: Django>=3.0a1,<3.1
djangomaster: https://github.com/django/django/archive/master.zip djangomaster: https://github.com/django/django/archive/master.zip