updated TODO to remove AI job count issues, and added optimised AI searching code to reduce DB queries on recursion into dirs
This commit is contained in:
@@ -951,16 +951,12 @@ def JobProcessAI(job):
|
||||
|
||||
def WrapperForScanFileForPerson(job, entry):
|
||||
which_person=[jex.value for jex in job.extra if jex.name == "person"][0]
|
||||
if which_person == "all":
|
||||
ppl=session.query(Person).all()
|
||||
else:
|
||||
ppl=session.query(Person).filter(Person.tag==which_person).all()
|
||||
|
||||
if entry.type.name == 'Image':
|
||||
if DEBUG:
|
||||
AddLogForJob( job, f'INFO: processing File: {entry.name}' )
|
||||
for person in ppl:
|
||||
ScanFileForPerson( job, entry, person.id, force=False)
|
||||
for pid in job.ppl:
|
||||
ScanFileForPerson( job, entry, pid, force=False)
|
||||
# processed this file, add 1 to count
|
||||
job.current_file_num+=1
|
||||
return
|
||||
@@ -992,9 +988,14 @@ def JobRunAIOn(job):
|
||||
# update job, so file count UI progress bar will work
|
||||
# remember that ProcessFilesInDir updates the current_file_num so zero it out so we can start again
|
||||
job.current_file_num = 0
|
||||
print( f"about to commit: {job}" )
|
||||
session.commit()
|
||||
|
||||
ppl_lst=[]
|
||||
for person in ppl:
|
||||
ppl_lst.append(person.id)
|
||||
|
||||
job.ppl = ppl_lst
|
||||
|
||||
for jex in job.extra:
|
||||
if 'eid-' in jex.name:
|
||||
entry=session.query(Entry).get(jex.value)
|
||||
@@ -1430,7 +1431,6 @@ def UnmatchedFacesForFile( eid ):
|
||||
return rows
|
||||
|
||||
def ScanFileForPerson( job, e, person_id, force=False ):
|
||||
# AddLogForJob( job, f'INFO: Looking for person: {person_id} in file: {e.name}' )
|
||||
file_h = session.query(File).get( e.id )
|
||||
# if we are forcing this, delete any old faces (this will also delete linked tables), and reset faces_created_on to None
|
||||
if force:
|
||||
|
||||
Reference in New Issue
Block a user