def post(self, request, *args, **kwargs): if "memo" in kwargs: post_preview = PostPreview() # Some data comes from memo memo = json_util.deserialize_memo(kwargs["memo"]) if "parent_post_id" in memo: self.form_class = ShortForm parent_post_id = memo["parent_post_id"] # Find the parent. try: parent = Post.objects.get(pk=parent_post_id) except ObjectDoesNotExist, e: msg = "The post does not exist. Perhaps it was deleted request (Request: %s)".format( request) logger.error(msg) raise PostViewException(msg) post_preview.parent_post_id = parent_post_id post_preview.title = parent.title post_preview.tag_val = parent.tag_val post_preview.tag_value = html_util.split_tags(parent.tag_val) else: post_preview.title = memo["title"] post_preview.tag_val = memo["tag_val"] post_preview.tag_value = html_util.split_tags(memo["tag_val"]) post_preview.status = Post.OPEN post_preview.type = memo["post_type"] post_preview.date = datetime.utcfromtimestamp( memo["unixtime"]).replace(tzinfo=utc)
def get_model(self, memo): post_preview = PostPreview() if "parent_post_id" in memo: parent_post_id = memo["parent_post_id"] # Find the parent. try: parent = Post.objects.get(pk=parent_post_id) except ObjectDoesNotExist, exc: logger.error("The post does not exist. Perhaps it was deleted request (Request: %s)", request) logger.exception(e) raise post_preview.parent_post_id = parent_post_id post_preview.title = parent.title post_preview.tag_val = parent.tag_val post_preview.tag_value = html_util.split_tags(parent.tag_val)
except ObjectDoesNotExist, exc: logger.error( "The post does not exist. Perhaps it was deleted request (Request: %s)", request) logger.exception(e) raise post_preview.parent_post_id = parent_post_id post_preview.title = parent.title post_preview.tag_val = parent.tag_val post_preview.tag_value = html_util.split_tags(parent.tag_val) else: post_preview.title = memo["title"] post_preview.tag_val = memo["tag_val"] post_preview.tag_value = html_util.split_tags(memo["tag_val"]) post_preview.status = Post.OPEN post_preview.type = memo["post_type"] post_preview.content = memo["content"] post_preview.html = html_util.parse_html(memo["content"]) post_preview.date = datetime.utcfromtimestamp( memo["unixtime"]).replace(tzinfo=utc) post_preview.memo = post_preview.serialize_memo() post_preview.clean_fields() return post_preview def get_context_data(self, **kwargs):