Skip to content

Commit

Permalink
add flake8
Browse files Browse the repository at this point in the history
  • Loading branch information
karol-gruszczyk committed Feb 26, 2018
1 parent 87395a1 commit 6eb230c
Show file tree
Hide file tree
Showing 20 changed files with 100 additions and 64 deletions.
1 change: 1 addition & 0 deletions .travis.yml
Expand Up @@ -5,6 +5,7 @@ install:
- pip install -r requirements.txt
script:
- pytest --cov
- flake8 slothql
after_success:
- pip install coveralls
- coveralls
7 changes: 4 additions & 3 deletions requirements.txt
Expand Up @@ -5,6 +5,7 @@ django>=2.0<3
psycopg2-binary>=2.7<3

# development
pytest==3.4
pytest-cov==2.5.1
pytest-django==3.1.2
pytest
pytest-cov
pytest-django
flake8
20 changes: 18 additions & 2 deletions slothql/__init__.py
@@ -1,10 +1,26 @@
from slothql.types.fields import *
from .types import *
from .types.fields import Field, Integer, Float, String, Boolean, ID, JsonString, DateTime, Date, Time
from .types import Object, Enum, EnumValue
from .schema import Schema
from .query import gql

__all__ = (
# fields
'Field',
'Integer', 'Float', 'String', 'Boolean', 'ID',
'JsonString',
'DateTime', 'Date', 'Time',

# types
'Object',
'Enum', 'EnumValue',

'Schema',
'gql',
)

try:
from slothql import django
__all__ += 'django',
except ImportError as e:
if str(e) != "No module named 'django'":
raise
7 changes: 6 additions & 1 deletion slothql/django/__init__.py
@@ -1,2 +1,7 @@
from .views import GraphQLView
from .types import *
from .types import Model

__all__ = (
'GraphQLView',
'Model',
)
2 changes: 1 addition & 1 deletion slothql/django/queryset.py
Expand Up @@ -2,7 +2,7 @@

from django.db import models

from slothql.selections import selections_to_dict, Selections
from slothql.selections import Selections
from .utils.model import get_selectable_relations, get_relations


Expand Down
43 changes: 38 additions & 5 deletions slothql/django/types/__init__.py
@@ -1,8 +1,41 @@
from .model import Model
from . import scalars

__all__ = (
'Model',
)

from django.db import models

import slothql

from .registry import TypeRegistry

TypeRegistry().register(models.AutoField, slothql.Integer())
TypeRegistry().register(models.BigAutoField, slothql.Integer())

TypeRegistry().register(models.CharField, slothql.String())
TypeRegistry().register(models.TextField, slothql.String())
TypeRegistry().register(models.EmailField, slothql.String())

TypeRegistry().register(models.IntegerField, slothql.Integer())
TypeRegistry().register(models.BigIntegerField, slothql.Integer())
TypeRegistry().register(models.PositiveIntegerField, slothql.Integer())
TypeRegistry().register(models.SmallIntegerField, slothql.Integer())
TypeRegistry().register(models.PositiveSmallIntegerField, slothql.Integer())

TypeRegistry().register(models.BooleanField, slothql.Boolean())
TypeRegistry().register(models.NullBooleanField, slothql.Boolean())

TypeRegistry().register(models.FloatField, slothql.Float())
TypeRegistry().register(models.DecimalField, slothql.Float())

TypeRegistry().register(models.DateTimeField, slothql.DateTime())
TypeRegistry().register(models.DateField, slothql.Date())
TypeRegistry().register(models.TimeField, slothql.Time())

try:
from . import postgres
except ImportError as e:
if str(e) != "No module named 'psycopg2'":
raise
from django.contrib.postgres import fields

TypeRegistry().register(fields.JSONField, slothql.JsonString())
except ImportError:
pass
7 changes: 0 additions & 7 deletions slothql/django/types/postgres.py

This file was deleted.

28 changes: 0 additions & 28 deletions slothql/django/types/scalars.py

This file was deleted.

4 changes: 2 additions & 2 deletions slothql/django/types/tests/meta_fields.py
Expand Up @@ -19,7 +19,7 @@ class Meta:

def test_fields__regular():
field_mock = mock.Mock(spec=slothql.Field)
with mock.patch.object(TypeRegistry, 'get', return_value=field_mock) as get: # type: mock.MagicMock
with mock.patch.object(TypeRegistry, 'get', return_value=field_mock) as get:
class Test(Model):
class Meta:
model = MetaFieldsModel
Expand All @@ -44,7 +44,7 @@ class Meta:


def test_fields__all__(field_mock):
with mock.patch.object(TypeRegistry, 'get', return_value=field_mock) as get: # type: mock.MagicMock
with mock.patch.object(TypeRegistry, 'get', return_value=field_mock):
class Test(Model):
class Meta:
model = MetaFieldsModel
Expand Down
2 changes: 1 addition & 1 deletion slothql/selections.py
@@ -1,4 +1,4 @@
from typing import List, Union, Dict, Optional
from typing import List, Dict, Optional

import graphql
from graphql.language import ast
Expand Down
5 changes: 5 additions & 0 deletions slothql/types/__init__.py
@@ -1,2 +1,7 @@
from .object import Object
from .enum import Enum, EnumValue

__all__ = (
'Object',
'Enum', 'EnumValue',
)
1 change: 0 additions & 1 deletion slothql/types/datetime.py
Expand Up @@ -38,4 +38,3 @@ def serialize(cls, value: typing.Union[datetime.datetime, datetime.time]):
elif isinstance(value, datetime.time):
return value.isoformat()
raise AssertionError(f'Expected datetime.time or datetime.datetime instance, got {repr(value)}')

2 changes: 1 addition & 1 deletion slothql/types/enum.py
@@ -1,5 +1,5 @@
import graphql
from typing import Tuple, Type
from typing import Type

from graphql.type import GraphQLEnumValue

Expand Down
7 changes: 6 additions & 1 deletion slothql/types/fields/__init__.py
@@ -1,2 +1,7 @@
from .field import Field
from .shortcuts import String, Boolean, Integer, JsonString, Float, ID, DateTime, Date, Time
from .shortcuts import String, Boolean, Integer, Float, ID, JsonString, DateTime, Date, Time

__all__ = (
'Field',
'String', 'Boolean', 'Integer', 'Float', 'ID', 'JsonString', 'DateTime', 'Date', 'Time',
)
1 change: 0 additions & 1 deletion slothql/types/fields/shortcuts.py
@@ -1,7 +1,6 @@
from slothql.types.scalars import IntegerType, FloatType, StringType, BooleanType, IDType
from slothql.types.json import JsonStringType
from slothql.types.datetime import DateTimeType, DateType, TimeType
from slothql.types.enum import Enum
from .field import Field


Expand Down
3 changes: 0 additions & 3 deletions slothql/types/fields/tests/field.py
Expand Up @@ -2,9 +2,6 @@
from functools import partial

import pytest
from unittest import mock

from graphql.type.definition import GraphQLType

from ..field import Field

Expand Down
2 changes: 1 addition & 1 deletion slothql/types/tests/datetime.py
Expand Up @@ -34,7 +34,7 @@ def test_date_serialize(value, expected):
@pytest.mark.parametrize('value', (
datetime.time(21, 37),
))
def test_datetime_serialize_type(value):
def test_date_serialize_type(value):
with pytest.raises(AssertionError) as exc_info:
DateType.serialize(value)
assert 'Expected datetime.date or datetime.datetime' in str(exc_info.value)
Expand Down
10 changes: 8 additions & 2 deletions slothql/utils/__init__.py
@@ -1,3 +1,9 @@
from .attr import *
from .query import *
from .attr import get_attr_fields, is_magic_name, get_attrs
from .query import query_from_raw_json
from .laziness import LazyInitMixin

__all__ = (
'get_attr_fields', 'is_magic_name', 'get_attrs',
'query_from_raw_json',
'LazyInitMixin',
)
6 changes: 2 additions & 4 deletions slothql/utils/attr.py
Expand Up @@ -11,8 +11,6 @@ def get_attrs(obj) -> dict:

def get_attr_fields(obj) -> dict:
return {
name: getattr(obj, name) for name in dir(obj)
if not is_magic_name(name)
and not inspect.ismethod(getattr(obj, name))
and not inspect.isfunction(getattr(obj, name))
name: getattr(obj, name) for name in dir(obj) if not is_magic_name(name)
and not inspect.ismethod(getattr(obj, name)) and not inspect.isfunction(getattr(obj, name))
}
6 changes: 6 additions & 0 deletions tox.ini
@@ -1,3 +1,9 @@
[pytest]
python_files = tests.py test_*.py *_tests.py tests/*.py
addopts=-p no:logging

[flake8]
statistics = True
disable-noqa = True
max-line-length = 120
max-complexity = 8

0 comments on commit 6eb230c

Please sign in to comment.