make sure that python rclextract.idoctofile always retrieves an uncompressed file of the correct MIME type. + misc comments
This commit is contained in:
@@ -55,8 +55,8 @@ void multiSave(QWidget *p, vector<Rcl::Doc>& docs)
|
||||
LOGDEB2("multiSave: got dir " << (dir) << "\n" );
|
||||
|
||||
/* Save doc to files in target directory. Issues:
|
||||
- It is quite common to have docs in the array with the save
|
||||
file names, e.g. all messages in a folder have the save file
|
||||
- It is quite common to have docs in the array with the same
|
||||
file names, e.g. all messages in a folder have the same file
|
||||
name (the folder's).
|
||||
- There is no warranty that the ipath is going to be acceptable
|
||||
as a file name or interesting at all. We don't use it.
|
||||
@@ -131,7 +131,7 @@ void multiSave(QWidget *p, vector<Rcl::Doc>& docs)
|
||||
}
|
||||
// There is still a race condition here, should we care ?
|
||||
TempFile temp;// not used
|
||||
if (!FileInterner::idocToFile(temp, fn, theconfig, docs[i])) {
|
||||
if (!FileInterner::idocToFile(temp, fn, theconfig, docs[i], false)) {
|
||||
QMessageBox::warning(0, "Recoll",
|
||||
QWidget::tr("Cannot extract document: ") +
|
||||
QString::fromLocal8Bit(docs[i].url.c_str()) +
|
||||
|
||||
@@ -819,14 +819,14 @@ bool Preview::loadDocInCurrentTab(const Rcl::Doc &idoc, int docnum)
|
||||
// If this is an image, display it instead of the text.
|
||||
if (!idoc.mimetype.compare(0, 6, "image/")) {
|
||||
string fn = fileurltolocalpath(idoc.url);
|
||||
|
||||
// If the command wants a file but this is not a file url, or
|
||||
// there is an ipath that it won't understand, we need a temp file:
|
||||
theconfig->setKeyDir(fn.empty() ? "" : path_getfather(fn));
|
||||
|
||||
// We want a real file, so if this comes from data or we have
|
||||
// an ipath, create it.
|
||||
if (fn.empty() || !idoc.ipath.empty()) {
|
||||
TempFile temp = lthr.tmpimg;
|
||||
if (temp) {
|
||||
LOGDEB1("Preview: load: got temp file from internfile\n" );
|
||||
LOGDEB1("Preview: load: got temp file from internfile\n");
|
||||
} else if (!FileInterner::idocToFile(temp, string(),
|
||||
theconfig, idoc)) {
|
||||
temp.reset(); // just in case.
|
||||
|
||||
@@ -300,7 +300,8 @@ void RclMain::startNativeViewer(Rcl::Doc doc, int pagenum, QString term)
|
||||
bool enterHistory = false;
|
||||
bool istempfile = false;
|
||||
|
||||
LOGDEB("RclMain::startNV: groksipath " << (groksipath) << " wantsf " << (wantsfile) << " wantsparentf " << (wantsparentfile) << "\n" );
|
||||
LOGDEB("RclMain::startNV: groksipath " << groksipath << " wantsf " <<
|
||||
wantsfile << " wantsparentf " << wantsparentfile << "\n");
|
||||
|
||||
// If the command wants a file but this is not a file url, or
|
||||
// there is an ipath that it won't understand, we need a temp file:
|
||||
@@ -328,8 +329,7 @@ void RclMain::startNativeViewer(Rcl::Doc doc, int pagenum, QString term)
|
||||
if (!fn.empty() && theconfig->mimeViewerNeedsUncomp(doc.mimetype)) {
|
||||
if (access(fn.c_str(), R_OK) != 0) {
|
||||
QMessageBox::warning(0, "Recoll",
|
||||
tr("Can't access file: ") +
|
||||
QString::fromLocal8Bit(fn.c_str()));
|
||||
tr("Can't access file: ") + u8s2qs(fn));
|
||||
return;
|
||||
}
|
||||
TempFile temp;
|
||||
|
||||
Reference in New Issue
Block a user