我写了一个python cgi脚本,它接收书籍文件+ html表单中的一些文本。 脚本保存文件没有问题(在临时目录中:/ opt/bibliotecha/tmp_bookcase /),但是我试图使用calibredb工具将它添加到口径库,但我没有成功。calibredb添加书籍 - 通过cgi脚本
我将有问题的部分分离到以下脚本中;
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import cgi
import cgitb; cgitb.enable()
print "Content-type: text/html"
print
import os, subprocess
tmp_upload_path = "/opt/bibliotecha/tmp_bookcase/"
tmp_path_book = tmp_upload_path + "Vila-Matas,Enrique-Dublinesque(NewDirections,2012).epubVila-Matas,Enrique-Dublinesque(NewDirections,2012).epub"
subprocess.call(["calibredb", "add", tmp_path_book])
如果我从终端调用脚本,它会完成应有的操作。
如果我调用脚本从浏览器中,我得到以下信息:
No write acces to /var/www/.config/calibre using a temporary dir instead
我认为错误可能与以下事实:当脚本从浏览器,它的用户称为不同的做用户和组。但口径怎么不会抱怨呢?
我发现,似乎解决了同样的问题 https://bugs.launchpad.net/calibre/+bug/1299635 线程和他们提到环境上运行的是不必在PHP中的相同(在他们的情况),在控制台口径。
但我真的没有得到口径的环境,从来没有听说过它。
任何提示? :d
一个