42 lines
1.3 KiB
Python
42 lines
1.3 KiB
Python
from django.contrib.auth import get_user_model
|
|
from django.db import models
|
|
|
|
from .schedule import Schedule
|
|
|
|
|
|
class Webstream(models.Model):
|
|
name = models.CharField(max_length=255)
|
|
description = models.CharField(max_length=255)
|
|
url = models.CharField(max_length=512)
|
|
length = models.DurationField()
|
|
creator_id = models.IntegerField()
|
|
mtime = models.DateTimeField()
|
|
utime = models.DateTimeField()
|
|
lptime = models.DateTimeField(blank=True, null=True)
|
|
mime = models.CharField(max_length=1024, blank=True, null=True)
|
|
|
|
def get_owner(self):
|
|
User = get_user_model()
|
|
return User.objects.get(pk=self.creator_id)
|
|
|
|
class Meta:
|
|
managed = False
|
|
db_table = "cc_webstream"
|
|
permissions = [
|
|
("change_own_webstream", "Change the webstreams where they are the owner"),
|
|
("delete_own_webstream", "Delete the webstreams where they are the owner"),
|
|
]
|
|
|
|
|
|
class WebstreamMetadata(models.Model):
|
|
instance = models.ForeignKey(Schedule, models.DO_NOTHING)
|
|
start_time = models.DateTimeField()
|
|
liquidsoap_data = models.CharField(max_length=1024)
|
|
|
|
def get_owner(self):
|
|
return self.instance.get_owner()
|
|
|
|
class Meta:
|
|
managed = False
|
|
db_table = "cc_webstream_metadata"
|