def metaWeblog_newPost(user, blogid, struct, publish="PUBLISH"): """ mt's newpost function...""" logger.debug("metaWeblog.newPost called") logger.debug("user: %s" % user) logger.debug("blogid: %s" % blogid) logger.debug("struct: %s" % struct) logger.debug("publish: %s" % publish) body = struct["description"] try: logger.info("Checking for passed blog parameter") blog = Blog.objects.get(pk=blogid) except ValueError: # probably expecting wp behavior logger.info("Specified blog not found, using default") blog = Blog.objects.filter(owner=user)[0] pub_date = datetime.datetime.now() post = Post( title=struct["title"], body=body, create_date=pub_date, update_date=pub_date, pub_date=pub_date, status=publish and "publish" or "draft", blog=blog, author=user.author, ) post.prepopulate() logger.debug("Saving") # need to save beffore setting many-to-many fields, silly django post.save() categories = struct.get("categories", []) # logger.debug("Setting categories: %s" % categories) logger.warn("Categories no longer supported") # clist = [] # for category in categories: # try: # c = Category.objects.filter(blog=blog, title=category)[0] # logger.debug("Got %s" % c) # clist.append(c) # except Exception, e: # logger.warn(str(e)) # post.categories=clist post.save() logger.info("Post %s saved" % post) logger.info("Setting Tags") setTags(post, struct, key="mt_keywords") logger.debug("Handling Pings") logger.info("sending pings to host") send_pings(post) logger.debug("newPost finished") return post.id
def metaWeblog_newPost(user, blogid, struct, publish="PUBLISH"): """ mt's newpost function...""" logger.debug("metaWeblog.newPost called") logger.debug("user: %s" % user) logger.debug("blogid: %s" % blogid) logger.debug("struct: %s" % struct) logger.debug("publish: %s" % publish) body = struct['description'] try: logger.info("Checking for passed blog parameter") blog = Blog.objects.get(pk=blogid) except ValueError: # probably expecting wp behavior logger.info("Specified blog not found, using default") blog = Blog.objects.filter(owner=user)[0] pub_date = datetime.datetime.now() post = Post(title=struct['title'], body=body, create_date=pub_date, update_date=pub_date, pub_date=pub_date, status=publish and 'publish' or 'draft', blog=blog, author=user.author) post.prepopulate() logger.debug("Saving") # need to save beffore setting many-to-many fields, silly django post.save() categories = struct.get("categories", []) # logger.debug("Setting categories: %s" % categories) logger.warn("Categories no longer supported") # clist = [] # for category in categories: # try: # c = Category.objects.filter(blog=blog, title=category)[0] # logger.debug("Got %s" % c) # clist.append(c) # except Exception, e: # logger.warn(str(e)) # post.categories=clist post.save() logger.info("Post %s saved" % post) logger.info("Setting Tags") setTags(post, struct, key="mt_keywords") logger.debug("Handling Pings") logger.info("sending pings to host") send_pings(post) logger.debug("newPost finished") return post.id
def metaWeblog_editPost(user, postid, struct, publish): logger.debug("metaWeblog_editPost") post = Post.objects.get(id=postid) title = struct.get('title', None) if title is not None: post.title = title body = struct.get('description', None) text_more = struct.get('mt_text_more', '') allow_pings = struct.get('mt_allow_pings', 1) description = struct.get('description', '') keywords = struct.get('mt_keywords', []) text_more = struct.get('mt_text_more', None) if text_more: # has the extended entry stuff... body = string.join([body, text_more], "<!--more-->") post.enable_comments = bool(struct.get('mt_allow_comments', 1) == 1) post.text_filter = struct.get('mt_convert_breaks', 'html').lower() if body is not None: post.body = body # todo - parse out technorati tags if user: post.author = user if publish: post.status = "publish" else: post.status = "draft" setTags(post, struct, key="mt_keywords") post.update_date = datetime.datetime.now() post.save() # FIXME: do I really want trackbacks? send_pings(post) return True
def metaWeblog_editPost(user, postid, struct, publish): logger.debug("metaWeblog_editPost") post = Post.objects.get(id=postid) title = struct.get("title", None) if title is not None: post.title = title body = struct.get("description", None) text_more = struct.get("mt_text_more", "") allow_pings = struct.get("mt_allow_pings", 1) description = struct.get("description", "") keywords = struct.get("mt_keywords", []) text_more = struct.get("mt_text_more", None) if text_more: # has the extended entry stuff... body = string.join([body, text_more], "<!--more-->") post.enable_comments = bool(struct.get("mt_allow_comments", 1) == 1) post.text_filter = struct.get("mt_convert_breaks", "html").lower() if body is not None: post.body = body # todo - parse out technorati tags if user: post.author = user if publish: post.status = "publish" else: post.status = "draft" setTags(post, struct, key="mt_keywords") post.update_date = datetime.datetime.now() post.save() # FIXME: do I really want trackbacks? send_pings(post) return True