From 01fbd1e8b90f64a34c77b42c9623ea5b657bb376 Mon Sep 17 00:00:00 2001 From: jo Date: Thu, 3 Jun 2021 15:20:39 +0200 Subject: [PATCH] Add isort pre-commit hook Sort import statement in python files See https://github.com/PyCQA/isort --- .pre-commit-config.yaml | 6 +++++ api/libretimeapi/models/authentication.py | 4 +++- api/libretimeapi/models/playlists.py | 1 + api/libretimeapi/models/playout.py | 1 + api/libretimeapi/models/podcasts.py | 1 + api/libretimeapi/models/schedule.py | 1 + api/libretimeapi/models/shows.py | 3 ++- api/libretimeapi/models/tracks.py | 1 + api/libretimeapi/models/webstreams.py | 3 ++- api/libretimeapi/permission_constants.py | 4 +++- api/libretimeapi/permissions.py | 3 ++- api/libretimeapi/serializers.py | 1 + api/libretimeapi/settings.py | 3 ++- api/libretimeapi/tests/test_models.py | 6 ++--- api/libretimeapi/tests/test_permissions.py | 13 +++++----- api/libretimeapi/tests/test_views.py | 7 +++--- api/libretimeapi/utils.py | 4 ++-- api/libretimeapi/views.py | 6 +++-- api/setup.py | 3 ++- dev_tools/compare_cc_files_to_fs.py | 8 +++---- .../airtime-celery/celeryconfig.py | 1 + .../airtime-celery/airtime-celery/tasks.py | 14 +++++------ python_apps/airtime-celery/setup.py | 7 +++--- .../airtime_analyzer/airtime_analyzer.py | 7 +++--- .../airtime_analyzer/analyzer_pipeline.py | 15 ++++++------ .../airtime_analyzer/airtime_analyzer/cli.py | 3 ++- .../airtime_analyzer/cuepoint_analyzer.py | 9 +++---- .../airtime_analyzer/filemover_analyzer.py | 3 +-- .../airtime_analyzer/message_listener.py | 12 ++++++---- .../airtime_analyzer/metadata_analyzer.py | 12 ++++++---- .../airtime_analyzer/playability_analyzer.py | 3 ++- .../airtime_analyzer/replaygain_analyzer.py | 5 ++-- .../airtime_analyzer/status_reporter.py | 9 +++---- python_apps/airtime_analyzer/setup.py | 3 ++- .../tests/airtime_analyzer_test.py | 2 +- .../tests/analyzer_pipeline_test.py | 9 +++---- .../airtime_analyzer/tests/analyzer_test.py | 2 +- .../tests/cuepoint_analyzer_test.py | 2 +- .../tests/filemover_analyzer_test.py | 7 +++--- .../tests/metadata_analyzer_test.py | 6 +++-- .../tests/playability_analyzer_test.py | 2 +- .../tests/replaygain_analyzer_test.py | 3 ++- python_apps/api_clients/api_clients/utils.py | 3 ++- .../api_clients/api_clients/version1.py | 13 +++++----- .../api_clients/api_clients/version2.py | 7 ++++-- python_apps/api_clients/setup.py | 8 ++++--- python_apps/api_clients/tests/apcurl_test.py | 3 ++- .../api_clients/tests/apirequest_test.py | 5 ++-- .../api_clients/tests/requestprovider_test.py | 9 +++---- python_apps/api_clients/tests/utils_test.py | 3 ++- .../icecast2/install/icecast2-install.py | 2 +- python_apps/pypo/bin/pyponotify | 12 +++++----- python_apps/pypo/liquidsoap/__main__.py | 6 +++-- .../liquidsoap/generate_liquidsoap_cfg.py | 1 + .../pypo/liquidsoap/liquidsoap_auth.py | 3 ++- .../liquidsoap_prepare_terminate.py | 5 ++-- python_apps/pypo/pypo/__main__.py | 10 ++++---- python_apps/pypo/pypo/listenerstat.py | 12 ++++++---- python_apps/pypo/pypo/pure.py | 1 + python_apps/pypo/pypo/pypofetch.py | 23 +++++++++--------- python_apps/pypo/pypo/pypofile.py | 22 ++++++++--------- python_apps/pypo/pypo/pypoliqqueue.py | 14 ++++------- python_apps/pypo/pypo/pypoliquidsoap.py | 10 ++++---- python_apps/pypo/pypo/pypomessagehandler.py | 12 +++++----- python_apps/pypo/pypo/pypopush.py | 24 ++++++++----------- python_apps/pypo/pypo/recorder.py | 24 ++++++++----------- python_apps/pypo/pypo/telnetliquidsoap.py | 3 ++- python_apps/pypo/pypo/testpypoliqqueue.py | 15 +++++------- python_apps/pypo/pypo/timeout.py | 1 + python_apps/pypo/setup.py | 8 ++++--- utils/airtime-import/airtime-import | 11 +++++---- utils/airtime-silan | 10 ++++---- utils/airtime-test-soundcard.py | 7 +++--- utils/airtime-test-stream.py | 7 +++--- utils/upgrade.py | 5 ++-- 75 files changed, 282 insertions(+), 232 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index f60d2c52d..f792da783 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -40,6 +40,12 @@ repos: hooks: - id: black + - repo: https://github.com/pycqa/isort + rev: 5.8.0 + hooks: + - id: isort + args: ["--profile", "black", "--filter-files"] + # - repo: https://github.com/pre-commit/mirrors-pylint # rev: v3.0.0a3 # hooks: diff --git a/api/libretimeapi/models/authentication.py b/api/libretimeapi/models/authentication.py index 343c6011b..c0542f7c5 100644 --- a/api/libretimeapi/models/authentication.py +++ b/api/libretimeapi/models/authentication.py @@ -1,11 +1,13 @@ import hashlib + from django.contrib import auth from django.contrib.auth.models import AbstractBaseUser, Permission from django.core.exceptions import PermissionDenied from django.db import models from libretimeapi.managers import UserManager from libretimeapi.permission_constants import GROUPS -from .user_constants import USER_TYPES, ADMIN + +from .user_constants import ADMIN, USER_TYPES class LoginAttempt(models.Model): diff --git a/api/libretimeapi/models/playlists.py b/api/libretimeapi/models/playlists.py index 3e4c4379f..98638a029 100644 --- a/api/libretimeapi/models/playlists.py +++ b/api/libretimeapi/models/playlists.py @@ -1,4 +1,5 @@ from django.db import models + from .files import File from .smart_blocks import SmartBlock diff --git a/api/libretimeapi/models/playout.py b/api/libretimeapi/models/playout.py index 203ec0149..7659932da 100644 --- a/api/libretimeapi/models/playout.py +++ b/api/libretimeapi/models/playout.py @@ -1,4 +1,5 @@ from django.db import models + from .files import File diff --git a/api/libretimeapi/models/podcasts.py b/api/libretimeapi/models/podcasts.py index ade2ee5b9..0640b2c25 100644 --- a/api/libretimeapi/models/podcasts.py +++ b/api/libretimeapi/models/podcasts.py @@ -1,4 +1,5 @@ from django.db import models + from .authentication import User from .files import File diff --git a/api/libretimeapi/models/schedule.py b/api/libretimeapi/models/schedule.py index b45234fb3..ce87a06b1 100644 --- a/api/libretimeapi/models/schedule.py +++ b/api/libretimeapi/models/schedule.py @@ -1,4 +1,5 @@ from django.db import models + from .files import File diff --git a/api/libretimeapi/models/shows.py b/api/libretimeapi/models/shows.py index 79fb37334..de7abb3f3 100644 --- a/api/libretimeapi/models/shows.py +++ b/api/libretimeapi/models/shows.py @@ -1,6 +1,7 @@ from django.db import models -from .playlists import Playlist + from .files import File +from .playlists import Playlist class Show(models.Model): diff --git a/api/libretimeapi/models/tracks.py b/api/libretimeapi/models/tracks.py index 7e2f97810..8467d0517 100644 --- a/api/libretimeapi/models/tracks.py +++ b/api/libretimeapi/models/tracks.py @@ -1,4 +1,5 @@ from django.db import models + from .files import File diff --git a/api/libretimeapi/models/webstreams.py b/api/libretimeapi/models/webstreams.py index 14c6066c2..72f2022f7 100644 --- a/api/libretimeapi/models/webstreams.py +++ b/api/libretimeapi/models/webstreams.py @@ -1,5 +1,6 @@ -from django.db import models from django.contrib.auth import get_user_model +from django.db import models + from .schedule import Schedule diff --git a/api/libretimeapi/permission_constants.py b/api/libretimeapi/permission_constants.py index 4a3d1c353..eead5598f 100644 --- a/api/libretimeapi/permission_constants.py +++ b/api/libretimeapi/permission_constants.py @@ -1,6 +1,8 @@ import logging + from django.contrib.auth.models import Group, Permission -from .models.user_constants import GUEST, DJ, PROGRAM_MANAGER, USER_TYPES + +from .models.user_constants import DJ, GUEST, PROGRAM_MANAGER, USER_TYPES logger = logging.getLogger(__name__) diff --git a/api/libretimeapi/permissions.py b/api/libretimeapi/permissions.py index bc05146f2..84e61eda7 100644 --- a/api/libretimeapi/permissions.py +++ b/api/libretimeapi/permissions.py @@ -1,5 +1,6 @@ -from rest_framework.permissions import BasePermission from django.conf import settings +from rest_framework.permissions import BasePermission + from .models.user_constants import DJ REQUEST_PERMISSION_TYPE_MAP = { diff --git a/api/libretimeapi/serializers.py b/api/libretimeapi/serializers.py index f8b780dc0..4ecd8e8db 100644 --- a/api/libretimeapi/serializers.py +++ b/api/libretimeapi/serializers.py @@ -1,5 +1,6 @@ from django.contrib.auth import get_user_model from rest_framework import serializers + from .models import * diff --git a/api/libretimeapi/settings.py b/api/libretimeapi/settings.py index a88c6b371..6c916a00e 100644 --- a/api/libretimeapi/settings.py +++ b/api/libretimeapi/settings.py @@ -1,6 +1,7 @@ import configparser import os -from .utils import read_config_file, get_random_string + +from .utils import get_random_string, read_config_file LIBRETIME_CONF_DIR = os.getenv("LIBRETIME_CONF_DIR", "/etc/airtime") DEFAULT_CONFIG_PATH = os.getenv( diff --git a/api/libretimeapi/tests/test_models.py b/api/libretimeapi/tests/test_models.py index e23c18f90..b29e2a058 100644 --- a/api/libretimeapi/tests/test_models.py +++ b/api/libretimeapi/tests/test_models.py @@ -1,9 +1,9 @@ -from rest_framework.test import APITestCase -from django.contrib.auth.models import Group from django.apps import apps +from django.contrib.auth.models import Group from libretimeapi.models import User -from libretimeapi.models.user_constants import GUEST, DJ +from libretimeapi.models.user_constants import DJ, GUEST from libretimeapi.permission_constants import GROUPS +from rest_framework.test import APITestCase class TestUserManager(APITestCase): diff --git a/api/libretimeapi/tests/test_permissions.py b/api/libretimeapi/tests/test_permissions.py index 8383f0605..20fd14d5c 100644 --- a/api/libretimeapi/tests/test_permissions.py +++ b/api/libretimeapi/tests/test_permissions.py @@ -1,16 +1,17 @@ import os + +from django.conf import settings from django.contrib.auth import get_user_model from django.contrib.auth.models import AnonymousUser -from django.conf import settings -from rest_framework.test import APITestCase, APIRequestFactory -from model_bakery import baker -from libretimeapi.permissions import IsSystemTokenOrUser +from libretimeapi.models.user_constants import ADMIN, DJ, GUEST, PROGRAM_MANAGER from libretimeapi.permission_constants import ( - GUEST_PERMISSIONS, DJ_PERMISSIONS, + GUEST_PERMISSIONS, PROGRAM_MANAGER_PERMISSIONS, ) -from libretimeapi.models.user_constants import GUEST, DJ, PROGRAM_MANAGER, ADMIN +from libretimeapi.permissions import IsSystemTokenOrUser +from model_bakery import baker +from rest_framework.test import APIRequestFactory, APITestCase class TestIsSystemTokenOrUser(APITestCase): diff --git a/api/libretimeapi/tests/test_views.py b/api/libretimeapi/tests/test_views.py index 510251374..cb00ce222 100644 --- a/api/libretimeapi/tests/test_views.py +++ b/api/libretimeapi/tests/test_views.py @@ -1,9 +1,10 @@ import os -from django.contrib.auth.models import AnonymousUser + from django.conf import settings -from rest_framework.test import APITestCase, APIRequestFactory -from model_bakery import baker +from django.contrib.auth.models import AnonymousUser from libretimeapi.views import FileViewSet +from model_bakery import baker +from rest_framework.test import APIRequestFactory, APITestCase class TestFileViewSet(APITestCase): diff --git a/api/libretimeapi/utils.py b/api/libretimeapi/utils.py index 83acc6261..dc43b3a96 100644 --- a/api/libretimeapi/utils.py +++ b/api/libretimeapi/utils.py @@ -1,7 +1,7 @@ import configparser -import sys -import string import random +import string +import sys def read_config_file(config_path): diff --git a/api/libretimeapi/views.py b/api/libretimeapi/views.py index 39d1f96d8..793a3b593 100644 --- a/api/libretimeapi/views.py +++ b/api/libretimeapi/views.py @@ -1,13 +1,15 @@ import os + from django.conf import settings from django.http import FileResponse from django.shortcuts import get_object_or_404 from rest_framework import status, viewsets -from rest_framework.decorators import api_view, action, permission_classes +from rest_framework.decorators import action, api_view, permission_classes from rest_framework.permissions import AllowAny from rest_framework.response import Response -from .serializers import * + from .permissions import IsAdminOrOwnUser +from .serializers import * class UserViewSet(viewsets.ModelViewSet): diff --git a/api/setup.py b/api/setup.py index cd499e845..fd016b7cd 100644 --- a/api/setup.py +++ b/api/setup.py @@ -1,6 +1,7 @@ import os import shutil -from setuptools import setup, find_packages + +from setuptools import find_packages, setup script_path = os.path.dirname(os.path.realpath(__file__)) print(script_path) diff --git a/dev_tools/compare_cc_files_to_fs.py b/dev_tools/compare_cc_files_to_fs.py index 5aa88e28c..df0bb9d03 100644 --- a/dev_tools/compare_cc_files_to_fs.py +++ b/dev_tools/compare_cc_files_to_fs.py @@ -1,12 +1,12 @@ +import logging import os -import time import shutil import sys -import logging +import time +from subprocess import PIPE, Popen -from configobj import ConfigObj -from subprocess import Popen, PIPE from api_clients import api_client as apc +from configobj import ConfigObj """ The purpose of this script is that you can run it, and it will compare what the database has to what your filesystem diff --git a/python_apps/airtime-celery/airtime-celery/celeryconfig.py b/python_apps/airtime-celery/airtime-celery/celeryconfig.py index 3de503d92..9d0a58840 100644 --- a/python_apps/airtime-celery/airtime-celery/celeryconfig.py +++ b/python_apps/airtime-celery/airtime-celery/celeryconfig.py @@ -1,4 +1,5 @@ import os + from configobj import ConfigObj from kombu import Exchange, Queue diff --git a/python_apps/airtime-celery/airtime-celery/tasks.py b/python_apps/airtime-celery/airtime-celery/tasks.py index 198b59772..83f5bc785 100644 --- a/python_apps/airtime-celery/airtime-celery/tasks.py +++ b/python_apps/airtime-celery/airtime-celery/tasks.py @@ -2,21 +2,21 @@ from future.standard_library import install_aliases install_aliases() -import os -import json -import requests import cgi +import json +import os import posixpath import shutil import tempfile import traceback -import mutagen -from io import StringIO -from celery import Celery -from celery.utils.log import get_task_logger from contextlib import closing +from io import StringIO from urllib.parse import urlsplit +import mutagen +import requests +from celery import Celery +from celery.utils.log import get_task_logger celery = Celery() logger = get_task_logger(__name__) diff --git a/python_apps/airtime-celery/setup.py b/python_apps/airtime-celery/setup.py index 48f62b295..d42e54dd3 100644 --- a/python_apps/airtime-celery/setup.py +++ b/python_apps/airtime-celery/setup.py @@ -1,8 +1,9 @@ -from pathlib import Path -from setuptools import setup -from subprocess import call import os import sys +from pathlib import Path +from subprocess import call + +from setuptools import setup # Change directory since setuptools uses relative paths script_path = os.path.dirname(os.path.realpath(__file__)) diff --git a/python_apps/airtime_analyzer/airtime_analyzer/airtime_analyzer.py b/python_apps/airtime_analyzer/airtime_analyzer/airtime_analyzer.py index 8ad2092e7..705ebe55d 100644 --- a/python_apps/airtime_analyzer/airtime_analyzer/airtime_analyzer.py +++ b/python_apps/airtime_analyzer/airtime_analyzer/airtime_analyzer.py @@ -2,15 +2,16 @@ """ import logging import logging.handlers -import sys import signal +import sys import traceback -from . import config_file from functools import partial + +from . import config_file +from .message_listener import MessageListener from .metadata_analyzer import MetadataAnalyzer from .replaygain_analyzer import ReplayGainAnalyzer from .status_reporter import StatusReporter -from .message_listener import MessageListener class AirtimeAnalyzerServer: diff --git a/python_apps/airtime_analyzer/airtime_analyzer/analyzer_pipeline.py b/python_apps/airtime_analyzer/airtime_analyzer/analyzer_pipeline.py index 7ae73d907..057dd5485 100644 --- a/python_apps/airtime_analyzer/airtime_analyzer/analyzer_pipeline.py +++ b/python_apps/airtime_analyzer/airtime_analyzer/analyzer_pipeline.py @@ -1,15 +1,16 @@ """ Analyzes and imports an audio file into the Airtime library. """ -import logging -import threading -import multiprocessing -from queue import Queue import configparser -from .metadata_analyzer import MetadataAnalyzer -from .filemover_analyzer import FileMoverAnalyzer +import logging +import multiprocessing +import threading +from queue import Queue + from .cuepoint_analyzer import CuePointAnalyzer -from .replaygain_analyzer import ReplayGainAnalyzer +from .filemover_analyzer import FileMoverAnalyzer +from .metadata_analyzer import MetadataAnalyzer from .playability_analyzer import * +from .replaygain_analyzer import ReplayGainAnalyzer class AnalyzerPipeline: diff --git a/python_apps/airtime_analyzer/airtime_analyzer/cli.py b/python_apps/airtime_analyzer/airtime_analyzer/cli.py index 274a450b2..cb7b36b46 100644 --- a/python_apps/airtime_analyzer/airtime_analyzer/cli.py +++ b/python_apps/airtime_analyzer/airtime_analyzer/cli.py @@ -2,10 +2,11 @@ Main CLI entrypoint for the libretime-analyzer app. """ -import daemon import argparse import os + import airtime_analyzer.airtime_analyzer as aa +import daemon VERSION = "1.0" LIBRETIME_CONF_DIR = os.getenv("LIBRETIME_CONF_DIR", "/etc/airtime") diff --git a/python_apps/airtime_analyzer/airtime_analyzer/cuepoint_analyzer.py b/python_apps/airtime_analyzer/airtime_analyzer/cuepoint_analyzer.py index bdd314913..444221a02 100644 --- a/python_apps/airtime_analyzer/airtime_analyzer/cuepoint_analyzer.py +++ b/python_apps/airtime_analyzer/airtime_analyzer/cuepoint_analyzer.py @@ -1,8 +1,9 @@ -import subprocess -import logging -import traceback -import json import datetime +import json +import logging +import subprocess +import traceback + from .analyzer import Analyzer diff --git a/python_apps/airtime_analyzer/airtime_analyzer/filemover_analyzer.py b/python_apps/airtime_analyzer/airtime_analyzer/filemover_analyzer.py index 0ba78041c..034951eae 100644 --- a/python_apps/airtime_analyzer/airtime_analyzer/filemover_analyzer.py +++ b/python_apps/airtime_analyzer/airtime_analyzer/filemover_analyzer.py @@ -1,8 +1,7 @@ +import errno import logging import os -import time import shutil -import os, errno import time import uuid diff --git a/python_apps/airtime_analyzer/airtime_analyzer/message_listener.py b/python_apps/airtime_analyzer/airtime_analyzer/message_listener.py index 083e0aa7d..f1c9d9d62 100644 --- a/python_apps/airtime_analyzer/airtime_analyzer/message_listener.py +++ b/python_apps/airtime_analyzer/airtime_analyzer/message_listener.py @@ -1,12 +1,14 @@ -import sys -import pika import json -import time -import select -import signal import logging import multiprocessing import queue +import select +import signal +import sys +import time + +import pika + from .analyzer_pipeline import AnalyzerPipeline from .status_reporter import StatusReporter diff --git a/python_apps/airtime_analyzer/airtime_analyzer/metadata_analyzer.py b/python_apps/airtime_analyzer/airtime_analyzer/metadata_analyzer.py index 1d819aa84..fccaf0f15 100644 --- a/python_apps/airtime_analyzer/airtime_analyzer/metadata_analyzer.py +++ b/python_apps/airtime_analyzer/airtime_analyzer/metadata_analyzer.py @@ -1,11 +1,13 @@ -import time import datetime -import mutagen -import magic -import wave +import hashlib import logging import os -import hashlib +import time +import wave + +import magic +import mutagen + from .analyzer import Analyzer diff --git a/python_apps/airtime_analyzer/airtime_analyzer/playability_analyzer.py b/python_apps/airtime_analyzer/airtime_analyzer/playability_analyzer.py index c790be866..5aa4da786 100644 --- a/python_apps/airtime_analyzer/airtime_analyzer/playability_analyzer.py +++ b/python_apps/airtime_analyzer/airtime_analyzer/playability_analyzer.py @@ -1,7 +1,8 @@ __author__ = "asantoni" -import subprocess import logging +import subprocess + from .analyzer import Analyzer diff --git a/python_apps/airtime_analyzer/airtime_analyzer/replaygain_analyzer.py b/python_apps/airtime_analyzer/airtime_analyzer/replaygain_analyzer.py index 71da68cd2..6f512bf0c 100644 --- a/python_apps/airtime_analyzer/airtime_analyzer/replaygain_analyzer.py +++ b/python_apps/airtime_analyzer/airtime_analyzer/replaygain_analyzer.py @@ -1,7 +1,8 @@ -import subprocess import logging -from .analyzer import Analyzer import re +import subprocess + +from .analyzer import Analyzer class ReplayGainAnalyzer(Analyzer): diff --git a/python_apps/airtime_analyzer/airtime_analyzer/status_reporter.py b/python_apps/airtime_analyzer/airtime_analyzer/status_reporter.py index 4e0d5bbf4..e55a1a064 100644 --- a/python_apps/airtime_analyzer/airtime_analyzer/status_reporter.py +++ b/python_apps/airtime_analyzer/airtime_analyzer/status_reporter.py @@ -1,14 +1,15 @@ -import requests +import collections import json import logging -import collections +import pickle import queue +import threading import time import traceback -import pickle -import threading from urllib.parse import urlparse +import requests + # Disable urllib3 warnings because these can cause a rare deadlock due to Python 2's crappy internal non-reentrant locking # around POSIX stuff. See SAAS-714. The hasattr() is for compatibility with older versions of requests. if hasattr(requests, "packages"): diff --git a/python_apps/airtime_analyzer/setup.py b/python_apps/airtime_analyzer/setup.py index 8ca460894..9ed0c0490 100644 --- a/python_apps/airtime_analyzer/setup.py +++ b/python_apps/airtime_analyzer/setup.py @@ -1,6 +1,7 @@ -from setuptools import setup import os +from setuptools import setup + # Change directory since setuptools uses relative paths os.chdir(os.path.dirname(os.path.realpath(__file__))) diff --git a/python_apps/airtime_analyzer/tests/airtime_analyzer_test.py b/python_apps/airtime_analyzer/tests/airtime_analyzer_test.py index 13092b3da..283122091 100644 --- a/python_apps/airtime_analyzer/tests/airtime_analyzer_test.py +++ b/python_apps/airtime_analyzer/tests/airtime_analyzer_test.py @@ -1,5 +1,5 @@ -from nose.tools import * import airtime_analyzer +from nose.tools import * def setup(): diff --git a/python_apps/airtime_analyzer/tests/analyzer_pipeline_test.py b/python_apps/airtime_analyzer/tests/analyzer_pipeline_test.py index 5948e75f8..98f95e460 100644 --- a/python_apps/airtime_analyzer/tests/analyzer_pipeline_test.py +++ b/python_apps/airtime_analyzer/tests/analyzer_pipeline_test.py @@ -1,11 +1,12 @@ -from nose.tools import * +import datetime +import multiprocessing import os import shutil -import multiprocessing from queue import Queue -import datetime -from airtime_analyzer.analyzer_pipeline import AnalyzerPipeline + from airtime_analyzer import config_file +from airtime_analyzer.analyzer_pipeline import AnalyzerPipeline +from nose.tools import * DEFAULT_AUDIO_FILE = u"tests/test_data/44100Hz-16bit-mono.mp3" DEFAULT_IMPORT_DEST = u"Test Artist/Test Album/44100Hz-16bit-mono.mp3" diff --git a/python_apps/airtime_analyzer/tests/analyzer_test.py b/python_apps/airtime_analyzer/tests/analyzer_test.py index 06745d77b..00bf57e51 100644 --- a/python_apps/airtime_analyzer/tests/analyzer_test.py +++ b/python_apps/airtime_analyzer/tests/analyzer_test.py @@ -1,5 +1,5 @@ -from nose.tools import * from airtime_analyzer.analyzer import Analyzer +from nose.tools import * def setup(): diff --git a/python_apps/airtime_analyzer/tests/cuepoint_analyzer_test.py b/python_apps/airtime_analyzer/tests/cuepoint_analyzer_test.py index 9f3a59330..df7685e3a 100644 --- a/python_apps/airtime_analyzer/tests/cuepoint_analyzer_test.py +++ b/python_apps/airtime_analyzer/tests/cuepoint_analyzer_test.py @@ -1,5 +1,5 @@ -from nose.tools import * from airtime_analyzer.cuepoint_analyzer import CuePointAnalyzer +from nose.tools import * def check_default_metadata(metadata): diff --git a/python_apps/airtime_analyzer/tests/filemover_analyzer_test.py b/python_apps/airtime_analyzer/tests/filemover_analyzer_test.py index 4c1294ae8..063da69f6 100644 --- a/python_apps/airtime_analyzer/tests/filemover_analyzer_test.py +++ b/python_apps/airtime_analyzer/tests/filemover_analyzer_test.py @@ -1,11 +1,12 @@ -from nose.tools import * +import multiprocessing import os import shutil -import multiprocessing import time -import mock from pprint import pprint + +import mock from airtime_analyzer.filemover_analyzer import FileMoverAnalyzer +from nose.tools import * DEFAULT_AUDIO_FILE = u"tests/test_data/44100Hz-16bit-mono.mp3" DEFAULT_IMPORT_DEST = u"Test Artist/Test Album/44100Hz-16bit-mono.mp3" diff --git a/python_apps/airtime_analyzer/tests/metadata_analyzer_test.py b/python_apps/airtime_analyzer/tests/metadata_analyzer_test.py index 658997213..c9d92667d 100644 --- a/python_apps/airtime_analyzer/tests/metadata_analyzer_test.py +++ b/python_apps/airtime_analyzer/tests/metadata_analyzer_test.py @@ -1,9 +1,11 @@ from __future__ import print_function + import datetime -import mutagen + import mock -from nose.tools import * +import mutagen from airtime_analyzer.metadata_analyzer import MetadataAnalyzer +from nose.tools import * def setup(): diff --git a/python_apps/airtime_analyzer/tests/playability_analyzer_test.py b/python_apps/airtime_analyzer/tests/playability_analyzer_test.py index 0b87d5d17..f0e4377d4 100644 --- a/python_apps/airtime_analyzer/tests/playability_analyzer_test.py +++ b/python_apps/airtime_analyzer/tests/playability_analyzer_test.py @@ -1,5 +1,5 @@ -from nose.tools import * from airtime_analyzer.playability_analyzer import * +from nose.tools import * def check_default_metadata(metadata): diff --git a/python_apps/airtime_analyzer/tests/replaygain_analyzer_test.py b/python_apps/airtime_analyzer/tests/replaygain_analyzer_test.py index f41301985..40b90d2dc 100644 --- a/python_apps/airtime_analyzer/tests/replaygain_analyzer_test.py +++ b/python_apps/airtime_analyzer/tests/replaygain_analyzer_test.py @@ -1,6 +1,7 @@ from __future__ import print_function -from nose.tools import * + from airtime_analyzer.replaygain_analyzer import ReplayGainAnalyzer +from nose.tools import * def check_default_metadata(metadata): diff --git a/python_apps/api_clients/api_clients/utils.py b/python_apps/api_clients/api_clients/utils.py index f297c87b4..0c491d36b 100644 --- a/python_apps/api_clients/api_clients/utils.py +++ b/python_apps/api_clients/api_clients/utils.py @@ -1,7 +1,8 @@ -import json import datetime +import json import logging import socket + import requests from requests.auth import AuthBase diff --git a/python_apps/api_clients/api_clients/version1.py b/python_apps/api_clients/api_clients/version1.py index 6a7d4735c..6d94f9329 100644 --- a/python_apps/api_clients/api_clients/version1.py +++ b/python_apps/api_clients/api_clients/version1.py @@ -6,17 +6,18 @@ # probably want to create a script on your server side to automatically # schedule a playlist one minute from the current time. ############################################################################### +import base64 +import json +import logging import sys import time -import urllib.parse -import requests -import logging -import json -import base64 import traceback +import urllib.parse + +import requests from configobj import ConfigObj -from .utils import RequestProvider, ApiRequest, get_protocol +from .utils import ApiRequest, RequestProvider, get_protocol AIRTIME_API_VERSION = "1.1" diff --git a/python_apps/api_clients/api_clients/version2.py b/python_apps/api_clients/api_clients/version2.py index e12131a2a..4f86f5709 100644 --- a/python_apps/api_clients/api_clients/version2.py +++ b/python_apps/api_clients/api_clients/version2.py @@ -7,10 +7,13 @@ # schedule a playlist one minute from the current time. ############################################################################### import datetime -from dateutil.parser import isoparse import logging +import sys + from configobj import ConfigObj -from .utils import RequestProvider, time_in_seconds, time_in_milliseconds, fromisoformat +from dateutil.parser import isoparse + +from .utils import RequestProvider, fromisoformat, time_in_milliseconds, time_in_seconds LIBRETIME_API_VERSION = "2.0" diff --git a/python_apps/api_clients/setup.py b/python_apps/api_clients/setup.py index b2957fb15..d09fa17b7 100644 --- a/python_apps/api_clients/setup.py +++ b/python_apps/api_clients/setup.py @@ -1,8 +1,10 @@ from __future__ import print_function -from setuptools import setup -from subprocess import call -import sys + import os +import sys +from subprocess import call + +from setuptools import setup script_path = os.path.dirname(os.path.realpath(__file__)) print(script_path) diff --git a/python_apps/api_clients/tests/apcurl_test.py b/python_apps/api_clients/tests/apcurl_test.py index 1b69f9b03..0c88bf695 100644 --- a/python_apps/api_clients/tests/apcurl_test.py +++ b/python_apps/api_clients/tests/apcurl_test.py @@ -1,5 +1,6 @@ import unittest -from api_clients.utils import ApcUrl, UrlBadParam, IncompleteUrl + +from api_clients.utils import ApcUrl, IncompleteUrl, UrlBadParam class TestApcUrl(unittest.TestCase): diff --git a/python_apps/api_clients/tests/apirequest_test.py b/python_apps/api_clients/tests/apirequest_test.py index 57daa1716..052b981f7 100644 --- a/python_apps/api_clients/tests/apirequest_test.py +++ b/python_apps/api_clients/tests/apirequest_test.py @@ -1,7 +1,8 @@ -import unittest import json -from mock import MagicMock, patch +import unittest + from api_clients.utils import ApcUrl, ApiRequest +from mock import MagicMock, patch class ResponseInfo: diff --git a/python_apps/api_clients/tests/requestprovider_test.py b/python_apps/api_clients/tests/requestprovider_test.py index e7b2d9792..3f0fc4fad 100644 --- a/python_apps/api_clients/tests/requestprovider_test.py +++ b/python_apps/api_clients/tests/requestprovider_test.py @@ -1,9 +1,10 @@ -import unittest import json -from mock import patch, MagicMock -from configobj import ConfigObj -from api_clients.version1 import api_config +import unittest + from api_clients.utils import RequestProvider +from api_clients.version1 import api_config +from configobj import ConfigObj +from mock import MagicMock, patch class TestRequestProvider(unittest.TestCase): diff --git a/python_apps/api_clients/tests/utils_test.py b/python_apps/api_clients/tests/utils_test.py index 17e7e359e..d74cf0ae8 100644 --- a/python_apps/api_clients/tests/utils_test.py +++ b/python_apps/api_clients/tests/utils_test.py @@ -1,6 +1,7 @@ -import datetime import configparser +import datetime import unittest + from api_clients import utils diff --git a/python_apps/icecast2/install/icecast2-install.py b/python_apps/icecast2/install/icecast2-install.py index 28428a96a..ad7f441e4 100644 --- a/python_apps/icecast2/install/icecast2-install.py +++ b/python_apps/icecast2/install/icecast2-install.py @@ -1,5 +1,5 @@ -import shutil import os +import shutil import sys if os.geteuid() != 0: diff --git a/python_apps/pypo/bin/pyponotify b/python_apps/pypo/bin/pyponotify index 6130b9200..9efd0738e 100755 --- a/python_apps/pypo/bin/pyponotify +++ b/python_apps/pypo/bin/pyponotify @@ -17,18 +17,18 @@ Main case: """ -from optparse import OptionParser -import sys -import logging.config import json - -# additional modules (should be checked) -from configobj import ConfigObj +import logging.config +import sys +from optparse import OptionParser # custom imports # from util import * from api_clients import version1 as api_client +# additional modules (should be checked) +from configobj import ConfigObj + LOG_LEVEL = logging.INFO LOG_PATH = "/var/log/airtime/pypo/notify.log" diff --git a/python_apps/pypo/liquidsoap/__main__.py b/python_apps/pypo/liquidsoap/__main__.py index af8145a79..e25e07aab 100644 --- a/python_apps/pypo/liquidsoap/__main__.py +++ b/python_apps/pypo/liquidsoap/__main__.py @@ -1,12 +1,14 @@ """ Runs Airtime liquidsoap """ import argparse -import os -from . import generate_liquidsoap_cfg import logging +import os import subprocess + from pypo import pure +from . import generate_liquidsoap_cfg + PYPO_HOME = "/var/tmp/airtime/pypo/" diff --git a/python_apps/pypo/liquidsoap/generate_liquidsoap_cfg.py b/python_apps/pypo/liquidsoap/generate_liquidsoap_cfg.py index 137dfa376..70426a03e 100644 --- a/python_apps/pypo/liquidsoap/generate_liquidsoap_cfg.py +++ b/python_apps/pypo/liquidsoap/generate_liquidsoap_cfg.py @@ -3,6 +3,7 @@ import os import sys import time import traceback + from api_clients.version1 import AirtimeApiClient diff --git a/python_apps/pypo/liquidsoap/liquidsoap_auth.py b/python_apps/pypo/liquidsoap/liquidsoap_auth.py index 5f9b57a0d..fc17a6132 100644 --- a/python_apps/pypo/liquidsoap/liquidsoap_auth.py +++ b/python_apps/pypo/liquidsoap/liquidsoap_auth.py @@ -1,6 +1,7 @@ -from api_clients import version1 as api_client import sys +from api_clients import version1 as api_client + api_clients = api_client.AirtimeApiClient() dj_type = sys.argv[1] diff --git a/python_apps/pypo/liquidsoap/liquidsoap_prepare_terminate.py b/python_apps/pypo/liquidsoap/liquidsoap_prepare_terminate.py index 86f8b10d6..f336ee166 100644 --- a/python_apps/pypo/liquidsoap/liquidsoap_prepare_terminate.py +++ b/python_apps/pypo/liquidsoap/liquidsoap_prepare_terminate.py @@ -1,6 +1,7 @@ -from configobj import ConfigObj -import telnetlib import sys +import telnetlib + +from configobj import ConfigObj try: config = ConfigObj("/etc/airtime/airtime.conf") diff --git a/python_apps/pypo/pypo/__main__.py b/python_apps/pypo/pypo/__main__.py index a3f27bcbc..1e318d7fa 100644 --- a/python_apps/pypo/pypo/__main__.py +++ b/python_apps/pypo/pypo/__main__.py @@ -3,6 +3,7 @@ Python part of radio playout (pypo) """ +import importlib import locale import logging import os @@ -11,19 +12,20 @@ import signal import sys import telnetlib import time +from datetime import datetime +from optparse import OptionParser from api_clients import version1 as api_client from configobj import ConfigObj -from datetime import datetime -from optparse import OptionParser -import importlib try: from queue import Queue except ImportError: # Python 2.7.5 (CentOS 7) from queue import Queue + from threading import Lock +from . import pure from .listenerstat import ListenerStat from .pypofetch import PypoFetch from .pypofile import PypoFile @@ -32,8 +34,6 @@ from .pypomessagehandler import PypoMessageHandler from .pypopush import PypoPush from .recorder import Recorder from .timeout import ls_timeout -from . import pure - LOG_PATH = "/var/log/airtime/pypo/pypo.log" LOG_LEVEL = logging.INFO diff --git a/python_apps/pypo/pypo/listenerstat.py b/python_apps/pypo/pypo/listenerstat.py index b10de33c0..fdff90caf 100644 --- a/python_apps/pypo/pypo/listenerstat.py +++ b/python_apps/pypo/pypo/listenerstat.py @@ -1,12 +1,14 @@ -from threading import Thread -import urllib.request, urllib.error, urllib.parse -import defusedxml.minidom import base64 -from datetime import datetime -import traceback import logging import time +import traceback +import urllib.error +import urllib.parse +import urllib.request +from datetime import datetime +from threading import Thread +import defusedxml.minidom from api_clients import version1 as api_client diff --git a/python_apps/pypo/pypo/pure.py b/python_apps/pypo/pypo/pure.py index f0ff9843e..7acbc5400 100644 --- a/python_apps/pypo/pypo/pure.py +++ b/python_apps/pypo/pypo/pure.py @@ -1,4 +1,5 @@ import re + from packaging.version import Version, parse diff --git a/python_apps/pypo/pypo/pypofetch.py b/python_apps/pypo/pypo/pypofetch.py index a0c857bdb..dc2cb5c85 100644 --- a/python_apps/pypo/pypo/pypofetch.py +++ b/python_apps/pypo/pypo/pypofetch.py @@ -1,21 +1,22 @@ -import os -import sys -import time -import logging.config -import json -import telnetlib import copy -import subprocess -import signal -from datetime import datetime +import json +import logging.config import mimetypes -from . import pure +import os +import signal +import subprocess +import sys +import telnetlib +import time +from datetime import datetime from queue import Empty +from subprocess import PIPE, Popen from threading import Thread, Timer -from subprocess import Popen, PIPE from api_clients import version1 as v1_api_client from api_clients import version2 as api_client + +from . import pure from .timeout import ls_timeout diff --git a/python_apps/pypo/pypo/pypofile.py b/python_apps/pypo/pypo/pypofile.py index a835e4635..f7d5a2cab 100644 --- a/python_apps/pypo/pypo/pypofile.py +++ b/python_apps/pypo/pypo/pypofile.py @@ -1,20 +1,20 @@ -from threading import Thread -from queue import Empty -from configparser import NoOptionError - +import configparser +import hashlib +import json import logging +import os import shutil +import stat +import sys import time import traceback -import os -import sys -import stat +from configparser import NoOptionError +from queue import Empty +from threading import Thread + import requests -import configparser -import json -import hashlib -from requests.exceptions import ConnectionError, HTTPError, Timeout from api_clients import version2 as api_client +from requests.exceptions import ConnectionError, HTTPError, Timeout CONFIG_PATH = "/etc/airtime/airtime.conf" diff --git a/python_apps/pypo/pypo/pypoliqqueue.py b/python_apps/pypo/pypo/pypoliqqueue.py index 6972c5376..607455061 100644 --- a/python_apps/pypo/pypo/pypoliqqueue.py +++ b/python_apps/pypo/pypo/pypoliqqueue.py @@ -1,15 +1,11 @@ -from threading import Thread -from collections import deque -from datetime import datetime - -import traceback +import signal import sys import time - - +import traceback +from collections import deque +from datetime import datetime from queue import Empty - -import signal +from threading import Thread def keyboardInterruptHandler(signum, frame): diff --git a/python_apps/pypo/pypo/pypoliquidsoap.py b/python_apps/pypo/pypo/pypoliquidsoap.py index 03af2a89c..d48b29836 100644 --- a/python_apps/pypo/pypo/pypoliquidsoap.py +++ b/python_apps/pypo/pypo/pypoliquidsoap.py @@ -1,11 +1,9 @@ -from .pypofetch import PypoFetch -from .telnetliquidsoap import TelnetLiquidsoap - -from datetime import datetime -from datetime import timedelta +import time +from datetime import datetime, timedelta from . import eventtypes -import time +from .pypofetch import PypoFetch +from .telnetliquidsoap import TelnetLiquidsoap class PypoLiquidsoap: diff --git a/python_apps/pypo/pypo/pypomessagehandler.py b/python_apps/pypo/pypo/pypomessagehandler.py index 78718109a..be7f630fa 100644 --- a/python_apps/pypo/pypo/pypomessagehandler.py +++ b/python_apps/pypo/pypo/pypomessagehandler.py @@ -1,18 +1,18 @@ +import json import logging -import traceback import os import sys -from threading import Thread import time +import traceback +from threading import Thread + +from amqp.exceptions import AMQPError # For RabbitMQ from kombu.connection import Connection from kombu.messaging import Exchange, Queue -from kombu.simple import SimpleQueue -from amqp.exceptions import AMQPError -import json - from kombu.mixins import ConsumerMixin +from kombu.simple import SimpleQueue logging.captureWarnings(True) diff --git a/python_apps/pypo/pypo/pypopush.py b/python_apps/pypo/pypo/pypopush.py index 86e3177dc..bdc084f66 100644 --- a/python_apps/pypo/pypo/pypopush.py +++ b/python_apps/pypo/pypo/pypopush.py @@ -1,24 +1,20 @@ -from datetime import datetime -from datetime import timedelta -from configobj import ConfigObj - -import sys -import time -import logging.config -import telnetlib import calendar +import logging.config import math -import traceback import os - -from .pypofetch import PypoFetch -from .pypoliqqueue import PypoLiqQueue - +import sys +import telnetlib +import time +import traceback +from datetime import datetime, timedelta from queue import Empty, Queue - from threading import Thread from api_clients import version1 as api_client +from configobj import ConfigObj + +from .pypofetch import PypoFetch +from .pypoliqqueue import PypoLiqQueue from .timeout import ls_timeout logging.captureWarnings(True) diff --git a/python_apps/pypo/pypo/recorder.py b/python_apps/pypo/pypo/recorder.py index 80ede3be9..c785fef23 100644 --- a/python_apps/pypo/pypo/recorder.py +++ b/python_apps/pypo/pypo/recorder.py @@ -1,25 +1,21 @@ -import logging -import json -import time import datetime -import os -import sys -import pytz -import signal +import json +import logging import math -import traceback +import os import re - -from configobj import ConfigObj - -from subprocess import Popen -from subprocess import PIPE +import signal +import sys +import time +import traceback +from subprocess import PIPE, Popen from threading import Thread import mutagen - +import pytz from api_clients import version1 as v1_api_client from api_clients import version2 as api_client +from configobj import ConfigObj def api_client(logger): diff --git a/python_apps/pypo/pypo/telnetliquidsoap.py b/python_apps/pypo/pypo/telnetliquidsoap.py index 7d2a577ef..4fad0f82c 100644 --- a/python_apps/pypo/pypo/telnetliquidsoap.py +++ b/python_apps/pypo/pypo/telnetliquidsoap.py @@ -1,7 +1,8 @@ import telnetlib -from .timeout import ls_timeout import traceback +from .timeout import ls_timeout + def create_liquidsoap_annotation(media): # We need liq_start_next value in the annotate. That is the value that controls overlap duration of crossfade. diff --git a/python_apps/pypo/pypo/testpypoliqqueue.py b/python_apps/pypo/pypo/testpypoliqqueue.py index 94e224fcb..d84bd1dea 100644 --- a/python_apps/pypo/pypo/testpypoliqqueue.py +++ b/python_apps/pypo/pypo/testpypoliqqueue.py @@ -1,15 +1,12 @@ -from .pypoliqqueue import PypoLiqQueue -from .telnetliquidsoap import DummyTelnetLiquidsoap, TelnetLiquidsoap - - +import logging +import signal +import sys +from datetime import datetime, timedelta from queue import Queue from threading import Lock -import sys -import signal -import logging -from datetime import datetime -from datetime import timedelta +from .pypoliqqueue import PypoLiqQueue +from .telnetliquidsoap import DummyTelnetLiquidsoap, TelnetLiquidsoap def keyboardInterruptHandler(signum, frame): diff --git a/python_apps/pypo/pypo/timeout.py b/python_apps/pypo/pypo/timeout.py index d5892ff9f..3c62773de 100644 --- a/python_apps/pypo/pypo/timeout.py +++ b/python_apps/pypo/pypo/timeout.py @@ -1,4 +1,5 @@ import threading + from . import pypofetch diff --git a/python_apps/pypo/setup.py b/python_apps/pypo/setup.py index 069cefe0f..44a63bc2d 100644 --- a/python_apps/pypo/setup.py +++ b/python_apps/pypo/setup.py @@ -1,8 +1,10 @@ from __future__ import print_function -from setuptools import setup -from subprocess import call -import sys + import os +import sys +from subprocess import call + +from setuptools import setup script_path = os.path.dirname(os.path.realpath(__file__)) print(script_path) diff --git a/utils/airtime-import/airtime-import b/utils/airtime-import/airtime-import index b66355c78..c8773c18e 100755 --- a/utils/airtime-import/airtime-import +++ b/utils/airtime-import/airtime-import @@ -1,12 +1,13 @@ #!/usr/bin/python2 import sys -import os -import logging -from configobj import ConfigObj -from optparse import OptionParser, OptionValueError -from api_clients import api_client as apc import json +import logging +import os import shutil +from optparse import OptionParser, OptionValueError + import commands +from api_clients import api_client as apc +from configobj import ConfigObj # sys.path.append('/usr/lib/airtime/media-monitor/mm2/') from mm2.media.monitor.pure import is_file_supported diff --git a/utils/airtime-silan b/utils/airtime-silan index 26ad6fdc6..124b9c920 100755 --- a/utils/airtime-silan +++ b/utils/airtime-silan @@ -1,14 +1,14 @@ #!/usr/bin/python -from configobj import ConfigObj -from api_clients import api_client as apc - -import logging import json +import logging import os -import sys import subprocess +import sys import traceback +from api_clients import api_client as apc +from configobj import ConfigObj + # create logger logger = logging.getLogger() diff --git a/utils/airtime-test-soundcard.py b/utils/airtime-test-soundcard.py index 17b5b0ad3..d9345b107 100644 --- a/utils/airtime-test-soundcard.py +++ b/utils/airtime-test-soundcard.py @@ -1,11 +1,10 @@ -import subprocess +import getopt +import grp import os import pwd -import grp +import subprocess import sys -import getopt - """ we need to run the program as non-root because Liquidsoap refuses to run as root. It is possible to run change the effective user id (seteuid) before calling Liquidsoap diff --git a/utils/airtime-test-stream.py b/utils/airtime-test-stream.py index d8f7b226f..0bf6a25ce 100644 --- a/utils/airtime-test-stream.py +++ b/utils/airtime-test-stream.py @@ -1,11 +1,10 @@ -import subprocess +import getopt +import grp import os import pwd -import grp +import subprocess import sys -import getopt - """ we need to run the program as non-root because Liquidsoap refuses to run as root. It is possible to run change the effective user id (seteuid) before calling Liquidsoap diff --git a/utils/upgrade.py b/utils/upgrade.py index f030af01b..56a501b07 100755 --- a/utils/upgrade.py +++ b/utils/upgrade.py @@ -1,10 +1,11 @@ #!/usr/bin/python -import ConfigParser import argparse +import sys + +import ConfigParser import requests from urlparse import urlparse -import sys CONFIG_PATH = "/etc/airtime/airtime.conf" GENERAL_CONFIG_SECTION = "general"