login


iHere Blog 1.0pre发布 大家帮忙测试

http://code.google.com/p/ihere-blog/downloads/list

说明:
1.app.yaml要改下 application: your app id   version: 1

2.支持三种格式的url,在setting里面注释着,想改的请自行修改:
#LINK_FORMAT=r'^(?P<slug>.*).html$'
#LINK_FORMAT=r'^(?P<slug>.*)/$'

#LINK_FORMAT=r'^(?P<year>\d+)/(?P<month>\d\d+)/(?P<day>\d\d+)/(?P<slug>.*).html$'

LINK_FORMAT=r'^(?P<year>\d+)/(?P<month>\d\d+)/(?P<slug>.*).html$'

3.# Email server settings 要改成自己的 这样网站出错能收到信,最好用专门的email帐号

4.集成appengine patch, Django1.0

5.用了许多appengine patch的东西 所以想逆向移植到mysql不太靠谱...

6.有一些blog的基本的unittest 参考http://ihere.appspot.com/2008/12/game-unittest-above-summary.html

7.WordPress Rss格式的导入导出:
关于这个得特别说下:导出没问题  导入文章多的话还是会超出gae的限制...超出限制之后刷新浏览器 还能导剩下的文章 不会乱,也就是导入需要多多尝试几次 就都能导入了...
这个部分以后得改成ajax loop的方式  目前jquery进行中...
谁有ajax loop progress bar的例子 或者熟悉jquery的可以在论坛留言帮忙:P

8.持续改进 进行中:
有人问category 怎么添加.. 想了想 正好appengine patch最新版本增加了django admin  所以big change:
现在最新版本可以在admin 里面添加 编辑 datastore里面的信息
点击右侧admin进入(原来的admin链接改叫console)

9.最新发布beta5 , 欢迎到这里下载http://code.google.com/p/ihere-blog/downloads/list 这个版本解决了WordPress 导入的所有问题,采用本地脚本的方式实现 具体使用 cd 到apps\import_wxp\
执行import.py (import.py -h查看用法)
下面是个例子:
import.py -f c:/wordpress.xml -m evertobe@gmail.com -a inforsphere -s 6.latest.inforsphere.appspot.com
基于google最新sdk1.1.9发布的remote_api , 我做了到Django 环境的map :-)
参考:http://inforsphere.appspot.com/billkatz.com/2009/2/Remote-API-Hello-World

PS:在线版的导入仍然可用 :P 两者的导入code其实是重用的
参照Import,Importer类       赞:P

    Share in Google Reader     Share in Twitter..     Share in Friendfeed     Leave a Reply

26 Response to “iHere Blog 1.0pre发布 大家帮忙测试”

  1. evertobe Says:

    导入wordpress的文件还是不要大于1M ,虽然request response到10M了...
    但是api call的限制还是1M... 所以没法解析大于1M的文件的...
    大于1M的同学请自己分割一下 拆开成几个文件再导入吧...
    PS: 哪个同学用urllib写个本地导入的脚本吧XD 每篇文章一个request就好了...
    apps\import_wxp\parseWp.py  这个文件的Import类可以重用...这个只是解析xml把数据已经做成python的dict了...参照Importer实现个接口应该不难 ...

  2. evertobe Says:

    Issue tracking:
    http://code.google.com/p/ihere-blog/issues/list

  3. surftheair Says:

    我导入一个700多KB的文件,一导入就显示“500服务器纠结中... ” ,并且自动退出登录。结果只能导入前4篇,还有9篇只有标题,刷新也不行,不断收到错误信息的邮件。 jude-dj.appspot.com

  4. areyoulookon Says:

    好,我去测试~

  5. evertobe Says:

    导入 可能确实会发生许多问题  pre就pre在这里了
    可能你的wordpress 文件格式本身跟我的不太一样
    把错误信息给我forward一份我好改进

  6. evertobe Says:

    jude-dj.appspot.com的同学可以自己清理下数据:
    登陆后 进右边的admin
    在 console里面执行
    from blog.model import *
    db.delete(Tag.all())
    db.delete(Post.all())
    db.delete(Category.all())
    db.delete(Comment.all())
    db.delete(Event.all())

    PS: 我不在家 没测试这个 大概是这个意思  可能要import下 google appengine的db模块

  7. evertobe Says:

    jude-dj.appspot.com的同学, 你的问题好像是slug url的问题
    所有以中文做slug的 都有问题 但其实数据已经导入了
    英文的slug都可以用
    http://jude-dj.appspot.com/2008/03/13/%E8%AF%BB%E5%9C%A3%E7%BB%8F.html

    http://jude-dj.appspot.com/2008/03/07/reception-report_rnw.html

    上面两个连接是个例子

    /%E8%AF%BB%E5%9C%A3%E7%BB%8F.html
    可能我有个部分没处理好,对slug没做编码decode

    等明天我再调查下

  8. evertobe Says:

    多多提bug http://code.google.com/p/ihere-blog/issues/list

  9. surftheair Says:

    我的博客是从Wordpress导出的,还有一个是从Micolog导出的,都不行。我在console运行了那段代码,结果:
    Traceback (most recent call last):
      File "/base/python_lib/versions/1/google/appengine/ext/admin/__init__.py", line 194, in post
      exec(compiled_code, globals())
      File "<string>", line 1, in <module>
    ImportError: No module named blog.model

    导入的错误信息我会发到你邮箱里。

    谢谢!

  10. windspeedo99 Says:

    大力支持。可惜这几天安装了micolog。需要休息一段时间了。

  11. evertobe Says:

    ExpatError: not well-formed (invalid token): line 1285, column 17
     
    这个应该是你的xml文件本身有特殊字符 你可以到1285看看有没有空行 或者 空标签
    删除试下
     
    判断这个挺简单 你用ie打开看 报不报错误
    如果ie不报错应该就可以了

  12. evertobe Says:

    查了一下,原来导入不好用是因为appengine patch 版本更新产生了一些问题:
    appengine patch 会自动把datastore中的enitity加上app 的前缀 比如Post 就被存为blog_post了 这样在做Key.from_path('Post',key_name)就会出错 应该改成
    Key.from_path(Post.kind(),key_name) 类似的做GQL 也得用Post.kind()
    search_blog = db.GqlQuery("select * from %s where slug >= :1 and slug < :2 order by slug desc"%Post.kind(),slug, slug+u"\xEF\xBF\xBD").get()

    其实在patch的页面有提及 但是我没注意:-( 郁闷

    我已经测试过了 现在导入没问题了 遇到500 刷新多试几次就全部导入了
    大家在帮试试
    接下来处理:导入超时的问题


  13. surftheair Says:

    我还是500错误,不能导入,有些时候提示说:“ValueError: time data did not match format: data=Fri, 20 Feb 2009 13:06:46 +0000 fmt=%Y-%m-%d %H:%M:%S” 有些时候说:“BadValueError: Property authorEmail is required“,还有时说:”TypeError: coercing to Unicode: need string or buffer, NoneType found“

    会不会是我的xml文件有问题?请你帮忙看一下,这一个是我去年从wordpress导出的:http://jude-dj.appspot.com/static/wordpress.2008-12-30.xml  这一个是我前几天从Micolog导出的: http://jude-dj.appspot.com/static/2009-2-22.xml

    谢谢!

  14. evertobe Says:

    http://www.eriksmartt.com/blog/archives/306
    wordpress的导出插件确实有问题 ,导出的文件经常有'诡异'的字符...检查办法是用ie打开 看报不报错误(滚到最下面看完不完整)
     还有上面这篇文章的作者也郁闷这件事情 :The export plugin *might* generate some malformed XML, like unescaped or illegal characters. ......I didn’t bother. Instead, I manually edited the RSS file and removed the offending characters.”
    ,解析这个文件经常出错, 他的做法是手动删除那些诡异字符

  15. evertobe Says:

    另外 我建议使用beta3版本新加入的import.py 来在本地做文章导入

  16. surftheair Says:

    两个文件我用IE打开都没有提示错误,在本地电脑上运行import.py提示错误:

    C:\Users\Mr.DJ\Desktop\ihere\apps\import_wxp>import.py
    Traceback (most recent call last):
      File "C:\Users\Mr.DJ\Desktop\ihere\apps\import_wxp\import.py", line 18, in <module>
      import django
    ImportError: No module named django

    C:\Users\Mr.DJ\Desktop\ihere\apps\import_wxp>

  17. evertobe Says:

    我正在处理这些问题 已经接近完成了
    感谢你的帮忙,的确出了很多意料之外的问题
    一会儿我更新个新版本

  18. evertobe Says:

    beta5 release 我本机试你的两个文件已经可以了 用的import.py有空再帮我试下:P

  19. surftheair Says:

    可以导入了,使用的是网页导入,160多篇博客导入了148篇,还有的不知道怎么了。

    一个新问题,博客第二页无法打开,显示500错误,收到错误信息的邮件“TypeError: coercing to Unicode: need string or buffer, NoneType found” 但是第二页以后的页面都可以正常显示。

  20. evertobe Says:

    “TypeError: coercing to Unicode: need string or buffer, NoneType found”
    这个我遇到过 应该是导入了值为None的Tag 你用console进入 在Datastore里找到Tag 然后删除值为None的Tag就可以了

  21. surftheair Says:

    我删除了,可还是500错误,这次的提示信息是“Error: ReferenceProperty failed to be resolved”

  22. evertobe Says:

    在Interactive Console:
    执行如下代码 可以清空数据  请谨慎使用:-)
    from blog.models import *
    tags=Tag.all()
    db.delete(tags)
    cats=Category.all()
    db.delete(cats)
    posts=Post.all()
    db.delete(posts)
    comments=Comment.all()
    db.delete(comments)
    events=Event.all()
    db.delete(events)

  23. surftheair Says:

    又错误了

    Traceback (most recent call last):
      File "/base/python_lib/versions/1/google/appengine/ext/admin/__init__.py", line 194, in post
      exec(compiled_code, globals())
      File "<string>", line 1, in <module>
    ImportError: No module named blog.models

  24. evertobe Says:

    是因为时间久了 google 把python环境reload了 大概3分钟左右
    出现这种情况只要先进你的主页刷新下,
    以便load django1.0环境 然后再进入Interactive Console就可以了

  25. surftheair Says:

    谢谢!我清空了数据,然后又重新导入,现在正常了。

    一个关于博客显示方式的建议:我发现每页只显示四篇博客的内容,还有16篇只显示标题,而下一页又是从第21篇开始显示。希望改成正常的全部显示,5篇比较合适吧。

  26. evertobe Says:

    这个是模板的问题 好改~ 只是现在暂时先采用这种方式吧
    下个版本会有些变化
    另外看到你的issue了 以后会支持Windows Live Writer 本身的编辑器只是个补充
    具体想用其他的编辑器 可以改template文件就好了

Leave a Reply


Logo

About Me

  • A Computer Geek in Beijing, China. Focus on Web2.0 Technology: Google App Engine, Python, Django, Software Architecture, Agile, JAVA, J2EE, JavaScript, etc.

    Coding for fun, Coding with passion :-) It's my life!

Most Popular Posts

Tags