a1c00l commited on
Commit
669d062
·
verified ·
1 Parent(s): b84d3eb

Update src/aibom_generator/api.py

Browse files
Files changed (1) hide show
  1. src/aibom_generator/api.py +12 -24
src/aibom_generator/api.py CHANGED
@@ -63,41 +63,28 @@ async def generate_form(
63
 
64
  generator = AIBOMGenerator()
65
 
 
66
  aibom = generator.generate_aibom(
67
  model_id=model_id,
68
  include_inference=include_inference,
69
  use_best_practices=use_best_practices
70
  )
 
 
71
  enhancement_report = generator.get_enhancement_report()
72
 
 
 
 
 
73
  filename = f"{model_id.replace('/', '_')}_aibom.json"
74
  filepath = os.path.join(OUTPUT_DIR, filename)
75
-
76
  with open(filepath, "w") as f:
77
  json.dump(aibom, f, indent=2)
78
 
79
  download_url = f"/output/{filename}"
80
 
81
- download_script = f"""
82
- <script>
83
- function downloadJSON() {{
84
- const a = document.createElement('a');
85
- a.href = '{download_url}';
86
- a.download = '{filename}';
87
- document.body.appendChild(a);
88
- a.click();
89
- document.body.removeChild(a);
90
- }}
91
- </script>
92
- """
93
-
94
- completeness_score = None
95
- if hasattr(generator, 'get_completeness_score'):
96
- try:
97
- completeness_score = generator.get_completeness_score(model_id)
98
- except Exception as e:
99
- logger.error(f"Completeness score error: {str(e)}")
100
-
101
  return templates.TemplateResponse(
102
  "result.html",
103
  {
@@ -106,12 +93,13 @@ async def generate_form(
106
  "aibom": aibom,
107
  "enhancement_report": enhancement_report,
108
  "completeness_score": completeness_score,
109
- "download_url": download_url,
110
- "download_script": download_script
111
  }
112
  )
 
113
  except Exception as e:
114
  logger.error(f"Error generating AI SBOM: {str(e)}")
115
  return templates.TemplateResponse(
116
- "error.html", {"request": request, "error": str(e)}
 
117
  )
 
63
 
64
  generator = AIBOMGenerator()
65
 
66
+ # Generate the AI SBOM
67
  aibom = generator.generate_aibom(
68
  model_id=model_id,
69
  include_inference=include_inference,
70
  use_best_practices=use_best_practices
71
  )
72
+
73
+ # Obtain the enhancement report
74
  enhancement_report = generator.get_enhancement_report()
75
 
76
+ # Obtain completeness_score properly (assuming this method exists)
77
+ completeness_score = generator.get_completeness_score(aibom)
78
+
79
+ # Save AI SBOM JSON file
80
  filename = f"{model_id.replace('/', '_')}_aibom.json"
81
  filepath = os.path.join(OUTPUT_DIR, filename)
 
82
  with open(filepath, "w") as f:
83
  json.dump(aibom, f, indent=2)
84
 
85
  download_url = f"/output/{filename}"
86
 
87
+ # Pass all required fields to the template
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
88
  return templates.TemplateResponse(
89
  "result.html",
90
  {
 
93
  "aibom": aibom,
94
  "enhancement_report": enhancement_report,
95
  "completeness_score": completeness_score,
96
+ "download_url": download_url
 
97
  }
98
  )
99
+
100
  except Exception as e:
101
  logger.error(f"Error generating AI SBOM: {str(e)}")
102
  return templates.TemplateResponse(
103
+ "error.html",
104
+ {"request": request, "error": str(e)}
105
  )