forward all logging to gui, if it exists

This commit is contained in:
Christoph Stahl 2024-09-30 14:39:29 +02:00
parent 46f68e2e92
commit dd84ff361b
4 changed files with 12 additions and 10 deletions

View file

@ -15,7 +15,6 @@ be one of:
from __future__ import annotations from __future__ import annotations
import asyncio import asyncio
import datetime import datetime
import logging
from logging.handlers import QueueHandler from logging.handlers import QueueHandler
from multiprocessing import Queue from multiprocessing import Queue
import secrets import secrets
@ -38,10 +37,11 @@ from yaml import load, Loader
from . import jsonencoder from . import jsonencoder
from .entry import Entry from .entry import Entry
from .sources import configure_sources, Source from .sources import configure_sources, Source
from .log import logger
sio: socketio.AsyncClient = socketio.AsyncClient(json=jsonencoder) sio: socketio.AsyncClient = socketio.AsyncClient(json=jsonencoder)
logger: logging.Logger = logging.getLogger(__name__) # logger: logging.Logger = logging"Syng"er(__name__)
sources: dict[str, Source] = {} sources: dict[str, Source] = {}

3
syng/log.py Normal file
View file

@ -0,0 +1,3 @@
import logging
logger = logging.getLogger("Syng")

View file

@ -16,7 +16,6 @@ from __future__ import annotations
import asyncio import asyncio
import datetime import datetime
import hashlib import hashlib
import logging
import os import os
import random import random
import string import string
@ -36,6 +35,7 @@ from .result import Result
from .sources.youtube import YouTube from .sources.youtube import YouTube
from . import jsonencoder from . import jsonencoder
from .log import logger
from .entry import Entry from .entry import Entry
from .queue import Queue from .queue import Queue
from .sources import available_sources from .sources import available_sources
@ -71,8 +71,7 @@ async def root_handler(request: Any) -> Any:
return web.FileResponse(os.path.join(app["root_folder"], "index.html")) return web.FileResponse(os.path.join(app["root_folder"], "index.html"))
logging.basicConfig(level=logging.WARNING) # logger = logging.getLogger(__name__)
logger = logging.getLogger(__name__)
@dataclass @dataclass

View file

@ -8,7 +8,6 @@ to this dictionary in its module.
from __future__ import annotations from __future__ import annotations
import asyncio import asyncio
import logging
import os.path import os.path
import shlex import shlex
from collections import defaultdict from collections import defaultdict
@ -22,10 +21,11 @@ from typing import Tuple
from typing import Type from typing import Type
from abc import ABC, abstractmethod from abc import ABC, abstractmethod
from ..log import logger
from ..entry import Entry from ..entry import Entry
from ..result import Result from ..result import Result
logger: logging.Logger = logging.getLogger(__name__) # logger: logging.Logger = logging.getLogger(__name__)
@dataclass @dataclass
@ -146,7 +146,7 @@ class Source(ABC):
""" """
args = ["--fullscreen", *options, video] + ([f"--audio-file={audio}"] if audio else []) args = ["--fullscreen", *options, video] + ([f"--audio-file={audio}"] if audio else [])
print(f"File is {video=} and {audio=}") # print(f"File is {video=} and {audio=}")
mpv_process = asyncio.create_subprocess_exec( mpv_process = asyncio.create_subprocess_exec(
"mpv", "mpv",
@ -400,9 +400,9 @@ class Source(ABC):
""" """
if not self._index: if not self._index:
self._index = [] self._index = []
print(f"{self.source_name}: generating index") logger.warn(f"{self.source_name}: generating index")
self._index = await self.get_file_list() self._index = await self.get_file_list()
print(f"{self.source_name}: done") logger.warn(f"{self.source_name}: done")
chunked = zip_longest(*[iter(self._index)] * 1000, fillvalue="") chunked = zip_longest(*[iter(self._index)] * 1000, fillvalue="")
return [{"index": list(filter(lambda x: x != "", chunk))} for chunk in chunked] return [{"index": list(filter(lambda x: x != "", chunk))} for chunk in chunked]