| 9 | |
| 10 | |
| 11 | class Input(Base): |
| 12 | __tablename__ = 'input' |
| 13 | |
| 14 | id = Column(Integer, primary_key = True) |
| 15 | created_time = Column(DateTime, default = datetime.datetime.utcnow) |
| 16 | |
| 17 | time_completed = Column(DateTime) |
| 18 | time_loaded_video = Column(DateTime) |
| 19 | |
| 20 | # We assume this includes upload |
| 21 | time_video_write_finished = Column(DateTime) |
| 22 | |
| 23 | # Frames can start processing as this happens |
| 24 | # But it's still an "end point" to measure |
| 25 | # ie we could look at other options to speed that up. |
| 26 | time_pushed_all_frames_to_queue = Column(DateTime) |
| 27 | |
| 28 | # Yes some work to update this |
| 29 | # BUT this is probably a better measure for more closely tracking |
| 30 | # if the process crashes so worth it. |
| 31 | time_updated = Column(DateTime, onupdate = datetime.datetime.utcnow) |
| 32 | |
| 33 | time_last_attempted = Column(Integer) |
| 34 | |
| 35 | # ["copy_file", "update", "update_with_existing", ""] |
| 36 | mode = Column(String) |
| 37 | |
| 38 | url = Column(String()) |
| 39 | media_type = Column(String()) # image, frame, video, csv |
| 40 | |
| 41 | type = Column(String()) # ["from_url", "from_video_split", "from_blob_path"] |
| 42 | |
| 43 | allow_csv = Column(Boolean()) |
| 44 | |
| 45 | allow_duplicates = Column(Boolean(), default = False) |
| 46 | |
| 47 | processing_deferred = Column(Boolean(), default = False) |
| 48 | |
| 49 | status = Column(String(), default = "init") |
| 50 | status_text = Column(String()) |
| 51 | |
| 52 | offset_in_seconds = Column(Integer) |
| 53 | percent_complete = Column(Float, default = 0.0) |
| 54 | |
| 55 | description = Column(String()) |
| 56 | text_data = Column(String()) |
| 57 | size = Column(Integer) |
| 58 | |
| 59 | archived = Column(Boolean, default = False) |
| 60 | |
| 61 | auto_correct_instances_from_image_metadata = Column(Boolean, default = False) |
| 62 | |
| 63 | raw_data_blob_path = Column(String()) |
| 64 | # video_processed_blob_path = Column(String()) |
| 65 | |
| 66 | resumable_url = Column(String()) |
| 67 | |
| 68 | # For AWS S3 Uploads |
no outgoing calls