Bläddra i källkod

build_manager: make BuildInfo and BuildProgress serializable

Shiv Tyagi 10 månader sedan
förälder
incheckning
276233a98e
1 ändrade filer med 17 tillägg och 0 borttagningar
  1. 17 0
      build_manager/manager.py

+ 17 - 0
build_manager/manager.py

@@ -34,6 +34,12 @@ class BuildProgress:
         self.state = state
         self.percent = percent
 
+    def to_dict(self) -> dict:
+        return {
+            'state': self.state.name,
+            'percent': self.percent,
+        }
+
 
 class BuildInfo:
     def __init__(self,
@@ -66,6 +72,17 @@ class BuildInfo:
         )
         self.time_created = time.time()
 
+    def to_dict(self) -> dict:
+        return {
+            'vehicle': self.vehicle,
+            'remote_info': self.remote_info.to_dict(),
+            'git_hash': self.git_hash,
+            'board': self.board,
+            'selected_features': list(self.selected_features),
+            'progress': self.progress.to_dict(),
+            'time_created': self.time_created,
+        }
+
 
 class BuildManager:
     """