- 浏览: 296755 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (98)
- philosophy (0)
- python (21)
- mac (6)
- linux (12)
- vfx (8)
- web2.0 (2)
- win (2)
- java (2)
- it (1)
- ruby (1)
- gtd (6)
- digest (1)
- maya (1)
- sns (1)
- dip (2)
- ldap (1)
- eclipse (1)
- mba (1)
- lisp (2)
- haskell (3)
- life (4)
- c# (1)
- c++ (3)
- sci-fi (1)
- news (2)
- poem (2)
- reading (2)
- mysql (1)
- coffee (0)
- houdini (1)
- economics (1)
- emacs (1)
- render (1)
- expect (0)
- shake (1)
最新评论
-
aib628:
真是好东东,正在学习中!
Jython 简单入门 -
jiguanghover:
不错的例子,好好看看
Jython 简单入门 -
rmn190:
不错, 现在正在从Java转到Python这边来, 以前用Ja ...
Jython 简单入门 -
kandari:
有没有openSUSE的
用NTP网络时间协议同步你的IT系统 -
CharlesCui:
winmail.dat是个垃圾!气死我了.
如何提取 winmail.dat ?
MoinMoin本身的制表语法很简单,但是如果其他软件制作好的表格又重新录入一边,就不合算了。而这些软件大都可以导出CSV格式文件,所以如果能直接上传CSV文件,自动形成表格,将会非常方便省事。
本来想自己写一个这样的插件,结果不小心发现MacroMarket上已经有了,是一个叫ShowCSV宏插件。但是这个有点“土”,我稍微改进了一下,加入了一点背景色功能,使用语法也变了,所以干脆就叫InsertCSV(所有测试都在MoinMoin1.5.8中通过)。
把上面的代码保存在$WIKI/data/plugin/macro/InsertCSV.py后,重启服务器即可。具体使用宏语法如下:
[[InsertCSV(Projects.csv, #3a88aa, #f2f2f2)]]
第一个参数 Projects.csv 就是你上传的文件;
第二个参数 #3a88aa 表示标题栏的背景色,可以省略;
第三个参数 #f2f2f2 表示内容格的背景色,可以省略。
页面效果如下图(有些敏感内容被我涂抹掉了,呵呵):
本来想自己写一个这样的插件,结果不小心发现MacroMarket上已经有了,是一个叫ShowCSV宏插件。但是这个有点“土”,我稍微改进了一下,加入了一点背景色功能,使用语法也变了,所以干脆就叫InsertCSV(所有测试都在MoinMoin1.5.8中通过)。
""" MoinMoin - InsertCSV This macro is used to insert csv data as wiki table @license: GNU GPL """ Dependencies = ['time'] # do not cache import os, codecs, csv from MoinMoin import config, wikiutil from MoinMoin.action import AttachFile # from MoinMoin.parser.text_moin_wiki import Parser from MoinMoin.parser.wiki import Parser def utf_8_encoder(unicode_csv_data): for line in unicode_csv_data: yield line.encode('utf-8') def execute(macro, args): request = macro.request formatter = macro.formatter if args: args = args.split(',') args = [arg.strip() for arg in args] else: args = [] argc = len(args) if argc == 0: csvfile = 'default.csv' else: csvfile = args[0] if argc > 1: tcolor = str(args[1]) title_bgcolor = '<%s>' % str(args[1]) else: tcolor = "" title_bgcolor = "" if argc > 2: ccolor = str(args[2]) content_bgcolor = '<%s>' % str(args[2]) else: ccolor = "" content_bgcolor = "" pagename = formatter.page.page_name attach_dir = AttachFile.getAttachDir(request, pagename) files = AttachFile._get_files(request, pagename) if csvfile in files: if csvfile.lower().endswith('.csv'): file_id = codecs.open(os.path.join(attach_dir, csvfile), 'rb', config.charset) reader = csv.reader(utf_8_encoder(file_id)) index = 0 result = "" for row in reader: if index == 0: result += "||%s '''" % title_bgcolor result += ("''' ||%s '''" % title_bgcolor).join(row) result += "''' ||\n" else: result += '||%s ' % content_bgcolor result += ('||%s ' % content_bgcolor).join(row) result += ' ||\n' index += 1 result += ' . \n' result = wikiutil.url_unquote(result) # result += '[[attachment:%s]]' % file result += 'attachment:%s' % csvfile result = wikiutil.escape(result).replace('<%s>' % tcolor, title_bgcolor) result = result.replace('<%s>' % ccolor, content_bgcolor) else: result = 'attachment:%s' % csvfile p = Parser(result, request) p.format(request.formatter) return ""
把上面的代码保存在$WIKI/data/plugin/macro/InsertCSV.py后,重启服务器即可。具体使用宏语法如下:
[[InsertCSV(Projects.csv, #3a88aa, #f2f2f2)]]
第一个参数 Projects.csv 就是你上传的文件;
第二个参数 #3a88aa 表示标题栏的背景色,可以省略;
第三个参数 #f2f2f2 表示内容格的背景色,可以省略。
页面效果如下图(有些敏感内容被我涂抹掉了,呵呵):
发表评论
-
用python ctypes调用动态链接库
2009-10-12 15:10 6966ctypes is very cool! Great piec ... -
MoinMoin 1.5.8 上传附件的XMLRPC API实现
2009-09-22 16:44 2515一、服务端 1. 修改/usr/lib/python2.5/ ... -
用python实现SSH的免密码输入访问客户端
2009-07-10 09:52 83831. pexpect - http://pexpect.sou ... -
为心爱的MoinMoin写一个小小的Done宏
2009-04-15 16:04 1481############################# ... -
使用appscript+python来控制Mac下的GUI应用程序
2009-02-15 13:28 8569在Mac下,appscript是一个与应用程序通信交互的强大工 ... -
PyFileMaker介绍
2009-02-15 11:57 1372PyFileMaker是一个用于访问和修改FileMaker ... -
如何将.py编译成.pyc/.pyo文件
2009-02-10 15:14 3744使用方式如下: python -O -m py_com ... -
Darwin Calendar Server,一个开放源代码的日历服务器
2009-02-06 19:18 3841Darwin Calendar Server是一个 ... -
VObject
2009-02-06 00:23 1132VObject VObject simplifies t ... -
python library extra
2009-02-06 00:18 9451. dateutil - The dateutil modu ... -
Epydoc
2009-02-05 12:15 1004http://epydoc.sourceforge.net/ ... -
一则魅族M8下歌词乱码的程序小故事
2009-01-20 00:41 2221最近,一朋友买了个魅族的M8手机,整天拨弄,爱不释手。一次找我 ... -
Jython 简单入门
2008-12-30 19:38 370501. 用Jython调用Java类库 第一步、创建Java类 ... -
readline
2008-12-02 23:33 1124There are two ways to configure ... -
feedparser学习摘要
2008-10-13 01:22 2932号称Universal Feed Parser,通吃所有合法不 ... -
py2exe 把python脚本转成windows下可执行文件
2008-10-12 23:42 3520py2exe是一个可以把python脚本转成windows下的 ... -
13.4 shelve -- Python object persistence
2008-10-05 02:22 1185import shelve d = shelve.o ... -
python相关拾零
2008-09-09 16:51 666* python-psycopg2 - Python modu ... -
getopt -- Parser for command line options
2008-08-27 12:56 1164getopt -- Parser for command li ... -
TurboGears 和 Django 的比较
2008-08-21 22:50 7493TurboGears 和 Django 的比较 ...
相关推荐
负载开关一个用于上传 sage 工作表的 moinmoin 操作插件要使用它,您需要一个安装了 sagecell moinmoin 插件的 moinmoin wiki。 只需将其复制到您的插件/操作文件夹中即可。
windows平台下好用的wiki,集成了latex的moinmoin,安装简易,懒人适用。 3分钟快速安装。
基于Python的MoinMoin.pdf
MoinMoin的特点 完全使用文件来存储内容,不使用数据库 实现了全部Wiki规范,Unicode编码支持多语种 完整实用的wiki文本约定,编辑规则比较轻巧易学,包含所见即所得编辑环境 拥有访问权限控制 支持...
您可以使用以下命令自动下载并运行此程序 sudo docker run -d -p 443:443 -p 80:80 --name my_wiki olavgg/moinmoin-wiki默认的超级用户是mmAdmin ,您可以通过创建一个名为mmAdmin的新用户并设置您的首选密码来...
基于Python的MoinMoin
用python写的wiki引擎
docker-moinmoin 在 ubuntu 14.04 baseimage 上使用 Python 2.7.6、uWSGI 1.9.17 和 nginx 1.4.6 测试 1.9.8 的图像。用法 $ sudo mkdir -p /opt/data/moinmoin$ sudo docker run -d -p 8080:80 -v /opt/data/...
最方便的moinmoin wiki,不用安装Python,apache
moinmoin 是著名的维基软件
MoinMoin Wiki项目已移动-请访问我们的新网站http://moinmo.in/并更新您的书签。
ep_moinmoin_export 将当前打击垫内容导出为 MoinMoin Wiki ( ) 格式。 支持的默认格式和附加标签。 基于 乳胶出口 维基媒体导出 HtmlExport(etherpad 精简版代码) 安装 npm install ep_moinmoin_export ...
在 CentOS 下使用 apache+mod_wsgi 部署了 MoinMoin,但是编辑和保存页面很慢,于是准备使用 nginx+uwsgi 重新部署 本文假定已经按照官方指引 Quick MoinMoin on CentOS 完成了 apache 和 mod_wsgi 之外的基础安装 ...
MoinMoin-Python中的Wiki引擎 MoinMoin是一个使用Python编写的易于使用,功能齐全且可扩展的Wiki软件包。 它可以完成各种各样的角色,例如部署在笔记本电脑或家庭Web服务器上的个人笔记组织者,部署在Intranet上的...
使用此扩展名,将出现在地址栏(Firefox)或工具栏(Chrome)中出现笔图标(类似于RSS自动 - 发现按钮)当您访问允许您编辑页面的Wiki网站时。 这在Wikipedia,Afficus.com,Wikihow和Wikia等热门网站上工作,以及...
sdlwiki:这是SDL Wiki的原始内容。 这是从MoinMoin过渡而来的,请耐心等待。 您可以在https上进行编辑
MoinMoin UNIX手册页 维基百科/ MediaWiki …还有许多其他。 Txt2tags有两个不同的版本,它们是该存储库中的分支。 ,txt2tags版本2.7-dev 可以在Python 2上运行的全功能txt2tags版本。 在Python 2.5、2.6和...
moinmoin wiki 的1.9.2版本安装包,还作为作为桌面版wiki.,python
geekbook3-书呆子/极客的笔记系统! Marcin Magnus(mmagnus)和Pietro Boccaletto(akaped) ...我从2008年开始使用MoinMoin做我的个人笔记,但是缺少了一些东西……然后我开始玩用Emacs编写的Markdown