Add YAPF style + ignore, and format tracked Python files
This commit is contained in:
@@ -58,7 +58,10 @@ from SYS.logger import log
|
||||
# CONFIGURATION
|
||||
# ============================================================================
|
||||
|
||||
logging.basicConfig(level=logging.INFO, format="[%(asctime)s] %(levelname)s: %(message)s")
|
||||
logging.basicConfig(
|
||||
level=logging.INFO,
|
||||
format="[%(asctime)s] %(levelname)s: %(message)s"
|
||||
)
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
STORAGE_PATH: Optional[Path] = None
|
||||
@@ -101,7 +104,9 @@ def get_local_ip() -> Optional[str]:
|
||||
def create_app():
|
||||
"""Create and configure Flask app with all routes."""
|
||||
if not HAS_FLASK:
|
||||
raise ImportError("Flask not installed. Install with: pip install flask flask-cors")
|
||||
raise ImportError(
|
||||
"Flask not installed. Install with: pip install flask flask-cors"
|
||||
)
|
||||
|
||||
from flask import Flask, request, jsonify
|
||||
from flask_cors import CORS
|
||||
@@ -117,11 +122,13 @@ def create_app():
|
||||
"""Decorator to check API key authentication if configured."""
|
||||
|
||||
def decorator(f):
|
||||
|
||||
@wraps(f)
|
||||
def decorated_function(*args, **kwargs):
|
||||
if API_KEY:
|
||||
# Get API key from header or query parameter
|
||||
provided_key = request.headers.get("X-API-Key") or request.args.get("api_key")
|
||||
provided_key = request.headers.get("X-API-Key"
|
||||
) or request.args.get("api_key")
|
||||
if not provided_key or provided_key != API_KEY:
|
||||
return jsonify({"error": "Unauthorized. Invalid or missing API key."}), 401
|
||||
return f(*args, **kwargs)
|
||||
@@ -134,6 +141,7 @@ def create_app():
|
||||
"""Decorator to ensure storage path is configured."""
|
||||
|
||||
def decorator(f):
|
||||
|
||||
@wraps(f)
|
||||
def decorated_function(*args, **kwargs):
|
||||
if not STORAGE_PATH:
|
||||
@@ -193,7 +201,10 @@ def create_app():
|
||||
with LocalLibrarySearchOptimizer(STORAGE_PATH) as db:
|
||||
results = db.search_by_name(query, limit)
|
||||
tag_results = db.search_by_tag(query, limit)
|
||||
all_results = {r["hash"]: r for r in (results + tag_results)}
|
||||
all_results = {
|
||||
r["hash"]: r
|
||||
for r in (results + tag_results)
|
||||
}
|
||||
|
||||
return (
|
||||
jsonify(
|
||||
@@ -386,7 +397,8 @@ def create_app():
|
||||
return jsonify({"error": "File not found"}), 404
|
||||
|
||||
metadata = db.get_metadata(file_path)
|
||||
relationships = metadata.get("relationships", {}) if metadata else {}
|
||||
relationships = metadata.get("relationships",
|
||||
{}) if metadata else {}
|
||||
return jsonify({"hash": file_hash, "relationships": relationships}), 200
|
||||
except Exception as e:
|
||||
logger.error(f"Get relationships error: {e}", exc_info=True)
|
||||
@@ -486,15 +498,32 @@ def main():
|
||||
|
||||
parser = argparse.ArgumentParser(
|
||||
description="Remote Storage Server for Medios-Macina",
|
||||
epilog="Example: python remote_storage_server.py --storage-path /storage/media --port 5000 --api-key mysecretkey",
|
||||
epilog=
|
||||
"Example: python remote_storage_server.py --storage-path /storage/media --port 5000 --api-key mysecretkey",
|
||||
)
|
||||
parser.add_argument("--storage-path", type=str, required=True, help="Path to storage directory")
|
||||
parser.add_argument(
|
||||
"--host", type=str, default="0.0.0.0", help="Server host (default: 0.0.0.0)"
|
||||
"--storage-path",
|
||||
type=str,
|
||||
required=True,
|
||||
help="Path to storage directory"
|
||||
)
|
||||
parser.add_argument("--port", type=int, default=5000, help="Server port (default: 5000)")
|
||||
parser.add_argument(
|
||||
"--api-key", type=str, default=None, help="API key for authentication (optional)"
|
||||
"--host",
|
||||
type=str,
|
||||
default="0.0.0.0",
|
||||
help="Server host (default: 0.0.0.0)"
|
||||
)
|
||||
parser.add_argument(
|
||||
"--port",
|
||||
type=int,
|
||||
default=5000,
|
||||
help="Server port (default: 5000)"
|
||||
)
|
||||
parser.add_argument(
|
||||
"--api-key",
|
||||
type=str,
|
||||
default=None,
|
||||
help="API key for authentication (optional)"
|
||||
)
|
||||
parser.add_argument("--debug", action="store_true", help="Enable debug mode")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user