diff --git a/__init__.py b/__init__.py index dd5a5fc..6a3b822 100644 --- a/__init__.py +++ b/__init__.py @@ -25,34 +25,28 @@ DATA_TYPE_ITEM = 'item' DATA_TYPE_SEARCH = 'search' -def __get_settings__(): - from .models import Setting - try: - s = Setting.objects.get(id=1) - except Setting.DoesNotExist: - s = Setting(id=1) - s.save() - return s - - def suspend_public(): - return __get_settings__().suspend_puplic + return settings.SUSPEND_PUBLIC def show_image(): - return __get_settings__().show_image + return settings.SHOW_IMAGE def show_video(): - return __get_settings__().show_video + return settings.SHOW_VIDEO def show_audio(): - return __get_settings__().show_audio + return settings.SHOW_AUDIO def show_other(): - return __get_settings__().show_other + return settings.SHOW_OTHER + + +def sort_by_date(): + return settings.SORT_BY_DATE def dict2args(d): diff --git a/admin.py b/admin.py index 91d3bcd..9284fed 100644 --- a/admin.py +++ b/admin.py @@ -1,5 +1,5 @@ from django.contrib import admin -from .models import Item, Tag, Setting, TYPE_AUDIO, TYPE_FOLDER, TYPE_IMAGE, TYPE_VIDEO +from .models import Item, Tag, TYPE_AUDIO, TYPE_FOLDER, TYPE_IMAGE, TYPE_VIDEO class ItemAdmin(admin.ModelAdmin): @@ -106,4 +106,3 @@ class TagAdmin(admin.ModelAdmin): admin.site.register(Item, ItemAdmin) admin.site.register(Tag, TagAdmin) -admin.site.register(Setting) diff --git a/migrations/0004_delete_setting.py b/migrations/0004_delete_setting.py new file mode 100644 index 0000000..aa605fd --- /dev/null +++ b/migrations/0004_delete_setting.py @@ -0,0 +1,16 @@ +# Generated by Django 2.2.9 on 2020-01-31 09:37 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('pygal', '0003_auto_20200130_2203'), + ] + + operations = [ + migrations.DeleteModel( + name='Setting', + ), + ] diff --git a/models.py b/models.py index 9640a2b..a291a91 100644 --- a/models.py +++ b/models.py @@ -9,7 +9,6 @@ import logging import media import os import pygal -import subprocess import time DEBUG = False @@ -306,11 +305,14 @@ class Item(models.Model): return user in parent.modify_access.all() def sort_string(self): - try: - tm = int(self.item_data.datetime.strftime('%s')) - except AttributeError: - raise AttributeError('Unable to create a sortstring for %s. Used datetime was: %s' % (str(self), repr(self.item_data.datetime))) - return '%012d_%s' % (tm, os.path.basename(self.rel_path)) + if pygal.sort_by_date(): + try: + tm = int(self.item_data.datetime.strftime('%s')) + except AttributeError: + raise AttributeError('Unable to create a sortstring for %s. Used datetime was: %s' % (str(self), repr(self.item_data.datetime))) + return '%012d_%s' % (tm, os.path.basename(self.rel_path)) + else: + return self.rel_path def sorted_itemlist(self): if self.type == TYPE_FOLDER: @@ -357,7 +359,7 @@ class Item(models.Model): def current_settings(self): if self.__current_settings__ is None: - self.__current_settings__ = pygal.show_audio() * 1 + pygal.show_image() * 2 + pygal.show_other() * 3 + pygal.show_video() * 4 + self.__current_settings__ = pygal.show_audio() * 1 + pygal.show_image() * 2 + pygal.show_other() * 4 + pygal.show_video() * 8 + pygal.sort_by_date() * 16 return self.__current_settings__ def __cache_update_needed__(self): @@ -413,7 +415,7 @@ class Item(models.Model): self.num_videos_c += 1 # sorted item list sil.append(sub_item) - sil.sort(key=lambda entry: entry.sort_string(), reverse=True) + sil.sort(key=lambda entry: entry.sort_string(), reverse=pygal.sort_by_date()) self.sil_c = json.dumps([i.rel_path for i in sil], indent=4) # datetime if len(sil) > 0: @@ -466,11 +468,3 @@ class Tag(models.Model): """the url to the Django admin interface for the model instance""" info = (self._meta.app_label, self._meta.model_name) return reverse('admin:%s_%s_change' % info, args=(self.pk,)) - - -class Setting(models.Model): - suspend_puplic = models.BooleanField(default=True) - show_image = models.BooleanField(default=True) - show_video = models.BooleanField(default=True) - show_audio = models.BooleanField(default=False) - show_other = models.BooleanField(default=False)