def update_recording_v14_v18(rec_dir): logger.info("Updating recording from v1.4 to v1.8") legacy_topic_mapping = { 'notifications': 'notify', 'gaze_positions': 'gaze', 'pupil_positions': 'pupil' } with fm.Incremental_Legacy_Pupil_Data_Loader(rec_dir) as loader: for old_topic, values in loader.topic_values_pairs(): new_topic = legacy_topic_mapping.get(old_topic, old_topic) with fm.PLData_Writer(rec_dir, new_topic) as writer: for datum in values: if new_topic == 'notify': datum['topic'] = 'notify.' + datum['subject'] elif new_topic == 'pupil': datum['topic'] += '.{}'.format(datum['id']) elif new_topic.startswith('surface'): datum['topic'] = 'surfaces.' + datum['name'] elif new_topic == 'blinks' or new_topic == 'fixations': datum['topic'] += 's' writer.append(datum) meta_info_path = os.path.join(rec_dir, "info.csv") with open(meta_info_path, 'r', encoding='utf-8') as csvfile: meta_info = csv_utils.read_key_value_file(csvfile) meta_info['Data Format Version'] = 'v1.8' update_meta_info(rec_dir, meta_info)
def update_recording_v14_v18(rec_dir): logger.info("Updating recording from v1.4 to v1.8") legacy_topic_mapping = { "notifications": "notify", "gaze_positions": "gaze", "pupil_positions": "pupil", } with fm.Incremental_Legacy_Pupil_Data_Loader(rec_dir) as loader: for old_topic, values in loader.topic_values_pairs(): new_topic = legacy_topic_mapping.get(old_topic, old_topic) with fm.PLData_Writer(rec_dir, new_topic) as writer: for datum in values: if new_topic == "notify": datum["topic"] = "notify." + datum["subject"] elif new_topic == "pupil": datum["topic"] += ".{}".format(datum["id"]) elif new_topic.startswith("surface"): datum["topic"] = "surfaces." + datum["name"] elif new_topic == "blinks" or new_topic == "fixations": datum["topic"] += "s" writer.append(datum) _update_info_version_to("v1.8", rec_dir)
def update_recording_v14_v18(rec_dir): logger.info("Updating recording from v1.4 to v1.8") legacy_topic_mapping = { "notifications": "notify", "gaze_positions": "gaze", "pupil_positions": "pupil", } with fm.Incremental_Legacy_Pupil_Data_Loader(rec_dir) as loader: for old_topic, values in loader.topic_values_pairs(): new_topic = legacy_topic_mapping.get(old_topic, old_topic) with fm.PLData_Writer(rec_dir, new_topic) as writer: for datum in values: if new_topic == "notify": datum["topic"] = "notify." + datum["subject"] elif new_topic == "pupil": datum["topic"] += ".{}".format(datum["id"]) elif new_topic.startswith("surface"): datum["topic"] = "surfaces." + datum["name"] elif new_topic == "blinks" or new_topic == "fixations": datum["topic"] += "s" writer.append(datum) meta_info_path = os.path.join(rec_dir, "info.csv") with open(meta_info_path, "r", encoding="utf-8") as csvfile: meta_info = csv_utils.read_key_value_file(csvfile) meta_info["Data Format Version"] = "v1.8" update_meta_info(rec_dir, meta_info)