forked from soutade/libgourou
Raise an exception if no EBX_HANDLER is found in PDF
This commit is contained in:
parent
dc15fc7197
commit
33ea9e7d65
|
@ -68,6 +68,7 @@ namespace gourou
|
|||
|
||||
enum DOWNLOAD_ERROR {
|
||||
DW_NO_ITEM = 0x1200,
|
||||
DW_NO_EBX_HANDLER,
|
||||
};
|
||||
|
||||
enum SIGNIN_ERROR {
|
||||
|
|
|
@ -611,7 +611,8 @@ namespace gourou
|
|||
else if (res == PDF)
|
||||
{
|
||||
uPDFParser::Parser parser;
|
||||
|
||||
bool EBXHandlerFound = false;
|
||||
|
||||
try
|
||||
{
|
||||
GOUROU_LOG(DEBUG, "Parse PDF");
|
||||
|
@ -631,6 +632,7 @@ namespace gourou
|
|||
// Update EBX_HANDLER with rights
|
||||
if ((*it)->hasKey("Filter") && (**it)["Filter"]->str() == "/EBX_HANDLER")
|
||||
{
|
||||
EBXHandlerFound = true;
|
||||
uPDFParser::Object* ebx = (*it)->clone();
|
||||
(*ebx)["ADEPT_ID"] = new uPDFParser::String(item->getResource());
|
||||
(*ebx)["EBX_BOOKID"] = new uPDFParser::String(item->getResource());
|
||||
|
@ -642,7 +644,12 @@ namespace gourou
|
|||
}
|
||||
}
|
||||
|
||||
parser.write(path, true);
|
||||
if (EBXHandlerFound)
|
||||
parser.write(path, true);
|
||||
else
|
||||
{
|
||||
EXCEPTION(DW_NO_EBX_HANDLER, "EBX_HANDLER not found");
|
||||
}
|
||||
}
|
||||
|
||||
return res;
|
||||
|
|
Loading…
Reference in New Issue
Block a user