big change to get metadata working fully in DB and on Filesystem, and recover from most common scenarios, improved GUI as well for allowing an immediate search after adding refimg as well

This commit is contained in:
2022-08-01 23:44:38 +10:00
parent 391b61f3c4
commit a8af00fe66
13 changed files with 523 additions and 92 deletions

View File

@@ -32,7 +32,7 @@ from person import Refimg, Person, PersonRefimgLink
from settings import Settings, SettingsIPath, SettingsSPath, SettingsRBPath
from shared import SymlinkName
from dups import Duplicates
from face import Face, FaceFileLink, FaceRefimgLink, FaceOverrideType, FaceNoMatchOverride, FaceManualOverride
from face import Face, FaceFileLink, FaceRefimgLink, FaceOverrideType, FaceNoMatchOverride, FaceForceMatchOverride, fix_face_locn
# pylint: disable=no-member
@@ -673,6 +673,7 @@ def viewlist():
# put locn data back into array format
fid=0
for face in e.file_details.faces:
fix_face_locn(face)
tmp_locn = json.loads(face.locn)
fd= {}
fd['x'] = tmp_locn[3]
@@ -725,6 +726,7 @@ def view(id):
# put locn data back into array format
for face in e.file_details.faces:
if face.locn:
fix_face_locn(face)
face.tmp_locn = json.loads(face.locn)
else:
# this at least stops a 500 server error - seems to occur when
@@ -735,7 +737,7 @@ def view(id):
fnmo = FaceNoMatchOverride.query.filter(FaceNoMatchOverride.face_id==face.id).first()
if fnmo:
face.no_match_override=fnmo
mo = FaceManualOverride.query.filter(FaceManualOverride.face_id==face.id).first()
mo = FaceForceMatchOverride.query.filter(FaceForceMatchOverride.face_id==face.id).first()
if mo:
mo.type = FaceOverrideType.query.filter( FaceOverrideType.name== 'Manual match to existing person' ).first()
face.manual_override=mo