1
0
Fork 0

tox: Check imports with 'isort' and apply changes

Signed-off-by: Vasilis Tsiligiannis <acinonyx@openwrt.gr>
merge-requests/765/head
Vasilis Tsiligiannis 2019-09-23 14:08:11 +03:00
parent 17897fa504
commit 68f90d921c
34 changed files with 144 additions and 136 deletions

View File

@ -1,4 +1,5 @@
from django.conf.urls import url, include from django.conf.urls import include, url
from . import views from . import views
urlpatterns = [ urlpatterns = [

View File

@ -2,7 +2,6 @@
import os import os
import sys import sys
if __name__ == "__main__": if __name__ == "__main__":
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'network.settings') os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'network.settings')
from django.core.management import execute_from_command_line from django.core.management import execute_from_command_line

View File

@ -1,10 +1,9 @@
from __future__ import absolute_import from __future__ import absolute_import
from ._version import get_versions
from .celery import app as celery_app # noqa from .celery import app as celery_app # noqa
__all__ = ['celery_app'] __all__ = ['celery_app']
from ._version import get_versions
__version__ = get_versions()['version'] __version__ = get_versions()['version']
del get_versions del get_versions

View File

@ -1,5 +1,5 @@
from django_filters.rest_framework import FilterSet
import django_filters import django_filters
from django_filters.rest_framework import FilterSet
from network.base.models import Observation, Station, Transmitter from network.base.models import Observation, Station, Transmitter

View File

@ -1,14 +1,16 @@
from rest_framework import serializers from rest_framework import serializers
from network.base.models import Observation, Station, DemodData, Antenna, Transmitter from network.base.db_api import DBConnectionError, \
from network.base.stats import transmitter_stats_by_uuid get_transmitters_by_uuid_list
from network.base.db_api import get_transmitters_by_uuid_list, DBConnectionError from network.base.models import Antenna, DemodData, Observation, Station, \
from network.base.perms import check_schedule_perms_per_station, UserNoPermissionError Transmitter
from network.base.perms import UserNoPermissionError, \
check_schedule_perms_per_station
from network.base.scheduling import create_new_observation from network.base.scheduling import create_new_observation
from network.base.validators import (ObservationOverlapError, OutOfRangeError, from network.base.stats import transmitter_stats_by_uuid
check_transmitter_station_pairs, check_start_datetime, from network.base.validators import ObservationOverlapError, OutOfRangeError, \
check_end_datetime, check_start_end_datetimes, check_end_datetime, check_overlaps, check_start_datetime, \
check_overlaps) check_start_end_datetimes, check_transmitter_station_pairs
class DemodDataSerializer(serializers.ModelSerializer): class DemodDataSerializer(serializers.ModelSerializer):

View File

@ -1,16 +1,11 @@
import json import json
import pytest
from django.test import TestCase from django.test import TestCase
from rest_framework.utils.encoders import JSONEncoder from rest_framework.utils.encoders import JSONEncoder
from network.base.tests import ( import pytest
ObservationFactory, from network.base.tests import AntennaFactory, ObservationFactory, \
SatelliteFactory, SatelliteFactory, StationFactory
StationFactory,
AntennaFactory
)
@pytest.mark.django_db(transaction=True) @pytest.mark.django_db(transaction=True)

View File

@ -1,6 +1,6 @@
from rest_framework import routers from rest_framework import routers
from network.api import views
from network.api import views
router = routers.DefaultRouter() router = routers.DefaultRouter()

View File

@ -1,16 +1,15 @@
from django.core.exceptions import ObjectDoesNotExist from django.core.exceptions import ObjectDoesNotExist
from django.shortcuts import get_object_or_404 from django.shortcuts import get_object_or_404
from django.utils.timezone import now from django.utils.timezone import now
from rest_framework import mixins, status, viewsets
from rest_framework import viewsets, mixins, status
from rest_framework.response import Response from rest_framework.response import Response
from rest_framework.serializers import ValidationError from rest_framework.serializers import ValidationError
from network.api import filters, pagination, serializers
from network.api.perms import StationOwnerPermission from network.api.perms import StationOwnerPermission
from network.api import serializers, filters, pagination from network.base.models import LatestTle, Observation, Station, Transmitter
from network.base.validators import (ObservationOverlapError, NegativeElevationError, from network.base.validators import NegativeElevationError, \
SinglePassError) ObservationOverlapError, SinglePassError
from network.base.models import Observation, Station, Transmitter, LatestTle
class ObservationView(mixins.ListModelMixin, mixins.RetrieveModelMixin, class ObservationView(mixins.ListModelMixin, mixins.RetrieveModelMixin,

View File

@ -1,7 +1,7 @@
from django.contrib import admin from django.contrib import admin
from network.base.models import (Antenna, Satellite, Station, Transmitter, from network.base.models import Antenna, DemodData, Observation, Satellite, \
Observation, Tle, DemodData) Station, Tle, Transmitter
from network.base.utils import export_as_csv, export_station_status from network.base.utils import export_as_csv, export_station_status

View File

@ -1,5 +1,4 @@
import requests import requests
from django.conf import settings from django.conf import settings
db_api_url = settings.DB_API_ENDPOINT db_api_url = settings.DB_API_ENDPOINT

View File

@ -1,12 +1,13 @@
from django import forms from django import forms
from network.base.models import Station, Observation from network.base.db_api import DBConnectionError, \
from network.base.db_api import get_transmitters_by_uuid_list, DBConnectionError get_transmitters_by_uuid_list
from network.base.perms import check_schedule_perms_per_station, UserNoPermissionError from network.base.models import Observation, Station
from network.base.validators import (ObservationOverlapError, OutOfRangeError, from network.base.perms import UserNoPermissionError, \
check_transmitter_station_pairs, check_start_datetime, check_schedule_perms_per_station
check_end_datetime, check_start_end_datetimes, from network.base.validators import ObservationOverlapError, OutOfRangeError, \
check_overlaps) check_end_datetime, check_overlaps, check_start_datetime, \
check_start_end_datetimes, check_transmitter_station_pairs
class ObservationForm(forms.ModelForm): class ObservationForm(forms.ModelForm):

View File

@ -1,7 +1,6 @@
import requests import requests
from django.core.management.base import BaseCommand, CommandError
from django.conf import settings from django.conf import settings
from django.core.management.base import BaseCommand, CommandError
from network.base.models import Satellite, Transmitter from network.base.models import Satellite, Transmitter

View File

@ -1,7 +1,7 @@
from optparse import make_option from optparse import make_option
from satellite_tle import fetch_tle_from_celestrak
from django.core.management.base import BaseCommand, CommandError from django.core.management.base import BaseCommand, CommandError
from satellite_tle import fetch_tle_from_celestrak
from network.base.models import Satellite from network.base.models import Satellite

View File

@ -1,9 +1,9 @@
from django.core.management.base import BaseCommand
from django.core.management import call_command from django.core.management import call_command
from django.core.management.base import BaseCommand
from network.base.models import Antenna from network.base.models import Antenna
from network.base.tests import (generate_payload, generate_payload_name, from network.base.tests import DemodDataFactory, ObservationFactory, \
DemodDataFactory, StationFactory, ObservationFactory) StationFactory, generate_payload, generate_payload_name
class Command(BaseCommand): class Command(BaseCommand):

View File

@ -1,25 +1,25 @@
import logging
import os import os
from datetime import timedelta from datetime import timedelta
from PIL import Image
import requests
from shortuuidfield import ShortUUIDField
import logging
import requests
from django.conf import settings from django.conf import settings
from django.core.cache import cache from django.core.cache import cache
from django.core.validators import MaxValueValidator, MinValueValidator
from django.core.exceptions import ValidationError from django.core.exceptions import ValidationError
from django.dispatch import receiver from django.core.validators import MaxValueValidator, MinValueValidator
from django.db import models from django.db import models
from django.db.models import OuterRef, Subquery from django.db.models import OuterRef, Subquery
from django.db.models.signals import post_save from django.db.models.signals import post_save
from django.dispatch import receiver
from django.urls import reverse from django.urls import reverse
from django.utils.html import format_html from django.utils.html import format_html
from django.utils.timezone import now from django.utils.timezone import now
from PIL import Image
from network.users.models import User
from network.base.managers import ObservationManager
from rest_framework.authtoken.models import Token from rest_framework.authtoken.models import Token
from shortuuidfield import ShortUUIDField
from network.base.managers import ObservationManager
from network.users.models import User
ANTENNA_BANDS = ['HF', 'VHF', 'UHF', 'L', 'S', 'C', 'X', 'KU'] ANTENNA_BANDS = ['HF', 'VHF', 'UHF', 'L', 'S', 'C', 'X', 'KU']
ANTENNA_TYPES = ( ANTENNA_TYPES = (

View File

@ -1,14 +1,14 @@
import math import math
from datetime import timedelta from datetime import timedelta
from django.conf import settings
from django.utils.timezone import now, make_aware, utc
from network.base.models import Satellite, LatestTle, Observation
from network.base.perms import schedule_station_perms
from network.base.validators import (ObservationOverlapError, NegativeElevationError,
SinglePassError)
import ephem import ephem
from django.conf import settings
from django.utils.timezone import make_aware, now, utc
from network.base.models import LatestTle, Observation, Satellite
from network.base.perms import schedule_station_perms
from network.base.validators import NegativeElevationError, \
ObservationOverlapError, SinglePassError
def get_altitude(observer, satellite, date): def get_altitude(observer, satellite, date):

View File

@ -1,7 +1,7 @@
import math import math
from django.core.cache import cache from django.core.cache import cache
from django.db.models import IntegerField, Sum, Case, When from django.db.models import Case, IntegerField, Sum, When
from django.utils.timezone import now from django.utils.timezone import now
from network.base.models import Observation from network.base.models import Observation

View File

@ -1,11 +1,7 @@
from datetime import timedelta
import json import json
import os import os
from requests.exceptions import ReadTimeout, HTTPError
import urllib2 import urllib2
from datetime import timedelta
from internetarchive import upload
from satellite_tle import fetch_tle_from_celestrak
from django.conf import settings from django.conf import settings
from django.contrib.sites.models import Site from django.contrib.sites.models import Site
@ -13,11 +9,14 @@ from django.core.cache import cache
from django.core.mail import send_mail from django.core.mail import send_mail
from django.db.models import Prefetch from django.db.models import Prefetch
from django.utils.timezone import now from django.utils.timezone import now
from internetarchive import upload
from requests.exceptions import HTTPError, ReadTimeout
from satellite_tle import fetch_tle_from_celestrak
from network.base.models import (Satellite, Tle, LatestTle, Transmitter, Observation, Station, from network.base.models import DemodData, LatestTle, Observation, Satellite, \
DemodData) Station, Tle, Transmitter
from network.celery import app
from network.base.utils import demod_to_db from network.base.utils import demod_to_db
from network.celery import app
@app.task(ignore_result=True) @app.task(ignore_result=True)

View File

@ -4,7 +4,6 @@ ellipses to truncate pages outside an adjacency
""" """
from django import template from django import template
register = template.Library() register = template.Library()

View File

@ -1,6 +1,5 @@
from django import template from django import template
register = template.Library() register = template.Library()

View File

@ -1,20 +1,19 @@
import random import random
from datetime import datetime, timedelta from datetime import datetime, timedelta
import pytest
import factory import factory
from django.contrib.auth.models import Group
from django.db import transaction
from django.test import Client, TestCase
from django.utils.timezone import now
from factory import fuzzy from factory import fuzzy
from django.db import transaction import pytest
from django.contrib.auth.models import Group from network.base.models import ANTENNA_BANDS, ANTENNA_TYPES, \
from django.test import TestCase, Client OBSERVATION_STATUSES, Antenna, DemodData, Observation, Satellite, \
from django.utils.timezone import now Station, Tle
from network.base.models import (ANTENNA_BANDS, ANTENNA_TYPES, OBSERVATION_STATUSES,
Antenna, Satellite, Tle, Station, Observation, DemodData)
from network.users.tests import UserFactory from network.users.tests import UserFactory
ANTENNA_BAND_IDS = [c[0] for c in ANTENNA_BANDS] ANTENNA_BAND_IDS = [c[0] for c in ANTENNA_BANDS]
ANTENNA_TYPE_IDS = [c[0] for c in ANTENNA_TYPES] ANTENNA_TYPE_IDS = [c[0] for c in ANTENNA_TYPES]
OBSERVATION_STATUS_IDS = [c[0] for c in OBSERVATION_STATUSES] OBSERVATION_STATUS_IDS = [c[0] for c in OBSERVATION_STATUSES]

View File

@ -1,14 +1,16 @@
import csv import csv
import urllib import urllib
import urllib2 import urllib2
from django.http import HttpResponse
from django.core.exceptions import PermissionDenied
from django.contrib.admin.helpers import label_for_field
from django.conf import settings
from requests.exceptions import ReadTimeout, HTTPError
from network.base.models import DemodData
from datetime import datetime from datetime import datetime
from django.conf import settings
from django.contrib.admin.helpers import label_for_field
from django.core.exceptions import PermissionDenied
from django.http import HttpResponse
from requests.exceptions import HTTPError, ReadTimeout
from network.base.models import DemodData
def export_as_csv(modeladmin, request, queryset): def export_as_csv(modeladmin, request, queryset):
if not request.user.is_staff: if not request.user.is_staff:

View File

@ -1,37 +1,40 @@
import urllib2 import urllib2
import ephem
from operator import itemgetter
from datetime import datetime, timedelta
from collections import defaultdict from collections import defaultdict
from datetime import datetime, timedelta
from operator import itemgetter
from django.db.models import Count import ephem
from django.conf import settings from django.conf import settings
from django.contrib import messages from django.contrib import messages
from django.contrib.auth.decorators import login_required from django.contrib.auth.decorators import login_required
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from django.db.models import Prefetch from django.db.models import Count, Prefetch
from django.http import JsonResponse, HttpResponseNotFound, HttpResponseServerError, HttpResponse from django.forms import ValidationError, formset_factory
from django.shortcuts import get_object_or_404, render, redirect from django.http import HttpResponse, HttpResponseNotFound, \
from django.utils.timezone import now, make_aware, utc HttpResponseServerError, JsonResponse
from django.shortcuts import get_object_or_404, redirect, render
from django.utils.text import slugify from django.utils.text import slugify
from django.utils.timezone import make_aware, now, utc
from django.views.generic import ListView from django.views.generic import ListView
from django.forms import formset_factory, ValidationError
from rest_framework import serializers, viewsets from rest_framework import serializers, viewsets
from network.base.db_api import DBConnectionError, get_transmitter_by_uuid, \
get_transmitters_by_norad_id, get_transmitters_by_status
from network.base.decorators import admin_required, ajax_required from network.base.decorators import admin_required, ajax_required
from network.base.db_api import (get_transmitter_by_uuid, get_transmitters_by_norad_id, from network.base.forms import BaseObservationFormSet, ObservationForm, \
get_transmitters_by_status, DBConnectionError) SatelliteFilterForm, StationForm
from network.base.forms import (ObservationForm, BaseObservationFormSet, StationForm, from network.base.models import Antenna, LatestTle, Observation, Satellite, \
SatelliteFilterForm) Station, StationStatusLog
from network.base.validators import (is_transmitter_in_station_range, ObservationOverlapError, from network.base.perms import delete_perms, schedule_perms, \
NegativeElevationError, SinglePassError) schedule_station_perms, vet_perms
from network.base.models import (Station, Observation, Satellite, Antenna, StationStatusLog, from network.base.scheduling import create_new_observation, \
LatestTle) get_available_stations, predict_available_observation_windows
from network.base.scheduling import (create_new_observation, predict_available_observation_windows, from network.base.stats import satellite_stats_by_transmitter_list, \
get_available_stations) transmitter_stats_by_uuid
from network.base.perms import schedule_perms, schedule_station_perms, delete_perms, vet_perms from network.base.tasks import fetch_data, update_all_tle
from network.base.tasks import update_all_tle, fetch_data from network.base.validators import NegativeElevationError, \
from network.base.stats import transmitter_stats_by_uuid, satellite_stats_by_transmitter_list ObservationOverlapError, SinglePassError, \
is_transmitter_in_station_range
from network.users.models import User from network.users.models import User

View File

@ -3,11 +3,10 @@ from __future__ import absolute_import
import os import os
from celery import Celery from celery import Celery
from django.conf import settings # noqa
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'network.settings') os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'network.settings')
from django.conf import settings # noqa
RUN_DAILY = 60 * 60 * 24 RUN_DAILY = 60 * 60 * 24
RUN_EVERY_TWO_HOURS = 2 * 60 * 60 RUN_EVERY_TWO_HOURS = 2 * 60 * 60

View File

@ -1,9 +1,8 @@
from decouple import config, Csv
from dj_database_url import parse as db_url
from unipath import Path
import sentry_sdk import sentry_sdk
from decouple import Csv, config
from dj_database_url import parse as db_url
from sentry_sdk.integrations.django import DjangoIntegration from sentry_sdk.integrations.django import DjangoIntegration
from unipath import Path
ROOT = Path(__file__).parent ROOT = Path(__file__).parent

View File

@ -1,14 +1,13 @@
from allauth import urls as allauth_urls
from avatar import urls as avatar_urls
from django.conf import settings from django.conf import settings
from django.conf.urls import include, url from django.conf.urls import include, url
from django.contrib import admin from django.contrib import admin
from django.views.static import serve from django.views.static import serve
from avatar import urls as avatar_urls from network.api.urls import api_urlpatterns
from allauth import urls as allauth_urls
from network.base.urls import base_urlpatterns from network.base.urls import base_urlpatterns
from network.users.urls import users_urlpatterns from network.users.urls import users_urlpatterns
from network.api.urls import api_urlpatterns
handler404 = 'network.base.views.custom_404' handler404 = 'network.base.views.custom_404'
handler500 = 'network.base.views.custom_500' handler500 = 'network.base.views.custom_500'

View File

@ -1,6 +1,6 @@
from django.contrib import admin from django.contrib import admin
from django.contrib.auth.forms import UserCreationForm, UserChangeForm
from django.contrib.auth.admin import UserAdmin as AuthUserAdmin from django.contrib.auth.admin import UserAdmin as AuthUserAdmin
from django.contrib.auth.forms import UserChangeForm, UserCreationForm
from django.db.models import Count from django.db.models import Count
from network.users.models import User from network.users.models import User

View File

@ -1,9 +1,8 @@
from rest_framework.authtoken.models import Token
from django.contrib.auth.models import AbstractUser from django.contrib.auth.models import AbstractUser
from django.core.validators import MaxLengthValidator from django.core.validators import MaxLengthValidator
from django.db import models from django.db import models
from django.db.models.signals import post_save from django.db.models.signals import post_save
from rest_framework.authtoken.models import Token
def gen_token(sender, instance, created, **kwargs): def gen_token(sender, instance, created, **kwargs):

View File

@ -1,11 +1,11 @@
import datetime import datetime
import pytest
import factory import factory
from factory import fuzzy from django.test import Client, TestCase
from django.utils.timezone import utc from django.utils.timezone import utc
from django.test import TestCase, Client from factory import fuzzy
import pytest
from network.users.models import User from network.users.models import User

View File

@ -1,18 +1,15 @@
from django.core.urlresolvers import reverse
from django.shortcuts import get_object_or_404, render
from django.views.generic import RedirectView
from django.views.generic import UpdateView
from django.db.models import Count
from braces.views import LoginRequiredMixin from braces.views import LoginRequiredMixin
from django.core.urlresolvers import reverse
from django.db.models import Count
from django.shortcuts import get_object_or_404, render
from django.views.generic import RedirectView, UpdateView
from rest_framework.authtoken.models import Token from rest_framework.authtoken.models import Token
from network.base.forms import StationForm
from network.base.models import Antenna, Observation, Station
from network.base.perms import schedule_perms
from network.users.forms import UserForm from network.users.forms import UserForm
from network.users.models import User from network.users.models import User
from network.base.forms import StationForm
from network.base.models import Station, Observation, Antenna
from network.base.perms import schedule_perms
class UserRedirectView(LoginRequiredMixin, RedirectView): class UserRedirectView(LoginRequiredMixin, RedirectView):

View File

@ -1,7 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
import os import os
from django.core.wsgi import get_wsgi_application
from django.core.wsgi import get_wsgi_application
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'network.settings') os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'network.settings')

View File

@ -80,6 +80,14 @@ max-line-length = 99
ignore = F403,W504 ignore = F403,W504
exclude = network/_version.py,versioneer.py,*/migrations,docs exclude = network/_version.py,versioneer.py,*/migrations,docs
[tool:isort]
use_parentheses = True
skip_glob = migrations,docs,build,.tox
skip = _version.py,versioneer.py
known_third_party = factory
line_width = 99
multi_line_output = 2
[tool:pytest] [tool:pytest]
addopts = -v --cov --cov-report=term-missing addopts = -v --cov --cov-report=term-missing
python_files = tests.py python_files = tests.py

View File

@ -1,6 +1,7 @@
from __future__ import absolute_import, division, print_function from __future__ import absolute_import, division, print_function
from setuptools import setup from setuptools import setup
import versioneer import versioneer
setup( setup(

11
tox.ini
View File

@ -3,6 +3,7 @@ envlist = py2-flake8,{py2,py3}-build,py2-pytest,docs
[depversions] [depversions]
flake8 = 3.7.7 flake8 = 3.7.7
isort = 4.3.18
sphinx_rtd_theme = 0.4.3 sphinx_rtd_theme = 0.4.3
[testenv:py2-flake8] [testenv:py2-flake8]
@ -14,6 +15,16 @@ commands = flake8 \
network \ network \
auth0login auth0login
[testenv:isort]
deps =
isort=={[depversions]isort}
commands = isort -rc -c -df
[testenv:isort-apply]
deps =
isort=={[depversions]isort}
commands = isort -rc -y
[testenv:py2-build] [testenv:py2-build]
skip_install = True skip_install = True
commands = commands =