removed redundant directory scan.

This commit is contained in:
ajurna@gmail.com
2016-04-05 15:30:12 +01:00
parent 589e46a7c1
commit 34188665e9
3 changed files with 5 additions and 31 deletions

View File

@@ -27,7 +27,7 @@ class Setting(models.Model):
class Directory(models.Model):
name = models.CharField(max_length=100)
parent = models.ForeignKey('Directory', null=True, blank=True)
parent = models.ForeignKey('Directory', null=True, blank=True, on_delete=models.CASCADE)
selector = models.UUIDField(unique=True, default=uuid.uuid4, db_index=True)
def __str__(self):
@@ -73,7 +73,7 @@ class Directory(models.Model):
class ComicBook(models.Model):
file_name = models.CharField(max_length=100, unique=False)
date_added = models.DateTimeField(auto_now_add=True)
directory = models.ForeignKey(Directory, blank=True, null=True)
directory = models.ForeignKey(Directory, blank=True, null=True, on_delete=models.CASCADE)
selector = models.UUIDField(unique=True, default=uuid.uuid4, db_index=True)
version = models.IntegerField(default=1)
@@ -309,7 +309,7 @@ class ComicBook(models.Model):
class ComicPage(models.Model):
Comic = models.ForeignKey(ComicBook)
Comic = models.ForeignKey(ComicBook, on_delete=models.CASCADE)
index = models.IntegerField()
page_file_name = models.CharField(max_length=100, unique=False)
content_type = models.CharField(max_length=30)
@@ -317,7 +317,7 @@ class ComicPage(models.Model):
class ComicStatus(models.Model):
user = models.ForeignKey(User, unique=False, null=False)
comic = models.ForeignKey(ComicBook, unique=False, null=False)
comic = models.ForeignKey(ComicBook, unique=False, null=False, on_delete=models.CASCADE)
last_read_page = models.IntegerField(default=0)
unread = models.BooleanField(default=True)
finished = models.BooleanField(default=False)

View File

@@ -182,26 +182,3 @@ def get_ordered_dir_list(folder):
else:
files.append(item)
return sorted(directories) + sorted(files)
def scan_directory(directory=False):
"""
TODO: Increase efficiency of this. reduce amount of queries.
:type directory: Directory
"""
base_dir = Setting.objects.get(name='BASE_DIR').value
# filter(os.path.isdir, os.listdir(os.getcwd()))
if directory:
full_path = path.join(base_dir, directory.path)
else:
full_path = base_dir
dir_list = listdir(full_path)
directorys = [d for d in dir_list if path.isdir(path.join(full_path, d))]
for direct in directorys:
if directory:
d, created = Directory.objects.get_or_create(name=direct,
parent=directory)
else:
d, created = Directory.objects.get_or_create(name=direct)
if created:
d.save()

View File

@@ -15,7 +15,7 @@ from django.views.decorators.http import require_POST
from .forms import SettingsForm, AccountForm, EditUserForm, AddUserForm, InitialSetupForm
from .models import Setting, ComicBook, ComicStatus, Directory, ComicPage
from .util import generate_breadcrumbs_from_path, generate_breadcrumbs_from_menu, \
generate_title_from_path, Menu, generate_directory, scan_directory
generate_title_from_path, Menu, generate_directory
@ensure_csrf_cookie
@@ -34,8 +34,6 @@ def comic_list(request, directory_selector=False):
else:
directory = False
scan_directory(directory)
if directory:
title = generate_title_from_path(directory.path)
breadcrumbs = generate_breadcrumbs_from_path(directory)
@@ -80,7 +78,6 @@ def comic_list_json(request, directory_selector=False):
)
@login_required
def account_page(request):
success_message = []