diff --git a/contrib/heartbeat-monitor/PyHeartBeat.py b/contrib/heartbeat-monitor/PyHeartBeat.py index 0115d99bcf4986c52ca651fe56b945b4b6268bbb..b3071f7bd5ed634f3ed85f15e7f44dd28df21802 100755 --- a/contrib/heartbeat-monitor/PyHeartBeat.py +++ b/contrib/heartbeat-monitor/PyHeartBeat.py @@ -53,9 +53,8 @@ https://www.oreilly.com/library/view/python-cookbook/0596001673/ch10s13.html import os import socket import sys -from threading import Lock, Thread, Event -from time import time, ctime, sleep - +from threading import Event, Lock, Thread +from time import ctime, sleep, time DEFAULT_HEARTBEAT_PORT = 43334 DEFAULT_WAIT_PERIOD = 10 diff --git a/run.py b/run.py index 9b12ec2c0084494388f850c64a1b3591d9d1a6db..73fd70b6d1c9bb50ffc81e106374a011fad0ea76 100755 --- a/run.py +++ b/run.py @@ -21,21 +21,20 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. +import logging import os -import sys import signal -import logging +import sys import threading -from flask import Flask -from flask_sqlalchemy import SQLAlchemy +from flask import Flask +from flask_sqlalchemy import SQLAlchemy -from src.base.logger import AuraLogger from src.base.config import AuraConfig -from src.base.utils import SimpleUtil as SU +from src.base.logger import AuraLogger +from src.base.utils import SimpleUtil as SU from src.scheduling.models import DB - config = AuraConfig() def configure_flask(): app.config["SQLALCHEMY_DATABASE_URI"] = config.get_database_uri() diff --git a/src/base/config.py b/src/base/config.py index b16f29afc48de6d9aa46d625fe5407597b25ba27..b7845da4ed4f9207159fefd1b2ee8d987913751e 100644 --- a/src/base/config.py +++ b/src/base/config.py @@ -17,13 +17,12 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. +import logging import os import os.path import sys -import logging - -from pathlib import Path from configparser import ConfigParser +from pathlib import Path class AuraConfig: diff --git a/src/base/utils.py b/src/base/utils.py index 1407433748448503302c4f37636b78bd2a06618b..3636dc5d07c7593fcd39724234adf278d79e99ad 100644 --- a/src/base/utils.py +++ b/src/base/utils.py @@ -19,7 +19,6 @@ import datetime import time - from enum import Enum diff --git a/src/client/client.py b/src/client/client.py index 27fa97eb9560582055b80e892c6f858328d71b30..2fa2c2ae68ff0141393a3e25a7e04c71f91760d6 100644 --- a/src/client/client.py +++ b/src/client/client.py @@ -17,11 +17,10 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. -import socket -import urllib.parse import configparser import logging - +import socket +import urllib.parse from multiprocessing import Lock from src.base.exceptions import LQConnectionError diff --git a/src/client/connector.py b/src/client/connector.py index ce4fb6603af04c96e8659570ce35d0e1d62a8f12..96b0b8c6e03c243488aa7467cd8fa6cd72196e0e 100644 --- a/src/client/connector.py +++ b/src/client/connector.py @@ -21,8 +21,9 @@ import logging import time from src.base.config import AuraConfig -from src.base.utils import TerminalColors, SimpleUtil as SU from src.base.exceptions import LQConnectionError +from src.base.utils import SimpleUtil as SU +from src.base.utils import TerminalColors from src.client.playerclient import LiquidSoapPlayerClient diff --git a/src/control.py b/src/control.py index 90d03c80bc0e820cbf9c824d0865d9a80a01667e..b88f542709e8a35c4c71de03f6bf7566bd1ea2e4 100644 --- a/src/control.py +++ b/src/control.py @@ -17,14 +17,14 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. +import json import logging import socket import time -import json -import requests - -from threading import Thread, Timer, Lock from datetime import datetime, timedelta +from threading import Lock, Thread, Timer + +import requests from http_parser.http import HttpStream from http_parser.reader import SocketReader diff --git a/src/engine.py b/src/engine.py index 0ebdfdb26a22436c6715a1b419502366bde4e723..654f746d3b59989f2fd032fdf05a4f08842c4737 100644 --- a/src/engine.py +++ b/src/engine.py @@ -17,38 +17,36 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. -import time import logging - +import time from collections import namedtuple from contextlib import suppress from threading import Thread import meta - from src.base.config import AuraConfig -from src.base.utils import SimpleUtil as SU from src.base.exceptions import ( - LQConnectionError, InvalidChannelException, - LQStreamException, LoadSourceException, + LQConnectionError, + LQStreamException, ) -from src.resources import ResourceClass, ResourceUtil +from src.base.utils import SimpleUtil as SU from src.channels import ( Channel, + ChannelResolver, + ChannelRouter, ChannelType, - TransitionType, - LiquidsoapResponse, EntryPlayState, + LiquidsoapResponse, ResourceType, - ChannelRouter, - ChannelResolver, + TransitionType, ) -from src.events import EngineEventDispatcher +from src.client.connector import PlayerConnector from src.control import EngineControlInterface +from src.events import EngineEventDispatcher from src.mixer import Mixer, MixerType -from src.client.connector import PlayerConnector +from src.resources import ResourceClass, ResourceUtil class Engine: diff --git a/src/events.py b/src/events.py index 6d2a4e90ac08c38288d3276fa0c8c48ba00c48d9..6df21245ebb23f9c4b9427946fe41a3c96f29ef6 100644 --- a/src/events.py +++ b/src/events.py @@ -17,9 +17,8 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. -import logging import datetime - +import logging from threading import Thread from src.base.config import AuraConfig diff --git a/src/mixer.py b/src/mixer.py index 44d6b5df2f083eaf6c89aeecf7844fe09c3aa70a..7aa4613027ae927b50cb3df449c78f30630e84b0 100644 --- a/src/mixer.py +++ b/src/mixer.py @@ -19,7 +19,6 @@ import logging import time - from enum import Enum from src.base.exceptions import LQConnectionError diff --git a/src/plugins/mailer.py b/src/plugins/mailer.py index ff0f06591e2abb70c6402b04b1f0c572f5ad2b9d..f34f2583db598bef4eabac225b4954d4cdce751a 100644 --- a/src/plugins/mailer.py +++ b/src/plugins/mailer.py @@ -19,7 +19,6 @@ import logging import smtplib - from email.message import EmailMessage from src.base.config import AuraConfig diff --git a/src/plugins/monitor.py b/src/plugins/monitor.py index 17d7e12896e524336ec3a895957aa94763b4b871..36a9484b4a475fde82618697cb47ca4d542e067f 100644 --- a/src/plugins/monitor.py +++ b/src/plugins/monitor.py @@ -17,24 +17,22 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. -import os import datetime -import urllib -import logging import json -import threading +import logging +import os import platform -import requests - +import threading +import urllib from enum import Enum -from socket import socket, AF_INET, SOCK_DGRAM, SOL_SOCKET, SO_BROADCAST +from socket import AF_INET, SO_BROADCAST, SOCK_DGRAM, SOL_SOCKET, socket -import meta +import requests +import meta from src.base.config import AuraConfig from src.base.utils import SimpleUtil as SU - # Exceptions diff --git a/src/plugins/trackservice.py b/src/plugins/trackservice.py index ee6f9c84435e50b1e35e632a056a7ac5fe2e0f71..1f33e66ba8e10d583418a88fa3339e9946303974 100644 --- a/src/plugins/trackservice.py +++ b/src/plugins/trackservice.py @@ -19,14 +19,13 @@ import json import logging -import requests - from collections import deque +import requests + from src.base.config import AuraConfig from src.base.utils import SimpleUtil as SU -from src.resources import ResourceClass -from src.resources import ResourceUtil +from src.resources import ResourceClass, ResourceUtil class TrackServiceHandler: diff --git a/src/scheduling/api.py b/src/scheduling/api.py index 3eb487e826c8f2bedd82be37f3d76f74b99e0b88..fe1abcdfa12e1c0bcd23c886ee830e0214906cda 100644 --- a/src/scheduling/api.py +++ b/src/scheduling/api.py @@ -18,10 +18,10 @@ import logging -import requests import queue import threading +import requests from src.base.utils import SimpleUtil as SU from src.scheduling.utils import TimeslotFilter diff --git a/src/scheduling/models.py b/src/scheduling/models.py index 2f0c43e2883ebe740b45037400b7d6c2c2a1ca81..c81f708fb773a05715fd09c3016f55e097c0d50e 100644 --- a/src/scheduling/models.py +++ b/src/scheduling/models.py @@ -17,26 +17,25 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. +import datetime +import logging import sys import time -import logging -import datetime import sqlalchemy as sa - from sqlalchemy import ( BigInteger, Boolean, Column, + ColumnDefault, DateTime, + ForeignKey, Integer, String, - ForeignKey, - ColumnDefault, ) -from sqlalchemy.orm import relationship from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.ext.hybrid import hybrid_property +from sqlalchemy.orm import relationship from src.base.config import AuraConfig from src.base.utils import SimpleUtil diff --git a/src/scheduling/programme.py b/src/scheduling/programme.py index 2c47e4eb5e81369f4e7b6ad27167628086d2f65c..09e10fc529f67368ccb9861a2ddb7bae7670ffed 100644 --- a/src/scheduling/programme.py +++ b/src/scheduling/programme.py @@ -18,21 +18,19 @@ import logging - from datetime import datetime - from src.base.config import AuraConfig from src.base.utils import SimpleUtil as SU from src.engine import Engine -from src.scheduling.utils import M3UPlaylistProcessor +from src.scheduling.api import ApiFetcher from src.scheduling.models import ( - Timeslot, Playlist, PlaylistEntry, PlaylistEntryMetaData, + Timeslot, ) -from src.scheduling.api import ApiFetcher +from src.scheduling.utils import M3UPlaylistProcessor class ProgrammeService: diff --git a/src/scheduling/scheduler.py b/src/scheduling/scheduler.py index 7fc59bfef027324409f4106b1e88b960fcd50406..2d3f5b27b1d0bd8f9bf5115467747c97f63e63f8 100644 --- a/src/scheduling/scheduler.py +++ b/src/scheduling/scheduler.py @@ -21,18 +21,16 @@ import logging import threading import time - from src.base.config import AuraConfig +from src.base.exceptions import LoadSourceException, NoActiveTimeslotException from src.base.utils import SimpleUtil as SU -from src.scheduling.models import AuraDatabaseModel -from src.base.exceptions import NoActiveTimeslotException, LoadSourceException +from src.channels import ChannelType, EntryPlayState, TransitionType from src.control import EngineExecutor from src.engine import Engine -from src.channels import ChannelType, TransitionType, EntryPlayState from src.resources import ResourceClass, ResourceUtil - -from src.scheduling.utils import TimeslotRenderer +from src.scheduling.models import AuraDatabaseModel from src.scheduling.programme import ProgrammeService +from src.scheduling.utils import TimeslotRenderer class AuraScheduler(threading.Thread): diff --git a/src/scheduling/utils.py b/src/scheduling/utils.py index e66241fba3a6817e2e5d62c5546454253a09438f..152bcc49750efcd8ff056db1ae396613c610124a 100644 --- a/src/scheduling/utils.py +++ b/src/scheduling/utils.py @@ -18,12 +18,11 @@ import logging - -from enum import Enum from datetime import datetime +from enum import Enum -from src.base.utils import SimpleUtil as SU from src.base.config import AuraConfig +from src.base.utils import SimpleUtil as SU class EntryQueueState(Enum): diff --git a/tests/test_config.py b/tests/test_config.py index 678e6b52afbd141faaa6896c4aa03c64c444e547..fbf3c564d95105d262d1f05338e1c85f84b491a2 100644 --- a/tests/test_config.py +++ b/tests/test_config.py @@ -19,6 +19,7 @@ import os import unittest + import validators from src.base.config import AuraConfig diff --git a/tests/test_engine_executor.py b/tests/test_engine_executor.py index 2ce535d64e0af128b7e67e231f66a5cb09eaa6c9..b771e0237d8e6dc8aad6251877a537b7ff621b5f 100644 --- a/tests/test_engine_executor.py +++ b/tests/test_engine_executor.py @@ -17,8 +17,8 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. -import unittest import time +import unittest from src.base.utils import SimpleUtil as SU from src.control import EngineExecutor diff --git a/tests/test_logger.py b/tests/test_logger.py index dc3e4d29889d3ce18895f1e5dc2de73ec37d2cfc..c7ef59569f08aba7520dc708bbb464998cade528 100644 --- a/tests/test_logger.py +++ b/tests/test_logger.py @@ -19,8 +19,8 @@ import unittest -from src.base.logger import AuraLogger from src.base.config import AuraConfig +from src.base.logger import AuraLogger class TestLogger(unittest.TestCase):