@@ -17,24 +17,34 @@ def on_categorized_annex_updated(annex, event):
1717 if not sessions :
1818 return
1919
20+ # make sure annex_uid is in a session
2021 annex_uid = annex .UID ()
21- new_values = event .new_values
22+ file_infos = []
23+ for session_id in sessions :
24+ file_info = get_file_info (session_id , annex_uid )
25+ if file_info :
26+ file_infos .append (file_info )
27+ if not file_infos :
28+ return
29+
30+ # here we are sure that annex is in a session, we need to update data
2231 # if something usefull changed, we will update the session
32+ new_values = event .new_values
2333 update = False
2434 checked_keys = ['title' , 'filesize' , 'relative_url' ]
2535 for checked_key in checked_keys :
2636 if new_values [checked_key ] != old_values [checked_key ]:
2737 update = True
2838 break
2939 # check scan_id and filename
30- for session_id in sessions :
31- file_info = get_file_info ( session_id , annex_uid )
32- if annex .scan_id != file_info ['scan_id' ] or \
33- annex .file .filename != file_info ['filename' ]:
34- update = True
35- break
40+ if update is False :
41+ for file_info in file_infos :
42+ if file_info and ( annex .scan_id != file_info ['scan_id' ] or \
43+ annex .file .filename != file_info ['filename' ]) :
44+ update = True
45+ break
3646
37- if update :
47+ if update is True :
3848 for session_id , session in sessions .items ():
3949 # size
4050 size_diff = new_values ['filesize' ] - old_values ['filesize' ]
0 commit comments