Add isort pre-commit hook

Sort import statement in python files

See https://github.com/PyCQA/isort
This commit is contained in:
jo 2021-06-03 15:20:39 +02:00
parent b75d9e5c59
commit 01fbd1e8b9
75 changed files with 282 additions and 232 deletions

View File

@ -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:

View File

@ -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):

View File

@ -1,4 +1,5 @@
from django.db import models
from .files import File
from .smart_blocks import SmartBlock

View File

@ -1,4 +1,5 @@
from django.db import models
from .files import File

View File

@ -1,4 +1,5 @@
from django.db import models
from .authentication import User
from .files import File

View File

@ -1,4 +1,5 @@
from django.db import models
from .files import File

View File

@ -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):

View File

@ -1,4 +1,5 @@
from django.db import models
from .files import File

View File

@ -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

View File

@ -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__)

View File

@ -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 = {

View File

@ -1,5 +1,6 @@
from django.contrib.auth import get_user_model
from rest_framework import serializers
from .models import *

View File

@ -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(

View File

@ -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):

View File

@ -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):

View File

@ -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):

View File

@ -1,7 +1,7 @@
import configparser
import sys
import string
import random
import string
import sys
def read_config_file(config_path):

View File

@ -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):

View File

@ -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)

View File

@ -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

View File

@ -1,4 +1,5 @@
import os
from configobj import ConfigObj
from kombu import Exchange, Queue

View File

@ -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__)

View File

@ -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__))

View File

@ -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:

View File

@ -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:

View File

@ -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")

View File

@ -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

View File

@ -1,8 +1,7 @@
import errno
import logging
import os
import time
import shutil
import os, errno
import time
import uuid

View File

@ -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

View File

@ -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

View File

@ -1,7 +1,8 @@
__author__ = "asantoni"
import subprocess
import logging
import subprocess
from .analyzer import Analyzer

View File

@ -1,7 +1,8 @@
import subprocess
import logging
from .analyzer import Analyzer
import re
import subprocess
from .analyzer import Analyzer
class ReplayGainAnalyzer(Analyzer):

View File

@ -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"):

View File

@ -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__)))

View File

@ -1,5 +1,5 @@
from nose.tools import *
import airtime_analyzer
from nose.tools import *
def setup():

View File

@ -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"

View File

@ -1,5 +1,5 @@
from nose.tools import *
from airtime_analyzer.analyzer import Analyzer
from nose.tools import *
def setup():

View File

@ -1,5 +1,5 @@
from nose.tools import *
from airtime_analyzer.cuepoint_analyzer import CuePointAnalyzer
from nose.tools import *
def check_default_metadata(metadata):

View File

@ -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"

View File

@ -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():

View File

@ -1,5 +1,5 @@
from nose.tools import *
from airtime_analyzer.playability_analyzer import *
from nose.tools import *
def check_default_metadata(metadata):

View File

@ -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):

View File

@ -1,7 +1,8 @@
import json
import datetime
import json
import logging
import socket
import requests
from requests.auth import AuthBase

View File

@ -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"

View File

@ -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"

View File

@ -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)

View File

@ -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):

View File

@ -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:

View File

@ -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):

View File

@ -1,6 +1,7 @@
import datetime
import configparser
import datetime
import unittest
from api_clients import utils

View File

@ -1,5 +1,5 @@
import shutil
import os
import shutil
import sys
if os.geteuid() != 0:

View File

@ -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"

View File

@ -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/"

View File

@ -3,6 +3,7 @@ import os
import sys
import time
import traceback
from api_clients.version1 import AirtimeApiClient

View File

@ -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]

View File

@ -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")

View File

@ -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

View File

@ -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

View File

@ -1,4 +1,5 @@
import re
from packaging.version import Version, parse

View File

@ -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

View File

@ -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"

View File

@ -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):

View File

@ -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:

View File

@ -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)

View File

@ -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)

View File

@ -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):

View File

@ -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.

View File

@ -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):

View File

@ -1,4 +1,5 @@
import threading
from . import pypofetch

View File

@ -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)

View File

@ -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

View File

@ -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()

View File

@ -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

View File

@ -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

View File

@ -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"