From b61b4595a7aa22034666375a8a006ea005483500 Mon Sep 17 00:00:00 2001 From: "ajurna@gmail.com" Date: Tue, 3 May 2016 16:34:41 +0100 Subject: [PATCH] made scan_comics remove orphaned records in the db. --- comic/management/commands/scan_comics.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/comic/management/commands/scan_comics.py b/comic/management/commands/scan_comics.py index 9c3420e..cc94d06 100644 --- a/comic/management/commands/scan_comics.py +++ b/comic/management/commands/scan_comics.py @@ -1,10 +1,10 @@ +import os +from os.path import isdir + from django.core.management.base import BaseCommand from comic.models import Setting, Directory, ComicBook -import os -from os.path import isdir - class Command(BaseCommand): help = 'Scan directories to Update Comic DB' @@ -26,6 +26,13 @@ class Command(BaseCommand): comic_dir = self.base_dir else: comic_dir = os.path.join(self.base_dir, directory.path) + if directory: + books = ComicBook.objects.filter(directory=directory) + else: + books = ComicBook.objects.filter(directory__isnull=True) + for book in books: + if not os.path.isfile(os.path.join(comic_dir, book.file_name)): + book.delete() for file in os.listdir(comic_dir): if isdir(os.path.join(comic_dir, file)): if directory: