Compare commits
6 Commits
main
...
stable_dep
| Author | SHA1 | Date | |
|---|---|---|---|
| f4ae9f6c9e | |||
| 9e0065d849 | |||
| b996be7c7f | |||
| a0da34de7e | |||
| c564ee0b99 | |||
| 9bdaaf6c51 |
@@ -7,10 +7,10 @@ license = { file = "LICENSE" }
|
|||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
requires-python = ">=3.12"
|
requires-python = ">=3.12"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"alembic>=1.17",
|
"alembic>=1.16",
|
||||||
"beautifulsoup4>=4.14",
|
"beautifulsoup4>=4.14",
|
||||||
"click>=8.3",
|
"click>=8.2",
|
||||||
"flask-admin>=2.0",
|
"flask-admin>=1.6",
|
||||||
"flask-sqlalchemy>=3.1",
|
"flask-sqlalchemy>=3.1",
|
||||||
"flask>=3.0",
|
"flask>=3.0",
|
||||||
"isbnlib>=3.10",
|
"isbnlib>=3.10",
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import tomllib
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from pprint import pformat
|
from pprint import pformat
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
import os
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
"""
|
"""
|
||||||
@@ -38,10 +38,14 @@ class Config:
|
|||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def read_password(password_field: str) -> str:
|
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:
|
with Path(password_field).open() as f:
|
||||||
return f.read()
|
return f.read().strip()
|
||||||
else:
|
else:
|
||||||
|
raise RuntimeError(
|
||||||
|
f"Testing, should only use file. {password_field}",
|
||||||
|
)
|
||||||
return password_field
|
return password_field
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
|||||||
Reference in New Issue
Block a user