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

@ -24,8 +24,6 @@ jobs:
- env: DJANGO=master
include:
- python: 2.7
env: DJANGO=1.11
- python: 3.5
env: DJANGO=1.11

View File

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

View File

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

View File

@ -1,5 +1,3 @@
import six
from django_filters.utils import get_model_field
from .filterset import custom_filterset_factory, setup_filterset
@ -13,7 +11,7 @@ def get_filtering_args_from_filterset(filterset_class, type):
args = {}
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
if name in filterset_class.declared_filters:

View File

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

View File

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

View File

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

View File

@ -1,6 +1,5 @@
import inspect
import six
from django.db import models
from django.db.models.manager import Manager
from django.utils.encoding import force_text
@ -27,13 +26,13 @@ def isiterable(value):
def _camelize_django_str(s):
if isinstance(s, Promise):
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):
if isinstance(data, dict):
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 data

View File

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

View File

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

View File

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