6 Commits

2 changed files with 10 additions and 6 deletions

View File

@@ -7,10 +7,10 @@ license = { file = "LICENSE" }
readme = "README.md"
requires-python = ">=3.12"
dependencies = [
"alembic>=1.17",
"alembic>=1.16",
"beautifulsoup4>=4.14",
"click>=8.3",
"flask-admin>=2.0",
"click>=8.2",
"flask-admin>=1.6",
"flask-sqlalchemy>=3.1",
"flask>=3.0",
"isbnlib>=3.10",

View File

@@ -2,7 +2,7 @@ import tomllib
from pathlib import Path
from pprint import pformat
from typing import Any
import os
class Config:
"""
@@ -38,10 +38,14 @@ class Config:
@staticmethod
def read_password(password_field: str) -> str:
if Path(password_field).is_file():
file: Path = Path(password_field)
if file.is_file() and any([file.stat().st_mode & 0o400 and file.stat().st_uid == os.getuid(), file.stat().st_mode & 0o040 and file.stat().st_gid == os.getgid(), file.stat().st_mode & 0o004]):
with Path(password_field).open() as f:
return f.read()
return f.read().strip()
else:
raise RuntimeError(
f"Testing, should only use file. {password_field}",
)
return password_field
@classmethod