def get_recording(cls, db_session, recording_id): recording = DatabaseAccess.query_recording(db_session, recording_id) if recording is not None: return recording raise RecordingNotFoundError
def get_recording_program_title(cls, recording_id): db_session = Database.create_session() try: recording = DatabaseAccess.query_recording(db_session, recording_id) if recording is not None: program_title = recording.program_title else: program_title = 'Recording {0}'.format(recording_id) return program_title finally: db_session.close()
def stop_live_recording(cls, db_session, recording): with cls._live_recordings_to_recording_thread_lock: try: cls._live_recordings_to_recording_thread[ recording.id].force_stop() del cls._live_recordings_to_recording_thread[recording.id] except KeyError: recording = DatabaseAccess.query_recording( db_session, recording.id) if recording is not None: if recording.status == RecordingStatus.LIVE.value: segment_row = DatabaseAccess.query_segments_count( db_session, recording.id) if segment_row is not None and segment_row.count > 0: recording.status = RecordingStatus.PERSISTED.value else: raise RecordingNotFoundError