diff --git a/ai/__pycache__/__init__.cpython-311.pyc b/ai/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000..9beeae7 Binary files /dev/null and b/ai/__pycache__/__init__.cpython-311.pyc differ diff --git a/ai/__pycache__/local_ai_api.cpython-311.pyc b/ai/__pycache__/local_ai_api.cpython-311.pyc new file mode 100644 index 0000000..ae12bda Binary files /dev/null and b/ai/__pycache__/local_ai_api.cpython-311.pyc differ diff --git a/core/__pycache__/models.cpython-311.pyc b/core/__pycache__/models.cpython-311.pyc index e061640..51ad1fd 100644 Binary files a/core/__pycache__/models.cpython-311.pyc and b/core/__pycache__/models.cpython-311.pyc differ diff --git a/core/__pycache__/urls.cpython-311.pyc b/core/__pycache__/urls.cpython-311.pyc index 5a69659..40d6968 100644 Binary files a/core/__pycache__/urls.cpython-311.pyc and b/core/__pycache__/urls.cpython-311.pyc differ diff --git a/core/__pycache__/views.cpython-311.pyc b/core/__pycache__/views.cpython-311.pyc index 2a36fd6..c3e25ff 100644 Binary files a/core/__pycache__/views.cpython-311.pyc and b/core/__pycache__/views.cpython-311.pyc differ diff --git a/core/migrations/0001_initial.py b/core/migrations/0001_initial.py new file mode 100644 index 0000000..c975305 --- /dev/null +++ b/core/migrations/0001_initial.py @@ -0,0 +1,48 @@ +# Generated by Django 5.2.7 on 2026-02-08 03:43 + +import django.db.models.deletion +import django.utils.timezone +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='Project', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('title', models.CharField(max_length=255)), + ('description', models.TextField(blank=True)), + ('created_at', models.DateTimeField(default=django.utils.timezone.now)), + ('updated_at', models.DateTimeField(auto_now=True)), + ('status', models.CharField(choices=[('draft', 'Draft'), ('scripting', 'Scripting'), ('processing', 'Processing'), ('completed', 'Completed')], default='draft', max_length=20)), + ], + ), + migrations.CreateModel( + name='MediaAsset', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('file', models.FileField(upload_to='assets/%Y/%m/%d/')), + ('asset_type', models.CharField(choices=[('video', 'Video'), ('audio', 'Audio'), ('image', 'Image')], max_length=10)), + ('original_name', models.CharField(max_length=255)), + ('created_at', models.DateTimeField(default=django.utils.timezone.now)), + ('project', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='assets', to='core.project')), + ], + ), + migrations.CreateModel( + name='Script', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('prompt', models.TextField()), + ('content', models.TextField()), + ('created_at', models.DateTimeField(default=django.utils.timezone.now)), + ('project', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='scripts', to='core.project')), + ], + ), + ] diff --git a/core/migrations/__pycache__/0001_initial.cpython-311.pyc b/core/migrations/__pycache__/0001_initial.cpython-311.pyc new file mode 100644 index 0000000..f625734 Binary files /dev/null and b/core/migrations/__pycache__/0001_initial.cpython-311.pyc differ diff --git a/core/models.py b/core/models.py index 71a8362..010acab 100644 --- a/core/models.py +++ b/core/models.py @@ -1,3 +1,44 @@ from django.db import models +from django.utils import timezone -# Create your models here. +class Project(models.Model): + STATUS_CHOICES = [ + ('draft', 'Draft'), + ('scripting', 'Scripting'), + ('processing', 'Processing'), + ('completed', 'Completed'), + ] + + title = models.CharField(max_length=255) + description = models.TextField(blank=True) + created_at = models.DateTimeField(default=timezone.now) + updated_at = models.DateTimeField(auto_now=True) + status = models.CharField(max_length=20, choices=STATUS_CHOICES, default='draft') + + def __str__(self): + return self.title + +class Script(models.Model): + project = models.ForeignKey(Project, on_delete=models.CASCADE, related_name='scripts') + prompt = models.TextField() + content = models.TextField() # JSON or structured text from AI + created_at = models.DateTimeField(default=timezone.now) + + def __str__(self): + return f"Script for {self.project.title} ({self.created_at.strftime('%Y-%m-%d')})" + +class MediaAsset(models.Model): + ASSET_TYPE_CHOICES = [ + ('video', 'Video'), + ('audio', 'Audio'), + ('image', 'Image'), + ] + + project = models.ForeignKey(Project, on_delete=models.CASCADE, related_name='assets') + file = models.FileField(upload_to='assets/%Y/%m/%d/') + asset_type = models.CharField(max_length=10, choices=ASSET_TYPE_CHOICES) + original_name = models.CharField(max_length=255) + created_at = models.DateTimeField(default=timezone.now) + + def __str__(self): + return self.original_name \ No newline at end of file diff --git a/core/templates/base.html b/core/templates/base.html index 1e7e5fb..f92452d 100644 --- a/core/templates/base.html +++ b/core/templates/base.html @@ -1,25 +1,165 @@ +{% load static %} -
- -