首页 > micolog, 软件 > 修复micolog的一个bug:Entry.publish函数

修复micolog的一个bug:Entry.publish函数

2009年9月21日 闫鹏 发表评论 阅读评论

我错了,大家千万不要被我误导,尤其对houkai同学深表抱歉!我没有仔细看代码,随手改了一下,结果引入了bug,其实原来的基础上加了entrycount已经是正确的了,附上代码

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

def publish(self,newval=True):
    if newval:

        if not self.is_saved():
            self.save()

        if not self.is_wp:
            self.post_id=self.key().id()

        #fix for old version
        if not self.postname:
            self.setpostname(self.slug)

        vals={'year':self.date.year,'month':str(self.date.month).zfill(2),'day':self.date.day,
              'postname':self.postname,'post_id':self.post_id}

        if self.entrytype=='page':
            if self.slug:
                self.link=self.postname
            else:
                self.link='?p=%(post_id)s'%vals
        else:
            if self.slug:
                self.link=self.slug
            else:
                self.link=g_blog.link_format.strip()%vals

        if (not self.published) and (self.entrytype == 'post'):
            g_blog.entrycount+=1
            self.published=True

        g_blog.save()
        self.save()
    else:
        self.published=False
        if self.published:
            g_blog.entrycount-=1
            g_blog.save()
            self.save()
            self.removecache()
            if g_blog.sitemap_ping:

[/code]

唉,惨,打算不天天折腾这个了,还是开始研究mysql吧

今天发现iNove主题的page.html的三个js没有标明type,导致评论出现问题,追查问题的过程中,在测试环境中,又发现添加页面后,总是无法在主页上显示。顺手修正了这个python代码中的bug:

model.py中,Entry的publish函数,观察最前面5行,只是做了将Entry存储的功能,如果再调用publish函数之前没有设置publish状态为true,就不会降文章设置到发布状态。修正办法也简单,在那个if语句上面添加一行:

self.published = True

您可能会喜欢:

  1. 提供我改过的micolog代码下载
  2. 为micolog增加随机文章功能
  3. 修正micolog文章中前一post与后一post的混乱问题
  4. 再次升级micolg的留言验证,防止垃圾评论
  5. 关于micolog的已发布文章计数导致的分页问题
分类: micolog, 软件 标签:

  1. 2009年9月22日09:33 | #1

    快中秋了 大家可以歇歇了

    HOUKAI预祝大家中秋国庆快乐
    猛击此处 为大家送上可口的阅兵!:)

  2. 2009年9月22日02:38 | #2

    里完美有进了一步了

  3. 2009年9月24日09:21 | #3

    加在开头就行了吧:
    def publish(self,newval=True):
    if newval:

    self.published = True

    if not self.is_saved():
    self.save()

  4. 2009年9月24日14:15 | #4

    向你学习

  5. 2009年9月24日09:11 | #5

    是这吗 大概411行(红色部分)

        if not self.published:

             g_blog.entrycount+=1

        self.published=True

        g_blog.save()

        self.save()

    else:

        self.published=false

        if self.published:

            g_blog.entrycount-=1

        g_blog.save()

        self.save()

    self.removecache()

    if g_blog.sitemap_ping:

        Sitemap_NotifySearch()

  6. 2009年9月24日09:12 | #6

    太宽了 不整齐

        if not self.published:

             g_blog.entrycount+=1

        self.published=True

        g_blog.save()

        self.save()

    else:

        self.published=false

        if self.published:

            g_blog.entrycount-=1

        g_blog.save()

        self.save()

    self.removecache()

    if g_blog.sitemap_ping:

        Sitemap_NotifySearch()

  7. 2009年9月25日03:09 | #7

    不知道徐明同学啥时候出新版……

  8. 2009年9月26日06:05 | #8

    先在dashboard里面修改一下entrycount,然后再修正bug就好了

  9. 2009年9月25日14:21 | #9

    这个编辑器不错 http://code.google.com/p/xheditor/ 后台可以考虑换这个了 给的例子功能还可以!!

    哦,今天我把if的注销后 显示随机文章达到一致了。但比如有7篇文章 随机数好像只能设到4.增加几篇日志,随机数也可以增加了。应该是g_blog.entrycount的问题!! 如果本地出问题了,将代码注销 关掉cmd 重新启动服务才能打开8080.

    后来 我加了好几篇 最终将随机数设置为8(还是注销掉if了) 一些ok了上传,但 传上去就有问题了!!

    只能先注销所有代码 以后再加这个功能了!!

  10. 2009年9月30日15:13 | #10

    问一下 本地有dashboard吗 怎么进去?

  11. 2009年10月1日12:50 | #11

    你有没有发现 more 在第二页链接就开始有误了。

    model.py 大概266

    return self.excerpt+’ %s‘%(g_blog.baseurl,self.link,more)

    这样就ok了!

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