mirror of
https://github.com/ajurna/cbwebreader.git
synced 2025-12-06 06:17:17 +00:00
removed redundant directory scan.
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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 = []
|
||||
|
||||
Reference in New Issue
Block a user