Example #1
0
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
Example #2
0
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
Example #3
0
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
Example #4
0
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