small fixes and tests
This commit is contained in:
@ -80,7 +80,13 @@ class EpisodeAdmin (NameableAdmin):
|
||||
|
||||
@admin.register(Diffusion)
|
||||
class DiffusionAdmin (admin.ModelAdmin):
|
||||
list_display = ('id', 'type', 'date', 'episode', 'program', 'stream')
|
||||
def archives (self, obj):
|
||||
sounds = obj.episode and \
|
||||
(os.path.basename(sound.path) for sound in obj.episode.sounds.all()
|
||||
if sound.type == Sound.Type['archive'] )
|
||||
return ', '.join(sounds) if sounds else ''
|
||||
|
||||
list_display = ('id', 'type', 'date', 'archives', 'episode', 'program', 'stream')
|
||||
list_filter = ('type', 'date', 'program', 'stream')
|
||||
list_editable = ('type', 'date')
|
||||
|
||||
|
@ -65,7 +65,6 @@ class Command (BaseCommand):
|
||||
|
||||
def add_arguments (self, parser):
|
||||
parser.formatter_class=RawTextHelpFormatter
|
||||
|
||||
now = tz.datetime.today()
|
||||
|
||||
group = parser.add_argument_group('action')
|
||||
@ -86,9 +85,11 @@ class Command (BaseCommand):
|
||||
|
||||
group = parser.add_argument_group(
|
||||
'date')
|
||||
group.add_argument('--year', type=int, default=now.year,
|
||||
group.add_argument(
|
||||
'--year', type=int, default=now.year,
|
||||
help='used by update, default is today\'s year')
|
||||
group.add_argument('--month', type=int, default=now.month,
|
||||
group.add_argument(
|
||||
'--month', type=int, default=now.month,
|
||||
help='used by update, default is today\'s month')
|
||||
|
||||
def handle (self, *args, **options):
|
||||
|
@ -48,7 +48,8 @@ class Command (BaseCommand):
|
||||
)
|
||||
parser.add_argument(
|
||||
'-s', '--scan', action='store_true',
|
||||
help='Scan programs directories for changes'
|
||||
help='Scan programs directories for changes, plus check for a '
|
||||
' matching episode on sounds that have not been yet assigned'
|
||||
)
|
||||
|
||||
|
||||
@ -101,6 +102,7 @@ class Command (BaseCommand):
|
||||
self.report(program, path, 'no diffusion found for the given date')
|
||||
return
|
||||
diffusion = diffusion[0]
|
||||
print(diffusion, sound_info)
|
||||
return diffusion.episode or None
|
||||
|
||||
@staticmethod
|
||||
@ -163,7 +165,7 @@ class Command (BaseCommand):
|
||||
episode.sounds.add(sound)
|
||||
episode.save()
|
||||
|
||||
self.check_sounds(Sound.objects.filter(path__startswith == subdir))
|
||||
self.check_sounds(Sound.objects.filter(path__startswith = subdir))
|
||||
|
||||
def check_quality (self, check = False):
|
||||
"""
|
||||
@ -179,7 +181,6 @@ class Command (BaseCommand):
|
||||
else:
|
||||
files = [ sound.path for sound in sounds.filter(removed = False) ]
|
||||
|
||||
|
||||
print('start quality check...')
|
||||
cmd = quality_check.Command()
|
||||
cmd.handle( files = files,
|
||||
|
@ -34,8 +34,8 @@ class Nameable (models.Model):
|
||||
return slugify(self.name)
|
||||
|
||||
def __str__ (self):
|
||||
if self.pk:
|
||||
return '#{} {}'.format(self.pk, self.name)
|
||||
#if self.pk:
|
||||
# return '#{} {}'.format(self.pk, self.name)
|
||||
return '{}'.format(self.name)
|
||||
|
||||
class Meta:
|
||||
@ -391,7 +391,7 @@ class Diffusion (models.Model):
|
||||
verbose_name_plural = _('Diffusions')
|
||||
|
||||
|
||||
class Stream (models.Model):
|
||||
class Stream (Nameable):
|
||||
Type = {
|
||||
'random': 0x00, # selection using random function
|
||||
'schedule': 0x01, # selection using schedule
|
||||
@ -399,11 +399,6 @@ class Stream (models.Model):
|
||||
for key, value in Type.items():
|
||||
ugettext_lazy(key)
|
||||
|
||||
name = models.CharField(
|
||||
_('name'),
|
||||
max_length = 32,
|
||||
blank = True, null = True,
|
||||
)
|
||||
public = models.BooleanField(
|
||||
_('public'),
|
||||
default = True,
|
||||
@ -435,9 +430,6 @@ class Stream (models.Model):
|
||||
# - random lists
|
||||
# - scheduled lists
|
||||
|
||||
def __str__ (self):
|
||||
return '#{} {}'.format(self.priority, self.name)
|
||||
|
||||
|
||||
class Program (Nameable):
|
||||
stream = models.ForeignKey(
|
||||
|
Reference in New Issue
Block a user