Article Mutators
This commit is contained in:
parent
34ac7ae8ed
commit
4d74cab9c0
@ -1,4 +1,4 @@
|
||||
# Generated by Django 5.0.4 on 2024-06-11 13:58
|
||||
# Generated by Django 5.0.4 on 2024-06-17 01:11
|
||||
|
||||
import django.db.models.deletion
|
||||
import django.utils.timezone
|
||||
@ -22,6 +22,7 @@ class Migration(migrations.Migration):
|
||||
('name', models.CharField(max_length=32)),
|
||||
('keywords', models.CharField(blank=True, max_length=128, null=True)),
|
||||
('regex', models.CharField(blank=True, max_length=128, null=True)),
|
||||
('whitelist', models.BooleanField(default=False)),
|
||||
('guild_id', models.CharField(max_length=128)),
|
||||
],
|
||||
options={
|
||||
@ -67,6 +68,7 @@ class Migration(migrations.Migration):
|
||||
('guild_id', models.CharField(max_length=128)),
|
||||
('creation_datetime', models.DateTimeField(default=django.utils.timezone.now, editable=False)),
|
||||
('extra_notes', models.CharField(blank=True, max_length=250, null=True)),
|
||||
('uwuify', models.BooleanField(default=False)),
|
||||
('active', models.BooleanField(default=True)),
|
||||
],
|
||||
options={
|
||||
@ -78,11 +80,18 @@ class Migration(migrations.Migration):
|
||||
migrations.CreateModel(
|
||||
name='TrackedContent',
|
||||
fields=[
|
||||
('guid', models.CharField(max_length=128, primary_key=True, serialize=False)),
|
||||
('id', models.AutoField(primary_key=True, serialize=False)),
|
||||
('guid', models.CharField(max_length=128)),
|
||||
('title', models.CharField(max_length=128)),
|
||||
('url', models.URLField()),
|
||||
('url', models.URLField(unique=True)),
|
||||
('blocked', models.BooleanField(default=False)),
|
||||
('creation_datetime', models.DateTimeField(default=django.utils.timezone.now, editable=False)),
|
||||
('guild_id', models.CharField(max_length=128)),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'tracked contents',
|
||||
'get_latest_by': '-creation_datetime',
|
||||
},
|
||||
),
|
||||
migrations.AddConstraint(
|
||||
model_name='filter',
|
||||
@ -120,4 +129,12 @@ class Migration(migrations.Migration):
|
||||
model_name='subchannel',
|
||||
constraint=models.UniqueConstraint(fields=('channel_id', 'subscription'), name='unique channel id and subscription pair'),
|
||||
),
|
||||
migrations.AddConstraint(
|
||||
model_name='trackedcontent',
|
||||
constraint=models.UniqueConstraint(fields=('guid', 'guild_id'), name='unique guid & guild_id pair'),
|
||||
),
|
||||
migrations.AddConstraint(
|
||||
model_name='trackedcontent',
|
||||
constraint=models.UniqueConstraint(fields=('url', 'guild_id'), name='unique url & guild_id pair'),
|
||||
),
|
||||
]
|
||||
|
21
apps/home/migrations/0002_articlemutator.py
Normal file
21
apps/home/migrations/0002_articlemutator.py
Normal file
@ -0,0 +1,21 @@
|
||||
# Generated by Django 5.0.4 on 2024-06-17 01:30
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('home', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='ArticleMutator',
|
||||
fields=[
|
||||
('id', models.AutoField(primary_key=True, serialize=False)),
|
||||
('name', models.CharField(max_length=64)),
|
||||
('value', models.CharField(max_length=32)),
|
||||
],
|
||||
),
|
||||
]
|
@ -1,18 +0,0 @@
|
||||
# Generated by Django 5.0.4 on 2024-06-11 20:51
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('home', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='trackedcontent',
|
||||
name='blocked',
|
||||
field=models.BooleanField(default=False),
|
||||
),
|
||||
]
|
@ -1,18 +0,0 @@
|
||||
# Generated by Django 5.0.4 on 2024-06-12 08:30
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('home', '0002_trackedcontent_blocked'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='filter',
|
||||
name='whitelist',
|
||||
field=models.BooleanField(default=False),
|
||||
),
|
||||
]
|
31
apps/home/migrations/0003_initial_mutator_data.py
Normal file
31
apps/home/migrations/0003_initial_mutator_data.py
Normal file
@ -0,0 +1,31 @@
|
||||
# Generated by Django 5.0.4 on 2024-06-17 01:23
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
def add_mutators(apps, schema_editor):
|
||||
ArticleMutator = apps.get_model("home", "ArticleMutator")
|
||||
ArticleMutator.objects.create(name="Uwuify Title", value="UWU_TITLE")
|
||||
ArticleMutator.objects.create(name="Uwuify Description", value="UWU_DESC")
|
||||
ArticleMutator.objects.create(name="Gibberish Title", value="GIB_TITLE")
|
||||
ArticleMutator.objects.create(name="Gibberish Description", value="GIB_DESC")
|
||||
ArticleMutator.objects.create(name="L33t Sp34k Title", value="L3_TITLE")
|
||||
ArticleMutator.objects.create(name="L33t Sp34k Description", value="L3_DESC")
|
||||
ArticleMutator.objects.create(name="Reversed Title", value="REV_TITLE")
|
||||
ArticleMutator.objects.create(name="Reversed Description", value="REV_DESC")
|
||||
ArticleMutator.objects.create(name="Randomise Title", value="RND_TITLE")
|
||||
ArticleMutator.objects.create(name="Randomise Description", value="RND_DESC")
|
||||
ArticleMutator.objects.create(name="Random Case Title", value="RNC_TITLE")
|
||||
ArticleMutator.objects.create(name="Random Case Description", value="RNC_DESC")
|
||||
ArticleMutator.objects.create(name="Pig Latin Title", value="PGL_TITLE")
|
||||
ArticleMutator.objects.create(name="Pig Latin Description", value="PGL_DESC")
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('home', '0002_articlemutator'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RunPython(add_mutators)
|
||||
]
|
17
apps/home/migrations/0004_remove_subscription_uwuify.py
Normal file
17
apps/home/migrations/0004_remove_subscription_uwuify.py
Normal file
@ -0,0 +1,17 @@
|
||||
# Generated by Django 5.0.4 on 2024-06-17 01:31
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('home', '0003_initial_mutator_data'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(
|
||||
model_name='subscription',
|
||||
name='uwuify',
|
||||
),
|
||||
]
|
@ -1,18 +0,0 @@
|
||||
# Generated by Django 5.0.4 on 2024-06-15 22:44
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('home', '0004_subscription_uwuify'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='trackedcontent',
|
||||
name='url',
|
||||
field=models.URLField(unique=True),
|
||||
),
|
||||
]
|
@ -1,4 +1,4 @@
|
||||
# Generated by Django 5.0.4 on 2024-06-15 21:47
|
||||
# Generated by Django 5.0.4 on 2024-06-17 01:33
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
@ -6,13 +6,13 @@ from django.db import migrations, models
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('home', '0003_filter_whitelist'),
|
||||
('home', '0004_remove_subscription_uwuify'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='subscription',
|
||||
name='uwuify',
|
||||
field=models.BooleanField(default=False),
|
||||
name='mutators',
|
||||
field=models.ManyToManyField(blank=True, to='home.articlemutator'),
|
||||
),
|
||||
]
|
@ -202,10 +202,10 @@ class Subscription(models.Model):
|
||||
blank=True,
|
||||
)
|
||||
|
||||
uwuify = models.BooleanField(default=False)
|
||||
|
||||
filters = models.ManyToManyField(to="home.Filter", blank=True)
|
||||
|
||||
mutators = models.ManyToManyField(to="home.ArticleMutator", blank=True)
|
||||
|
||||
active = models.BooleanField(default=True)
|
||||
|
||||
class Meta:
|
||||
@ -246,10 +246,9 @@ class TrackedContent(models.Model):
|
||||
This is used to ensure duplicate articles aren't sent in feeds.
|
||||
"""
|
||||
|
||||
guid = models.CharField(
|
||||
primary_key=True,
|
||||
max_length=128
|
||||
)
|
||||
id = models.AutoField(primary_key=True)
|
||||
|
||||
guid = models.CharField(max_length=128)
|
||||
|
||||
title = models.CharField(max_length=128)
|
||||
|
||||
@ -264,5 +263,27 @@ class TrackedContent(models.Model):
|
||||
editable=False
|
||||
)
|
||||
|
||||
guild_id = models.CharField(max_length=128)
|
||||
|
||||
class Meta:
|
||||
|
||||
verbose_name = "tracked content"
|
||||
verbose_name = "tracked contents"
|
||||
get_latest_by = "-creation_datetime"
|
||||
constraints = [
|
||||
models.UniqueConstraint(fields=["guid", "guild_id"], name="unique guid & guild_id pair"),
|
||||
models.UniqueConstraint(fields=["url", "guild_id"], name="unique url & guild_id pair")
|
||||
]
|
||||
|
||||
def __str__(self) -> str:
|
||||
return self.title
|
||||
|
||||
|
||||
class ArticleMutator(models.Model):
|
||||
|
||||
id = models.AutoField(primary_key=True)
|
||||
name = models.CharField(max_length=64)
|
||||
value = models.CharField(max_length=32)
|
||||
|
||||
def __str__(self) -> str:
|
||||
return self.name
|
||||
|
Loading…
x
Reference in New Issue
Block a user