108 lines
3.6 KiB
Python
108 lines
3.6 KiB
Python
from django.db import models
|
|
|
|
|
|
class Show(models.Model):
|
|
name = models.CharField(max_length=255)
|
|
url = models.CharField(max_length=255, blank=True, null=True)
|
|
genre = models.CharField(max_length=255, blank=True, null=True)
|
|
description = models.CharField(max_length=8192, blank=True, null=True)
|
|
color = models.CharField(max_length=6, blank=True, null=True)
|
|
background_color = models.CharField(max_length=6, blank=True, null=True)
|
|
live_stream_using_airtime_auth = models.BooleanField(blank=True, null=True)
|
|
live_stream_using_custom_auth = models.BooleanField(blank=True, null=True)
|
|
live_stream_user = models.CharField(max_length=255, blank=True, null=True)
|
|
live_stream_pass = models.CharField(max_length=255, blank=True, null=True)
|
|
linked = models.BooleanField()
|
|
is_linkable = models.BooleanField()
|
|
image_path = models.CharField(max_length=255, blank=True, null=True)
|
|
has_autoplaylist = models.BooleanField()
|
|
autoplaylist = models.ForeignKey(
|
|
"schedule.Playlist",
|
|
on_delete=models.DO_NOTHING,
|
|
blank=True,
|
|
null=True,
|
|
)
|
|
autoplaylist_repeat = models.BooleanField()
|
|
|
|
def get_owner(self):
|
|
return self.showhost_set.all()
|
|
|
|
class Meta:
|
|
managed = False
|
|
db_table = "cc_show"
|
|
|
|
|
|
class ShowDays(models.Model):
|
|
first_show = models.DateField()
|
|
last_show = models.DateField(blank=True, null=True)
|
|
start_time = models.TimeField()
|
|
timezone = models.CharField(max_length=1024)
|
|
duration = models.CharField(max_length=1024)
|
|
day = models.SmallIntegerField(blank=True, null=True)
|
|
repeat_type = models.SmallIntegerField()
|
|
next_pop_date = models.DateField(blank=True, null=True)
|
|
show = models.ForeignKey("schedule.Show", on_delete=models.DO_NOTHING)
|
|
record = models.SmallIntegerField(blank=True, null=True)
|
|
|
|
def get_owner(self):
|
|
return self.show.get_owner()
|
|
|
|
class Meta:
|
|
managed = False
|
|
db_table = "cc_show_days"
|
|
|
|
|
|
class ShowHost(models.Model):
|
|
show = models.ForeignKey("schedule.Show", on_delete=models.DO_NOTHING)
|
|
subjs = models.ForeignKey("core.User", on_delete=models.DO_NOTHING)
|
|
|
|
class Meta:
|
|
managed = False
|
|
db_table = "cc_show_hosts"
|
|
|
|
|
|
class ShowInstance(models.Model):
|
|
description = models.CharField(max_length=8192, blank=True, null=True)
|
|
starts = models.DateTimeField()
|
|
ends = models.DateTimeField()
|
|
show = models.ForeignKey("schedule.Show", on_delete=models.DO_NOTHING)
|
|
record = models.SmallIntegerField(blank=True, null=True)
|
|
rebroadcast = models.SmallIntegerField(blank=True, null=True)
|
|
instance = models.ForeignKey(
|
|
"self",
|
|
on_delete=models.DO_NOTHING,
|
|
blank=True,
|
|
null=True,
|
|
)
|
|
file = models.ForeignKey(
|
|
"storage.File",
|
|
on_delete=models.DO_NOTHING,
|
|
blank=True,
|
|
null=True,
|
|
)
|
|
time_filled = models.DurationField(blank=True, null=True)
|
|
created = models.DateTimeField()
|
|
last_scheduled = models.DateTimeField(blank=True, null=True)
|
|
modified_instance = models.BooleanField()
|
|
autoplaylist_built = models.BooleanField()
|
|
|
|
def get_owner(self):
|
|
return self.show.get_owner()
|
|
|
|
class Meta:
|
|
managed = False
|
|
db_table = "cc_show_instances"
|
|
|
|
|
|
class ShowRebroadcast(models.Model):
|
|
day_offset = models.CharField(max_length=1024)
|
|
start_time = models.TimeField()
|
|
show = models.ForeignKey("schedule.Show", on_delete=models.DO_NOTHING)
|
|
|
|
def get_owner(self):
|
|
return self.show.get_owner()
|
|
|
|
class Meta:
|
|
managed = False
|
|
db_table = "cc_show_rebroadcast"
|