find_playlist was not called under some circonstances
This commit is contained in:
parent
428903acfd
commit
f92aa8d1b2
|
@ -1,3 +1,5 @@
|
|||
import math
|
||||
|
||||
from django.contrib import admin
|
||||
from django.utils.safestring import mark_safe
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
@ -29,7 +31,7 @@ class SoundInline(admin.TabularInline):
|
|||
|
||||
def audio(self, obj):
|
||||
return mark_safe('<audio src="{}" controls></audio>'.format(obj.file.url))
|
||||
audio.short_descripton = _('Audio')
|
||||
audio.short_description = _('Audio')
|
||||
|
||||
def get_queryset(self, request):
|
||||
return super().get_queryset(request).available()
|
||||
|
@ -60,7 +62,7 @@ class SoundAdmin(admin.ModelAdmin):
|
|||
|
||||
def audio(self, obj):
|
||||
return mark_safe('<audio src="{}" controls></audio>'.format(obj.file.url))
|
||||
audio.short_descripton = _('Audio')
|
||||
audio.short_description = _('Audio')
|
||||
|
||||
|
||||
@admin.register(Track)
|
||||
|
@ -68,7 +70,7 @@ class TrackAdmin(admin.ModelAdmin):
|
|||
def tag_list(self, obj):
|
||||
return u", ".join(o.name for o in obj.tags.all())
|
||||
|
||||
list_display = ['pk', 'artist', 'title', 'tag_list', 'episode', 'sound', 'timestamp']
|
||||
list_display = ['pk', 'artist', 'title', 'tag_list', 'episode', 'sound', 'ts']
|
||||
list_editable = ['artist', 'title']
|
||||
list_filter = ['artist', 'title', 'tags']
|
||||
|
||||
|
@ -80,4 +82,15 @@ class TrackAdmin(admin.ModelAdmin):
|
|||
|
||||
# TODO on edit: readonly_fields = ['episode', 'sound']
|
||||
|
||||
def ts(self, obj):
|
||||
ts = obj.timestamp
|
||||
if ts is None:
|
||||
return ''
|
||||
h = math.floor(ts / 3600)
|
||||
m = math.floor((ts - h) / 60)
|
||||
s = ts-h*3600-m*60
|
||||
return '{:0>2}:{:0>2}:{:0>2}'.format(h,m,s)
|
||||
|
||||
ts.short_description = _('timestamp')
|
||||
|
||||
|
||||
|
|
|
@ -105,8 +105,9 @@ class SoundFile:
|
|||
self.find_episode(program)
|
||||
|
||||
sound.save()
|
||||
if self.info is not None:
|
||||
self.find_playlist(sound)
|
||||
|
||||
# check for playlist
|
||||
self.find_playlist(sound)
|
||||
return sound
|
||||
|
||||
def read_path(self):
|
||||
|
@ -175,12 +176,12 @@ class SoundFile:
|
|||
"""
|
||||
if sound is None:
|
||||
sound = self.sound
|
||||
|
||||
if sound.track_set.count():
|
||||
if sound.track_set.count() > 1:
|
||||
return
|
||||
|
||||
# import playlist
|
||||
path = os.path.splitext(self.sound.file.path)[0] + '.csv'
|
||||
path_noext, ext = os.path.splitext(self.sound.file.path)
|
||||
path = path_noext + '.csv'
|
||||
if os.path.exists(path):
|
||||
PlaylistImport(path, sound=sound).run()
|
||||
# use metadata
|
||||
|
@ -189,14 +190,18 @@ class SoundFile:
|
|||
self.read_file_info()
|
||||
if self.info.tags:
|
||||
tags = self.info.tags
|
||||
info = '{} ({})'.format(tags.get('album'), tags.get('year')) \
|
||||
if ('album' and 'year' in tags) else tags.get('album') \
|
||||
if 'album' in tags else tags.get('year', '')
|
||||
|
||||
title, artist, album, year = tuple(
|
||||
t and ', '.join(t) for t in (
|
||||
tags.get(k) for k in ('title', 'artist', 'album', 'year'))
|
||||
)
|
||||
title = title or (self.path_info and self.path_info.get('name')) or \
|
||||
os.path.basename(path_noext)
|
||||
info = '{} ({})'.format(album, year) if album and year else \
|
||||
album or year or ''
|
||||
track = Track(sound=sound,
|
||||
position=int(tags.get('tracknumber', 0)),
|
||||
title=tags.get('title', self.path_info['name']),
|
||||
artist=tags.get('artist', _('unknown')),
|
||||
title=title,
|
||||
artist=artist or _('unknown'),
|
||||
info=info)
|
||||
track.save()
|
||||
|
||||
|
|
|
@ -126,12 +126,13 @@ class Monitor:
|
|||
|
||||
def log(self, **kwargs):
|
||||
""" Create a log using **kwargs, and print info """
|
||||
kwargs.setdefault('station', self.station)
|
||||
kwargs.setdefault('date', tz.now())
|
||||
|
||||
if self.__last_log_kwargs == kwargs:
|
||||
return
|
||||
|
||||
self.__last_log_kwargs = kwargs
|
||||
kwargs.setdefault('station', self.station)
|
||||
kwargs.setdefault('date', tz.now())
|
||||
log = Log(**kwargs)
|
||||
log.save()
|
||||
log.print()
|
||||
|
|
Loading…
Reference in New Issue
Block a user