diff --git a/pa_job_manager.py b/pa_job_manager.py index af8470d..65b8874 100644 --- a/pa_job_manager.py +++ b/pa_job_manager.py @@ -320,13 +320,23 @@ def MessageToFE( job_id, alert, message ): session.commit() return msg.id -def ProcessRecycleBinDir(parent_job): +def ProcessRecycleBinDir(job): settings = session.query(Settings).first() if settings == None: raise Exception("Cannot create file data with no settings / recycle bin path is missing") - paths = settings.recycle_bin_path.split("#") ptype = session.query(PathType).filter(PathType.name=='Bin').first() - JobsForPaths( parent_job, paths, ptype ) + paths = settings.recycle_bin_path.split("#") + + for path in paths: + if not os.path.exists( path ): + AddLogForJob( job, f"Not Importing {path} -- Path does not exist" ) + continue + symlink=SymlinkName(ptype.name, path, path) + # create the Path (and Dir objects for the Bin) + AddPath( job, symlink, ptype.id ) + + session.commit() + return def ProcessStorageDirs(parent_job): @@ -520,6 +530,8 @@ def JobScanStorageDir(job): def JobForceScan(job): JobProgressState( job, "In Progress" ) + session.query(FaceFileLink).delete() + session.query(FaceRefimgLink).delete() session.query(DelFile).delete() session.query(FileRefimgLink).delete() session.query(EntryDirLink).delete() @@ -954,6 +966,8 @@ def WrapperForScanFileForPerson(job, entry): 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) return @@ -977,6 +991,8 @@ def JobRunAIOn(job): ProcessFilesInDir( job, entry, WrapperForScanFileForPerson ) elif entry.type.name == 'Image': which_file=session.query(Entry).join(File).filter(Entry.id==jex.value).first() + if DEBUG: + AddLogForJob( job, f'INFO: processing File: {entry.name}' ) for person in ppl: ScanFileForPerson( job, which_file, person.id, force=False) else: @@ -1412,7 +1428,7 @@ 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}' ) +# 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: