Files
application-form-7/app/models.py
T

42 lines
1.3 KiB
Python
Raw Normal View History

"""
Data models and storage functions for the Flask job application system.
"""
import os
import yaml
from pathlib import Path
from flask import current_app
def get_application_path(session_id):
"""Get the path to an application folder"""
return os.path.join(current_app.config['APPLICATIONS_FOLDER'], session_id)
def get_data_file_path(session_id):
"""Get the path to the application data YAML file"""
return os.path.join(get_application_path(session_id), 'data.yaml')
def get_attachments_path(session_id):
"""Get the path to the attachments folder"""
return os.path.join(get_application_path(session_id), 'attachments')
def load_application_data(session_id):
"""Load application data from YAML file"""
data_file = get_data_file_path(session_id)
if os.path.exists(data_file):
with open(data_file, 'r', encoding='utf-8') as f:
return yaml.safe_load(f)
return None
def save_application_data(session_id, data):
"""Save application data to YAML file"""
app_path = get_application_path(session_id)
Path(app_path).mkdir(parents=True, exist_ok=True)
data_file = get_data_file_path(session_id)
with open(data_file, 'w', encoding='utf-8') as f:
yaml.dump(data, f, allow_unicode=True, default_flow_style=False)