最近个人项目的设想

2009-12-13 00:39

自己手头积攒了很多电子书, 有些书虽然很少读, 但留下收藏毕竟还是不错的. 这些书虽然下载很方便, 但是整理却很是麻烦. 最大的问题是经常一本书会涉及到多个话题, 电子书分类时不知如何是好, 找起来也是要靠估摸. 于是想自己写一个有Web界面的个人图书管理系统. 好吧, 这个Web系统只有一个人用肯定是浪费了, 靠谱一点的想法是干脆做成一个图书交流系统. 这两天的空闲时间, 除了在写Django的中文localflavor, 就是在写这个. 有点点想法也就顺便记下来, 放在这儿. 用什么写? 嘿嘿, 自然是Django啦~

用户注册和权限分配

用户注册这个步骤对于文件共享网站来说是必要的, 很正统的做法是生成一个随机字符串作为密钥, 往用户的邮箱发一封包含密钥的注册邮件. 用户通过点击链接而使用这个密钥注册. 这种做法对于小范围的文件共享网站却不是很合适. 填一个注册表单未免太生分太正式了, 毕竟大家都是同事, 低头不见抬头见, 弄这些繁文缛节倒彷佛是在捉弄人了. 另一个办法就是不限制用户对网站的访问. 如果仅仅开发下载权限也就算了, 最多多转转硬盘罢了. 但是无限制开发上传权限就不太好了... 于是我的想法是利用IP来判断用户. 利用Django放出的request_started信号来确定用户身份, 完成登录的工作. 基本逻辑是从信号里面拿到request对象. 这个对象里面的用户如果已登录, 则继续, 如果未登录, 则从request里面拿到用户的IP, 然后根据IP地址判断是否已知用户, 如果是已知用户, 则用login函数让其登录. 否则认为这个用户是受限用户, 不对其显示某些页面. 受限用户如何变成已知用户? 让他在泡泡上发个消息给我, 告诉我他的IP地址就行了~

智能化地识别图书信息

我们所上传的图书文件名里面一般包含了图书相关的信息. 例如书名, 出版社等等. 如果是pdf文件和chm文件, 我们还可以通过相应的python库来拿到电子书的作者/出版社等等信息. 为此, 我希望我能写出一个完美的, 省心地, 傻瓜地书籍上传页面, 你先上传一个文件, 这个文件名里面也许包含了一些信息, 我可以尝试使用re把这些信息抓出来. 然后, 我还可以从文件里面或者网络搜索而拿到书籍信息, 通过ajax显示在页面上. 这样书籍的信息也会更全面, 用户也更省心.

批量上传

写一个接口, 支持批量上传, 否则一本一本上传会很累的...

用jQuery-UI写界面

这个项目里面可以肆无忌惮地用比较大的js库了, 于是基本不用自己操心一堆乱七八糟的效果了, jQuery-UI这个库还是不错的, 写了几行代码就生成了一个很pp的界面~ 赞!

原本打算用ExtJS, 不过这个库据说版权限制很有问题, 还是用更流行而我也更熟悉的jQuery的UI效果库吧~