Allow None values for max downvotes
This commit is contained in:
parent
83ee1b2f8d
commit
aafbf8a68d
4 changed files with 41 additions and 2 deletions
|
|
@ -0,0 +1,18 @@
|
|||
# Generated by Django 3.0.7 on 2020-12-19 12:45
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [("collection", "0012_auto_20201219_1331")]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name="collectionrule",
|
||||
name="reddit_downvotes_max",
|
||||
field=models.PositiveIntegerField(
|
||||
blank=True, null=True, verbose_name="Maximum amount of downvotes"
|
||||
),
|
||||
)
|
||||
]
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
# Generated by Django 3.0.7 on 2020-12-19 12:46
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
def reset_default_downvotes(apps, schema_editor):
|
||||
CollectionRule = apps.get_model("collection", "CollectionRule")
|
||||
|
||||
for rule in CollectionRule.objects.all():
|
||||
rule.reddit_downvotes_max = None
|
||||
rule.save()
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [("collection", "0013_auto_20201219_1345")]
|
||||
|
||||
operations = [migrations.RunPython(reset_default_downvotes)]
|
||||
|
|
@ -66,7 +66,7 @@ class CollectionRule(TimeStampedModel):
|
|||
_("Minimum amount of upvotes"), default=0
|
||||
)
|
||||
reddit_downvotes_max = models.PositiveIntegerField(
|
||||
_("Maximum amount of downvotes"), default=0
|
||||
_("Maximum amount of downvotes"), blank=True, null=True
|
||||
)
|
||||
reddit_comments_min = models.PositiveIntegerField(
|
||||
_("Minimum amount of comments"), default=0
|
||||
|
|
|
|||
|
|
@ -194,7 +194,10 @@ class RedditBuilder(PostBuilder):
|
|||
raise BuilderSkippedException(
|
||||
"Post does not meet minimum amount of upvotes"
|
||||
)
|
||||
elif downvotes >= rule.reddit_downvotes_max:
|
||||
elif (
|
||||
rule.reddit_downvotes_max is not None
|
||||
and downvotes > rule.reddit_downvotes_max
|
||||
):
|
||||
raise BuilderSkippedException("Post has more downvotes than allowed")
|
||||
elif not comments >= rule.reddit_comments_min:
|
||||
raise BuilderSkippedException("Post does not have enough comments")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue