Changeset f8e1cf8 in flexograder
- Timestamp:
- 11/10/25 15:10:39 (5 months ago)
- Branches:
- fake-data, main, master
- Children:
- 7cc3672
- Parents:
- bc820cf
- Files:
-
- 2 edited
-
builder/exam_manager.py (modified) (4 diffs)
-
gui/session_manager.py (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
builder/exam_manager.py
rbc820cf rf8e1cf8 1 import json 2 from pathlib import Path 1 3 from builder.exam import Exam 2 4 from flexoentity import EntityState, EntityType, Domain … … 22 24 self.active_exam_id = exam.flexo_id 23 25 return exam 24 26 25 27 @property 26 28 def exams(self): 27 29 return self._exams 28 30 29 31 def add_exam(self, exam): 30 32 """Add an externally loaded Exam (e.g., from JSON).""" 31 33 self._exams[exam.flexo_id] = exam 32 34 self.active_exam_id = exam.flexo_id 33 35 34 36 def list_exams(self): 35 37 return list(self.exams.keys()) 36 38 37 39 def list_titles(self): 38 40 """Return titles for GUI dropdowns.""" 39 41 return [exam.title for exam in self._exams.values()] 40 42 41 43 def get_active(self): 42 44 return self.exams.get(self.active_exam_id) 43 45 44 46 def get_active_id(self) -> str | None: 45 47 return self.active_exam_id … … 54 56 for exam in self._exams.values(): 55 57 if exam.title == title: 56 self.active_exam_id = exam.flexo_id .id58 self.active_exam_id = exam.flexo_id 57 59 return 58 60 raise ValueError(f"No exam with title '{title}' found") … … 71 73 def save_all(self, directory: str): 72 74 """Save all exams to JSON files in a given directory.""" 73 from pathlib import Path74 75 75 76 directory = Path(directory) 76 77 directory.mkdir(parents=True, exist_ok=True) 77 78 for exam in self._exams.values(): 78 filename = directory / f"{exam.title}_{exam.flexo_id .id}.json"79 filename = directory / f"{exam.title}_{exam.flexo_id}.json" 79 80 exam.to_json_file(filename) 80 81 81 82 def load_all(self, directory: str): 82 83 """Load all exams from JSON files in a given directory.""" 83 from pathlib import Path84 import json85 84 86 85 directory = Path(directory) -
gui/session_manager.py
rbc820cf rf8e1cf8 44 44 "timestamp": timestamp, 45 45 } 46 self.session_file.write_text(json.dumps(data, indent=2))46 self.session_file.write_text(json.dumps(data, encoding="utf-8", indent=2)) 47 47 print(f"[Session] Saved at {timestamp}") 48 48 except Exception as e: … … 58 58 try: 59 59 print(self.session_file) 60 data = json.loads(self.session_file.read_text( ))60 data = json.loads(self.session_file.read_text(encoding="utf-8")) 61 61 62 62 # 1. Restore window
Note:
See TracChangeset
for help on using the changeset viewer.
