Skip to content

Commit b8ce46f

Browse files
Merge pull request #58 from jonathanrocher/fix/key_error_crash
Fix `KeyError` in image folder view in Stage 5.3
2 parents 55a9fb2 + d68579d commit b8ce46f

1 file changed

Lines changed: 7 additions & 5 deletions

File tree

stage5.3_fuller_application/pycasa/ui/image_folder_view.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ def traits_view(self):
9191
@observe("scan")
9292
def scan_for_faces(self, event):
9393
self.model.compute_num_faces()
94-
self.all_data = self.model.data.copy()
94+
self.all_data.update(self.model.data)
9595

9696
@observe("selected_years")
9797
def update_years(self, event):
@@ -117,23 +117,25 @@ def _year_mask_default(self):
117117
return pd.Series(np.ones(len(self.model.data), dtype=bool))
118118

119119
def _all_data_default(self):
120+
# Enrich metadata with missing fields: date time, make
120121
data = self.model.data.copy()
122+
121123
if DATETIME_COL not in data.columns:
122124
data[DATETIME_COL] = np.nan
123125

124126
if MAKE_COL not in data.columns:
125127
data[MAKE_COL] = np.nan
126128

129+
def parse_year(x):
130+
return x.split(":")[0] if isinstance(x, str) else "unknown"
131+
data[YEAR_KEY] = data[DATETIME_COL].apply(parse_year)
132+
127133
return data
128134

129135
def _filtered_data_default(self):
130136
return self.all_data
131137

132138
def _all_years_default(self):
133-
def parse_year(x):
134-
return x.split(":")[0] if isinstance(x, str) else "unknown"
135-
136-
self.all_data[YEAR_KEY] = self.all_data[DATETIME_COL].apply(parse_year)
137139
return sorted(self.all_data[YEAR_KEY].unique().tolist())
138140

139141

0 commit comments

Comments
 (0)