29 lines
1.2 KiB
Python
29 lines
1.2 KiB
Python
import os
|
|
from services.nutrition_service import NutritionService
|
|
from builder.pdf_builder import NutritionPDFBuilder
|
|
from builder.excel_builder import NutritionExcelBuilder
|
|
|
|
|
|
class NutritionReportService:
|
|
def __init__(self):
|
|
base_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
|
|
|
food_db_path = os.path.join(base_dir, "food_db.json")
|
|
config_path = os.path.join(base_dir, "config", "nutrition_template.json")
|
|
|
|
self.nutrition_service = NutritionService(food_db_path, config_path)
|
|
self.pdf_builder = NutritionPDFBuilder()
|
|
self.excel_builder = NutritionExcelBuilder()
|
|
|
|
def generate_pdf_from_json(self, front_json, output_path):
|
|
report_data = self.nutrition_service.build_report_data(front_json)
|
|
self.pdf_builder.build(report_data, output_path)
|
|
return report_data
|
|
|
|
def generate_excel_from_json(self, front_json, output_path):
|
|
report_data = self.nutrition_service.build_report_data(front_json)
|
|
self.excel_builder.build(report_data, output_path)
|
|
return report_data
|
|
|
|
def preview_intake(self, front_json):
|
|
return self.nutrition_service.build_intake_preview(front_json) |