Skip to content

Commit a942f95

Browse files
committed
use recording.Recording.get_source_directory() instead of directly its source_directory property: this also correctly handles relative paths
1 parent e3f6a8e commit a942f95

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

src/gazeMapper/GUI/_impl/callbacks.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -528,14 +528,14 @@ def prepping_recs_popup():
528528
recs = rec_getter()
529529
all_recs: list[recording.Recording] = []
530530
dup_recs: list[recording.Recording] = []
531-
known_rec_dirs = [g.sessions[s].recordings[r].info.source_directory for s in g.sessions for r in g.sessions[s].recordings if g.sessions[s].recordings[r].definition.type==dev_type]
531+
known_rec_dirs = [g.sessions[s].recordings[r].info.get_source_directory() for s in g.sessions for r in g.sessions[s].recordings if g.sessions[s].recordings[r].definition.type==dev_type]
532532
known_rec_names= [g.sessions[s].recordings[r].info.name for s in g.sessions for r in g.sessions[s].recordings if g.sessions[s].recordings[r].definition.type==dev_type]
533533
for rec in recs:
534534
# skip duplicates. For eye tracker recordings, this checks for the source folder. For camera recordings, its checks for the full file path
535535
if dev_type==session.RecordingType.Camera:
536-
dup = rec.source_directory/rec.video_file in (g.sessions[s].recordings[r].info.source_directory/g.sessions[s].recordings[r].info.video_file for s in g.sessions for r in g.sessions[s].recordings if g.sessions[s].recordings[r].definition.type==dev_type)
536+
dup = rec.get_source_directory()/rec.video_file in (g.sessions[s].recordings[r].info.get_source_directory()/g.sessions[s].recordings[r].info.video_file for s in g.sessions for r in g.sessions[s].recordings if g.sessions[s].recordings[r].definition.type==dev_type)
537537
elif dev_type==session.RecordingType.Eye_Tracker:
538-
dup = any([a and b for a,b in zip([rec.source_directory==d for d in known_rec_dirs],[rec.name==n for n in known_rec_names])])
538+
dup = any([a and b for a,b in zip([rec.get_source_directory()==d for d in known_rec_dirs],[rec.name==n for n in known_rec_names])])
539539
if dup:
540540
dup_recs.append(rec)
541541
else:
@@ -549,7 +549,7 @@ def prepping_recs_popup():
549549
if not all_recs:
550550
if dup_recs:
551551
msg = f"{dev_rec_lbl} were found in the specified import paths, but could not be imported as they are already part of sessions in this gazeMapper project."
552-
more= "Duplicates that were not imported:\n"+('\n'.join([str(r.source_directory) for r in dup_recs]))
552+
more= "Duplicates that were not imported:\n"+('\n'.join([str(r.get_source_directory()) for r in dup_recs]))
553553
else:
554554
msg = f"No {dev_rec_lbl} were found among the specified import paths."
555555
more = None
@@ -566,7 +566,7 @@ def prepping_recs_popup():
566566
def _recording_context_menu(iid: int) -> bool:
567567
nonlocal selected_slot
568568
if imgui.selectable(ifa6.ICON_FA_FOLDER_OPEN + f" Open folder##{iid}", False)[0]:
569-
open_folder(recordings_to_add[iid].source_directory)
569+
open_folder(recordings_to_add[iid].get_source_directory())
570570
if selected_slot is not None and imgui.selectable(ifa6.ICON_FA_ARROW_LEFT + f" Assign to selected recording", False)[0]:
571571
recording_assignment[selected_slot[0]][selected_slot[1]] = iid
572572
selected_slot = None

src/gazeMapper/GUI/_impl/gui.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1386,7 +1386,7 @@ def _draw_context_menu_items_for_recording_folders(self, sess: list[session.Sess
13861386
if not recs:
13871387
return False
13881388
plural = 's' if len(recs)>1 else ''
1389-
source_directories = [sd for s,r in recs if (sd:=sess[s].recordings[r].info.source_directory).is_dir()]
1389+
source_directories = [sd for s,r in recs if (sd:=sess[s].recordings[r].info.get_source_directory()) is not None and sd.is_dir()]
13901390
if source_directories and imgui.selectable(ifa6.ICON_FA_FOLDER_OPEN + " Open recording source folder"+plural, False)[0]:
13911391
for s in source_directories:
13921392
callbacks.open_folder(s)

0 commit comments

Comments
 (0)