Skip to content

Commit

Permalink
v164
Browse files Browse the repository at this point in the history
  • Loading branch information
annihilation7071 committed Jan 19, 2025
1 parent a187a65 commit 2c80431
Show file tree
Hide file tree
Showing 25 changed files with 160 additions and 105 deletions.
8 changes: 7 additions & 1 deletion app.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,12 @@
from backend.projects.projects import Projects
from backend.projects.projects_utils import update_projects
from fastapi.middleware.cors import CORSMiddleware
from fastapi.responses import FileResponse
from routers import main, extra
import os
import asyncio
from backend import utils
from backend import logger
from backend.modules import logger

log = logger.get_logger("App.app")

Expand Down Expand Up @@ -53,6 +54,11 @@ async def lifespan(app: FastAPI):
app.include_router(extra.router)


@app.get("/favicon.ico", include_in_schema=False)
async def favicon():
return FileResponse("static/favicon.ico")


if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="127.0.0.1", port=1707, log_level="debug")
2 changes: 1 addition & 1 deletion backend/classes/db.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from sqlalchemy import Column, Integer, String, DateTime, Boolean, JSON
from sqlalchemy.orm import DeclarativeBase
from backend import logger
from backend.modules import logger

log = logger.get_logger("Classes.db")

Expand Down
2 changes: 1 addition & 1 deletion backend/classes/files.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
from pydantic import BaseModel, field_validator
from pathlib import Path
from pydantic_core.core_schema import ValidationInfo
from backend import logger
from backend.modules import logger
from backend import utils
from backend.classes.templates import ProjectTemplate
import os
Expand Down
2 changes: 1 addition & 1 deletion backend/classes/projecte.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
from backend.classes.lib import Lib
from backend.classes.files import ProjectInfoFile, ProjectInfoFileError
import json
from backend import logger
from backend.modules import logger
from backend import utils
from sqlalchemy.orm import Session
from backend.classes.templates import ProjectTemplateDB
Expand Down
2 changes: 1 addition & 1 deletion backend/classes/templates.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
from dateutil import parser
from pydantic import BaseModel, model_validator, ValidationInfo, field_validator
from datetime import datetime
from backend import logger
from backend.modules import logger
from backend import utils
from pathlib import Path
from typing import TYPE_CHECKING, Annotated
Expand Down
2 changes: 1 addition & 1 deletion backend/db/connect.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker, scoped_session
from backend import logger
from backend.modules import logger
from backend.classes.db import Base

log = logger.get_logger("DB")
Expand Down
2 changes: 1 addition & 1 deletion backend/downloader.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
from backend.downloaders.error import DownloaderError
from backend.projects.projects import Projects
from backend.projects.projects_utils import update_projects
from backend import logger
from backend.modules import logger

log = logger.get_logger("Downloader.main")

Expand Down
2 changes: 1 addition & 1 deletion backend/downloaders/gallerydl.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from backend.utils import run_command
import os
import json
from backend import logger
from backend.modules import logger
from backend.classes.lib import Lib

log = logger.get_logger("Downloader.gallerydl")
Expand Down
2 changes: 1 addition & 1 deletion backend/downloaders/nhentai.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from backend.utils import run_command
import os
import json
from backend import logger
from backend.modules import logger
from backend.classes.lib import Lib

log = logger.get_logger("Downloader.nhentai")
Expand Down
2 changes: 1 addition & 1 deletion backend/editor/item_editor.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from backend import dep
from backend.utils import tag_normalizer
from backend import logger
from backend.modules import logger
from backend.classes.projecte import ProjectE, ProjectEPool
from backend.classes.files import ProjectInfoFile
from sqlalchemy.orm import Session
Expand Down
2 changes: 1 addition & 1 deletion backend/editor/selector.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from backend.editor import item_editor, variants_editor
from backend.classes.projecte import ProjectE
from backend import logger
from backend.modules import logger
from sqlalchemy.orm import Session
from backend.modules.filesession import FSession

Expand Down
2 changes: 1 addition & 1 deletion backend/editor/variants_editor.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from backend import dep
from backend.utils import tag_normalizer
from backend import logger
from backend.modules import logger
from backend.classes.projecte import ProjectE, ProjectEPool
from backend import utils
from typing import TYPE_CHECKING
Expand Down
83 changes: 0 additions & 83 deletions backend/logger.py

This file was deleted.

129 changes: 129 additions & 0 deletions backend/modules/logger.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
import logging
import os
from logging.handlers import SocketHandler, RotatingFileHandler
from pathlib import Path
import shutil
from dataclasses import dataclass


@dataclass
class Settings:
path: str = "./logs"

filehandler_separated: bool = True
filehandler_separated_level: int = logging.DEBUG

filehandler_all: bool = True
filehandler_all_level: int = logging.DEBUG

streamhandler: bool = True
streamhandler_level: int = logging.INFO

sockethandler: bool = True
sockethandler_settings: str = '127.0.0.1:19996'
sockethandler_level: int = logging.DEBUG


settings = Settings()

__init = False
__path: Path | None = None
__socket_handler: logging.Handler | None = None


def init():
global __path
global __socket_handler
global __init

if settings.filehandler_separated or settings.filehandler_all:
__path = Path(settings.path)
shutil.rmtree(__path, ignore_errors=True)
Path(__path).mkdir(parents=True, exist_ok=True)

if settings.sockethandler:
ip = settings.sockethandler_settings.split(":")[0]
port = int(settings.sockethandler_settings.split(":")[1])
__socket_handler = SocketHandler(ip, port)
__socket_handler.setLevel(settings.sockethandler_level)

__init = True


def get_logger(name: str) -> logging.Logger:
if not __init:
init()

if logging.Logger.manager.loggerDict.get(name):
return logging.Logger.manager.loggerDict.get(name)

formatter = logging.Formatter(f"%(asctime)s %(levelname)-8s: {name}: %(message)s")

# noinspection PyShadowingNames
log = logging.getLogger(name)
log.setLevel(logging.DEBUG)

if settings.sockethandler:
log.addHandler(__socket_handler)

if settings.filehandler_separated:
path = __path / f"{name}.log"
file_handler = RotatingFileHandler(filename=path, mode="a", encoding="utf-8")
file_handler.setFormatter(formatter)
file_handler.setLevel(settings.filehandler_separated_level)
log.addHandler(file_handler)

if settings.filehandler_all:
path = __path / f"All.log"
file_handler_all = RotatingFileHandler(filename=path, mode="a", encoding="utf-8")
file_handler_all.setFormatter(formatter)
file_handler_all.setLevel(settings.filehandler_all_level)
log.addHandler(file_handler_all)

if settings.streamhandler:
stream_handler = logging.StreamHandler()
stream_handler.setFormatter(formatter)
stream_handler.setLevel(settings.streamhandler_level)
log.addHandler(stream_handler)

return log


# def log_exception(exc_type, exc_value, exc_tb):
# # noinspection PyShadowingNames
# log = logger.get_logger("General")
#
# log.error("Exception", exc_info=(exc_type, exc_value, exc_tb))
#
#
# def thread_exceprion_hook(args):
# log_exception(args.exc_type, args.exc_value, args.exc_traceback)
#
#
# def handle_async_exception(loop, context):
# exc = context.get('exception')
# if exc:
# log_exception(type(exc), exc, exc.__traceback__)
# else:
# log.exception(f"Async exception: {context['message']}")


# if __name__ == '__main__':
# os.chdir(Path(os.getcwd()).parent)
#
# log = get_logger("Root logger")
#
# log.debug("A DEBUG Message")
# log.info("An INFO")
# log.warning("A WARNING")
# log.error("An ERROR")
# log.critical("A message of CRITICAL severity")
#
# try:
# x = 5/0
# except ZeroDivisionError:
# log.exception("An exception occurred")
# raise



2 changes: 1 addition & 1 deletion backend/processors/gallery-dl-hitomila.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
from backend import utils
from backend.classes.templates import ProjectTemplate
from pathlib import Path
from backend import logger
from backend.modules import logger
from datetime import datetime

log = logger.get_logger("Processor.gallery-dl-hitomila")
Expand Down
2 changes: 1 addition & 1 deletion backend/processors/gallery-dl-nhentai.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
from backend import utils
from backend.classes.templates import ProjectTemplate
from pathlib import Path
from backend import logger
from backend.modules import logger
from datetime import datetime

log = logger.get_logger("Processor.gallery-dl-nhentai")
Expand Down
2 changes: 1 addition & 1 deletion backend/processors/general.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from backend import utils
from backend.classes.templates import ProjectTemplate
from pathlib import Path
from backend import logger
from backend.modules import logger
from backend.modules.filesession import FSession
from backend.upgrade.vinfo import upgrade
from importlib import import_module
Expand Down
2 changes: 1 addition & 1 deletion backend/processors/nhentai.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
from backend import utils
from backend.classes.templates import ProjectTemplate
from pathlib import Path
from backend import logger
from backend.modules import logger
from datetime import datetime

log = logger.get_logger("Processor.nhentai")
Expand Down
2 changes: 1 addition & 1 deletion backend/projects/projects.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
from icecream import ic
from backend.classes.projecte import ProjectE, ProjectEPool
from backend.classes.templates import ProjectTemplateDB
from backend import logger
from backend.modules import logger
from sqlalchemy.orm import Session
from sqlalchemy import select, delete, update
from backend.projects import projects_utils
Expand Down
2 changes: 1 addition & 1 deletion backend/projects/projects_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import os
from importlib import import_module
from backend import utils, cmdargs
from backend import logger
from backend.modules import logger
from backend.upgrade import vinfo
from backend.processors import general as general
import json
Expand Down
2 changes: 1 addition & 1 deletion backend/upgrade/vinfo.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from backend import utils
from pathlib import Path
from backend.classes.templates import ProjectTemplate
from backend import logger
from backend.modules import logger
from backend.classes.files import ProjectInfoFile

log = logger.get_logger("Upgrader")
Expand Down
Loading

0 comments on commit 2c80431

Please sign in to comment.