summaryrefslogtreecommitdiff
path: root/app/syndication/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'app/syndication/models.py')
-rw-r--r--app/syndication/models.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/app/syndication/models.py b/app/syndication/models.py
index 5856de1..a58da8d 100644
--- a/app/syndication/models.py
+++ b/app/syndication/models.py
@@ -1,6 +1,10 @@
from django.db import models
from django.contrib.contenttypes.models import ContentType
from django.contrib.contenttypes.fields import GenericForeignKey
+from django.db.models.signals import post_save
+from django.dispatch import receiver
+
+from .medium import post_to_medium
class Syndicate(models.Model):
@@ -25,3 +29,15 @@ class SyndicatedItem(models.Model):
def __str__(self):
return self.content_object.title
+
+
+@receiver(post_save, sender=SyndicatedItem)
+def post_save_events(sender, update_fields, created, instance, **kwargs):
+ if instance.status == 1:
+ for item in instance.syndicate.all():
+ if item.name == "Medium":
+ instance.rel_link = post_to_medium(instance.content_object)
+ instance.status = 2
+ post_save.disconnect(post_save_events, sender=SyndicatedItem)
+ instance.save()
+ post_save.connect(post_save_events, sender=SyndicatedItem)