首页 > micolog > 升级并小修正micolog相关文章功能

升级并小修正micolog相关文章功能

2009年9月9日 发表评论 阅读评论

搞这个玩意的主要原因是我通常都是用live writer写文章到micolog上面,而live writer是配置的word press的2.2+接口,怎么也没搞明白文章的tag是怎么添加上去的。word press 2.3才开始提供的tag功能,看来不升级micolog的rpc处理是不行了。

而micolog中的相关文章与支持搜索引擎的meta keyword功能,就是根据tag来做的,没有这个东东真是痛苦,rpc那边又一时半会没时间搞,就先顺手在category上面搞个山寨的吧

修改model.py文件中Entry的relatepost函数为下面这个样子:

[code lang='python' style='vs']

@property
def relateposts(self, num = 10):
    if  self._relatepost:
        return self._relatepost
    else:
        result = []
        self._relatepost = []
        find_from_tags = 0
        if self.tags:
            result = Entry.all().filter('tags IN', self.tags).order('-date').fetch(num)
            find_from_tags = len(result)

        if find_from_tags < num and self.categorie_keys:
            result = result + Entry.all().filter('categorie_keys IN ', self.categories).order('-date').fetch(num - find_from_tags)

        for entry in result:
            if entry.post_id != self.post_id:
                self._relatepost.append(entry)
        return self._relatepost

[/code]                                                                                      

里面那个for循环来去掉文章自己的方式更山寨了,不过这个是因为google的限制搞的,如果配置上filter为post_id !=就会出现拒绝服务的情况,要求order必须使用post_id,这就是我标题“小修正”的原因了,如果没有这个小修正,micolog 0.5版将会导致相关文章都是post_id为较小的那几篇。

修改indel.yaml文件,增加如下内容

[code lang='yaml' style='vs']

- kind: Entry
   properties:
   - name: tags
   - name: date
      direction: desc

- kind: Entry
   properties:
   - name: categorie_keys
   - name: date
      direction: desc

[/code]

上传到服务器后,记得要等待dashboard中的索引状态为serving,要不然会报没有索引的错误

---------------------------------------------------------------
本站作品根据创作共同协议进行授权, 转载时请务必以超链接形式标明文章原始出处
原文地址:http://www.mirecle.com/2009/09/09/upgrade-and-features-a-small-amendment-to-article-micolog.html
---------------------------------------------------------------

您可能会喜欢:

  1. 提供我改过的micolog代码下载
  2. 为micolog增加热门文章功能
  3. 修正micolog文章中前一post与后一post的混乱问题
  4. 为micolog增加随机文章功能
  5. 修正micolog页码输出从零开始的问题
分类: micolog 标签:

  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.