actually call RemoveDirFromDB when deleting a missing dir, I really screwed this - didnt test properly until now. Should all work finally

This commit is contained in:
2021-09-25 13:13:35 +10:00
parent 5abd01bb4d
commit 92e643f425

View File

@@ -903,10 +903,11 @@ def RemoveFileFromDB(job, del_me):
session.query(Face).filter(Face.id==ffl.face_id).delete()
session.query(File).filter(File.eid==del_me.id).delete()
session.query(Entry).filter(Entry.id==del_me.id).delete()
AddLogForJob( job, f"INFO: Removing {del_me.name} from system as it is no longer on the file system")
AddLogForJob( job, f"INFO: Removing file: {del_me.name} from system as it is no longer on the file system")
CleanUpDirInDB(job, parent_dir_e)
return
####################################################################################################################################
# Function that restores a file that was deleted (moved into the Bin)
# it moves file on the filesystem back to its original path and then changes the database path from the Bin path
@@ -1045,10 +1046,12 @@ def MoveFileToNewFolderInStorage(job,move_me, dst_storage_path, dst_rel_path):
####################################################################################################################################
# Convenience function to remove a dir from the database - and its associated links
####################################################################################################################################
def RemoveDirFromDB(id):
session.query(EntryDirLink).filter(EntryDirLink.entry_id==id).delete()
session.query(Dir).filter(Dir.eid==id).delete()
session.query(Entry).filter(Entry.id==id).delete()
def RemoveDirFromDB(job, del_me):
session.query(PathDirLink).filter(PathDirLink.dir_eid==del_me.id).delete()
session.query(EntryDirLink).filter(EntryDirLink.entry_id==del_me.id).delete()
session.query(Dir).filter(Dir.eid==del_me.id).delete()
session.query(Entry).filter(Entry.id==del_me.id).delete()
AddLogForJob( job, f"INFO: Removing dir: id={del_me.name} from system as it is no longer on the file system")
return
####################################################################################################################################
@@ -1065,7 +1068,7 @@ def HandleAnyFSDeletions(job):
rmdirs = session.query(Entry).filter(Entry.exists_on_fs==False,Entry.type_id==dtype.id).order_by(Entry.id.desc()).all()
for rmdir in rmdirs:
RemoveFileFromDB(job, rmdir)
RemoveDirFromDB(job, rmdir)
rm_cnt+=1
return rm_cnt