updated for better encryption handling.

This commit is contained in:
Discsearcher
2026-08-28 17:36:07 -04:00
parent e67b4a43bd
commit 4b99ffc448
5 changed files with 44 additions and 13 deletions
+31 -3
View File
@@ -20,6 +20,8 @@ from cryptography.hazmat.primitives import hashes
from cryptography.hazmat.primitives.kdf.pbkdf2 import PBKDF2HMAC
from cryptography.hazmat.backends import default_backend
import base64
from apscheduler.schedulers.background import BackgroundScheduler
from apscheduler.triggers.interval import IntervalTrigger
app = Flask(__name__)
app.secret_key = os.environ.get('FLASK_SECRET_KEY', 'dev-secret-key-change-in-production')
@@ -221,10 +223,15 @@ def build_directory_tree():
# Add file to current level
if '_files' not in current:
current['_files'] = []
# Check if file is protected
is_protected = is_file_protected(str(rel_path))
current['_files'].append({
'name': filename,
'path': str(rel_path),
'encrypted': is_enc
'encrypted': is_enc,
'protected': is_protected
})
logger.info(f"Built tree for {CONTENT_DIR}: found {file_count} markdown files")
@@ -535,10 +542,31 @@ def status():
'timestamp': datetime.now().isoformat()
})
def setup_scheduler():
"""Set up background scheduler for periodic content scanning."""
scheduler = BackgroundScheduler()
scheduler.add_job(
func=update_search_index,
trigger=IntervalTrigger(seconds=60),
id='update_search_index',
name='Update search index every 60 seconds',
replace_existing=True
)
scheduler.start()
logger.info("Scheduler started: content directory will be scanned every 60 seconds")
return scheduler
if __name__ == '__main__':
# Perform initial index build
logger.info("Initializing markmywords")
update_search_index()
# Start Flask app
app.run(host='0.0.0.0', port=5000, debug=False)
# Start background scheduler for periodic content scanning
scheduler = setup_scheduler()
try:
# Start Flask app
app.run(host='0.0.0.0', port=5000, debug=False)
finally:
# Shut down scheduler on exit
scheduler.shutdown()