added server side search

This commit is contained in:
2025-05-02 19:55:28 +02:00
parent 3ee7fcab59
commit 78c958e8f5
2 changed files with 54 additions and 0 deletions
+2
View File
@@ -29,6 +29,8 @@ from flask import (
send_from_directory, send_from_directory,
) )
from waitress import serve from waitress import serve
import media_search_functions
MAIN_BOT_ADDRESS = "http://192.168.1.191:5000" MAIN_BOT_ADDRESS = "http://192.168.1.191:5000"
MUSIC_TRACKER = "/prepped_tracks" MUSIC_TRACKER = "/prepped_tracks"
@@ -0,0 +1,52 @@
#!/usr/bin/env python3
import argparse
import json
import os
import sys
import uuid
from pathlib import Path
# CONFIGURATION
JSON_DB = '/var/log/share_scan.json'
SHARE_DIR = Path('/var/www/html/share')
BASE_URL = 'https://czernobog.pl/share'
# Ensure share directory exists
SHARE_DIR.mkdir(parents=True, exist_ok=True)
def load_db():
with open(JSON_DB) as f:
return json.load(f)['entries']
ENTRIES = load_db()
def relevancy(path, keywords):
score = 0
low = path.lower()
for kw in keywords:
if kw.lower() in low:
score += low.count(kw.lower())
return score
def find_matches(count, keywords):
scored = []
for e in ENTRIES:
score = relevancy(e['path'], keywords)
if score > 0:
scored.append((score, e['path']))
scored.sort(reverse=True, key=lambda x: x[0])
result = [p for _, p in scored]
return result[:count]
def publish(paths):
urls = []
for path in paths:
token = uuid.uuid4().hex
link = SHARE_DIR / token
try:
os.symlink(path, link)
except FileExistsError:
pass
urls.append(f"{BASE_URL}/{token}")
return urls