feat: replace loguru with logging

This commit is contained in:
jo 2023-02-26 01:27:00 +01:00 committed by Kyle Robbertze
parent cced09f1ac
commit c6940db289
34 changed files with 138 additions and 245 deletions

View file

@ -1,3 +1,4 @@
import logging
from dataclasses import dataclass
from datetime import datetime
from threading import Thread
@ -6,7 +7,6 @@ from typing import Any, Dict, List, Optional, Union
from libretime_api_client.v1 import ApiClient as LegacyClient
from libretime_shared.config import IcecastOutput, ShoutcastOutput
from loguru import logger
from lxml import etree
from requests import Session
from requests.exceptions import ( # pylint: disable=redefined-builtin
@ -17,6 +17,8 @@ from requests.exceptions import ( # pylint: disable=redefined-builtin
from ..config import Config
logger = logging.getLogger(__name__)
AnyOutput = Union[IcecastOutput, ShoutcastOutput]

View file

@ -1,15 +1,16 @@
import logging
from pathlib import Path
from subprocess import CalledProcessError, check_output, run
from time import sleep
from typing import Any, Literal, Optional, Tuple
from loguru import logger
from ..models import MessageFormatKind
from ..utils import quote
from ..version import parse_liquidsoap_version
from ._connection import LiquidsoapConnection
logger = logging.getLogger(__name__)
class LiquidsoapClientError(Exception):
"""

View file

@ -1,9 +1,10 @@
import logging
from pathlib import Path
from socket import AF_UNIX, SOCK_STREAM, create_connection, socket
from threading import Lock
from typing import Optional
from loguru import logger
logger = logging.getLogger(__name__)
class InvalidConnection(Exception):
@ -61,7 +62,7 @@ class LiquidsoapConnection:
self.close()
def connect(self):
logger.trace("trying to acquire lock")
logger.debug("trying to acquire lock")
# pylint: disable=consider-using-with
self._lock.acquire()
logger.debug(f"connecting to {self.address()}")

View file

@ -1,3 +1,4 @@
import logging
import os
from pathlib import Path
from typing import Optional
@ -6,14 +7,15 @@ import click
from libretime_api_client.v2 import ApiClient
from libretime_shared.cli import cli_config_options, cli_logging_options
from libretime_shared.config import DEFAULT_ENV_PREFIX
from libretime_shared.logging import level_from_name, setup_logger
from loguru import logger
from libretime_shared.logging import setup_logger
from ..config import Config
from .entrypoint import generate_entrypoint
from .models import Info, StreamPreferences
from .version import get_liquidsoap_version
logger = logging.getLogger(__name__)
here = Path(__file__).parent
@ -24,7 +26,7 @@ def cli(log_level: str, log_filepath: Optional[Path], config_filepath: Optional[
"""
Run liquidsoap.
"""
logger_level, _ = setup_logger(level_from_name(log_level), log_filepath)
setup_logger(log_level, log_filepath)
config = Config(config_filepath)
api_client = ApiClient(
@ -53,7 +55,7 @@ def cli(log_level: str, log_filepath: Optional[Path], config_filepath: Optional[
"--verbose",
str(entrypoint_filepath),
]
if logger_level.is_debug():
if log_level == "debug":
exec_args.append("--debug")
logger.debug(f"liquidsoap {version} using script: {entrypoint_filepath}")

View file

@ -2,6 +2,7 @@
Python part of radio playout (pypo)
"""
import logging
import sys
import time
from datetime import datetime
@ -14,8 +15,7 @@ from libretime_api_client.v1 import ApiClient as LegacyClient
from libretime_api_client.v2 import ApiClient
from libretime_shared.cli import cli_config_options, cli_logging_options
from libretime_shared.config import DEFAULT_ENV_PREFIX
from libretime_shared.logging import level_from_name, setup_logger
from loguru import logger
from libretime_shared.logging import setup_logger
from .config import CACHE_DIR, RECORD_DIR, Config
from .history.stats import StatsCollectorThread
@ -28,6 +28,8 @@ from .player.liquidsoap import PypoLiquidsoap
from .player.push import PypoPush
from .recorder import Recorder
logger = logging.getLogger(__name__)
@click.command(context_settings={"auto_envvar_prefix": DEFAULT_ENV_PREFIX})
@cli_logging_options()
@ -36,7 +38,7 @@ def cli(log_level: str, log_filepath: Optional[Path], config_filepath: Optional[
"""
Run playout.
"""
setup_logger(level_from_name(log_level), log_filepath)
setup_logger(log_level, log_filepath)
config = Config(config_filepath)
try:

View file

@ -1,4 +1,5 @@
import json
import logging
from queue import Queue as ThreadQueue
from signal import SIGTERM, signal
from time import sleep
@ -8,10 +9,11 @@ from typing import Any, Dict
from kombu.connection import Connection
from kombu.messaging import Exchange, Queue
from kombu.mixins import ConsumerMixin
from loguru import logger
from .config import Config
logger = logging.getLogger(__name__)
class MessageHandler(ConsumerMixin):
def __init__(

View file

@ -12,6 +12,7 @@ Main case:
media id from it, and then calls back to the API to tell about it about it.
"""
import logging
from pathlib import Path
from typing import Optional
@ -19,12 +20,13 @@ import click
from libretime_api_client.v1 import ApiClient as LegacyClient
from libretime_shared.cli import cli_logging_options
from libretime_shared.config import DEFAULT_ENV_PREFIX
from libretime_shared.logging import level_from_name, setup_logger
from loguru import logger
from libretime_shared.logging import setup_logger
logger = logging.getLogger(__name__)
def api_client():
return LegacyClient(logger=logger)
return LegacyClient()
@click.group(context_settings={"auto_envvar_prefix": DEFAULT_ENV_PREFIX})
@ -33,7 +35,7 @@ def cli(log_level: str, log_filepath: Optional[Path]):
"""
A gateway between Liquidsoap and the API.
"""
setup_logger(level_from_name(log_level), log_filepath, rotate=False)
setup_logger(log_level, log_filepath, rotate=False)
@cli.command()

View file

@ -1,5 +1,6 @@
import copy
import json
import logging
import mimetypes
import os
import time
@ -11,7 +12,6 @@ from typing import Any, Dict
from libretime_api_client.v1 import ApiClient as LegacyClient
from libretime_api_client.v2 import ApiClient
from loguru import logger
from requests import RequestException
from ..config import CACHE_DIR, POLL_INTERVAL, Config
@ -21,6 +21,8 @@ from ..timeout import ls_timeout
from .liquidsoap import PypoLiquidsoap
from .schedule import get_schedule
logger = logging.getLogger(__name__)
class PypoFetch(Thread):
name = "fetch"

View file

@ -1,4 +1,5 @@
import hashlib
import logging
import os
import stat
import time
@ -7,9 +8,10 @@ from threading import Thread
from typing import Any, Dict
from libretime_api_client.v2 import ApiClient
from loguru import logger
from requests.exceptions import ConnectionError, HTTPError, Timeout
logger = logging.getLogger(__name__)
class PypoFile(Thread):
name = "file"

View file

@ -1,13 +1,14 @@
import logging
import time
from datetime import datetime, timedelta
from loguru import logger
from ..liquidsoap.client import LiquidsoapClient
from ..utils import seconds_between
from .events import EventKind
from .liquidsoap_gateway import TelnetLiquidsoap
logger = logging.getLogger(__name__)
class PypoLiquidsoap:
def __init__(self, liq_client: LiquidsoapClient):

View file

@ -1,10 +1,11 @@
import logging
from typing import List
from loguru import logger
from ..liquidsoap.client import LiquidsoapClient
from ..timeout import ls_timeout
logger = logging.getLogger(__name__)
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,3 +1,4 @@
import logging
import math
import time
from datetime import datetime
@ -5,12 +6,12 @@ from queue import Queue
from threading import Thread
from typing import Any, Dict
from loguru import logger
from ..config import PUSH_INTERVAL, Config
from .liquidsoap import PypoLiquidsoap
from .queue import PypoLiqQueue
logger = logging.getLogger(__name__)
def is_stream(media_item):
return media_item["type"] == "stream_output_start"

View file

@ -1,14 +1,15 @@
import logging
from collections import deque
from datetime import datetime
from queue import Empty, Queue
from threading import Thread
from typing import Any, Dict
from loguru import logger
from ..utils import seconds_between
from .liquidsoap import PypoLiquidsoap
logger = logging.getLogger(__name__)
class PypoLiqQueue(Thread):
name = "liquidsoap_queue"

View file

@ -1,5 +1,6 @@
import datetime
import json
import logging
import math
import os
import re
@ -12,7 +13,6 @@ from threading import Thread
import mutagen
from libretime_api_client.v1 import ApiClient as LegacyClient
from loguru import logger
from libretime_playout.config import PUSH_INTERVAL, RECORD_DIR, Config
@ -21,6 +21,7 @@ if sys.version_info < (3, 9):
else:
from zoneinfo import ZoneInfo
logger = logging.getLogger(__name__)
# TODO : add docstrings everywhere in this module