如何通过脚本创建Redmine维基页面?
我想在本地的Redmine服务器上创建一个特别的维基页面。这个页面应该包含我服务器上一些可执行文件的清单。我的目标是写一个脚本,扫描服务器上的某些文件夹,找到这些文件,并把它们(还有一些额外的信息)放到一个漂亮的Redmine维基页面上。
我最初的想法是用一个简单的批处理文件遍历服务器的文件系统,然后创建一个SQL语句,把结果直接放到底层的mySQL数据库中(这个数据库里存着Redmine的维基页面)。但我觉得这样做风险太大,而且容易出错。
接着我想到可以用像python这样的脚本语言(我一直想学)来获取信息,然后像网页浏览器那样把这些信息发送回Redmine服务器。这应该是一个更安全的方法。不过,对于刚开始学习python的人来说,这似乎不是个简单的任务——我在Redmine服务器上认证自己时遇到了麻烦。
我最后的想法是用python创建一个HTML页面,这个页面可以通过'Redmine Wiki Extensions'插件在Redmine维基页面中显示。但我觉得这只是个简单的解决方案,因为它看起来不太优雅。
所以我现在想要的是一个新的想法来解决这个问题,或者一些关于如何在Redmine服务器上用python进行正确认证的线索——也许我可以用cookie来简化认证过程……
1 个回答
我对redmine不太熟悉,但如果你想要一个脚本来执行一些动作,就像你在浏览器里做的一样,那么mechanize这个库可能会对你有帮助,前提是没有涉及到什么javascript。如果有javascript的话,那我建议你看看windmill或者selenium,它们可以帮助你控制网页浏览器。
不过,请注意,使用网页抓取是有风险的,因为如果网页的设计发生了变化,你的脚本可能就会失效。
关于使用API的选项,正如AdamKG的评论所提到的,这确实是个不错的选择,因为有一个REST API,你可以用python来调用。如果你想的话。不过,很遗憾,我没有看到任何可以让你实现你想要的功能的东西,而且看起来这个API还没有稳定下来。不过,正如我所说的,未来考虑这个选项还是不错的。