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 {
|
enum DOWNLOAD_ERROR {
|
||||||
DW_NO_ITEM = 0x1200,
|
DW_NO_ITEM = 0x1200,
|
||||||
|
DW_NO_EBX_HANDLER,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum SIGNIN_ERROR {
|
enum SIGNIN_ERROR {
|
||||||
|
|
|
@ -611,6 +611,7 @@ namespace gourou
|
||||||
else if (res == PDF)
|
else if (res == PDF)
|
||||||
{
|
{
|
||||||
uPDFParser::Parser parser;
|
uPDFParser::Parser parser;
|
||||||
|
bool EBXHandlerFound = false;
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
@ -631,6 +632,7 @@ namespace gourou
|
||||||
// Update EBX_HANDLER with rights
|
// Update EBX_HANDLER with rights
|
||||||
if ((*it)->hasKey("Filter") && (**it)["Filter"]->str() == "/EBX_HANDLER")
|
if ((*it)->hasKey("Filter") && (**it)["Filter"]->str() == "/EBX_HANDLER")
|
||||||
{
|
{
|
||||||
|
EBXHandlerFound = true;
|
||||||
uPDFParser::Object* ebx = (*it)->clone();
|
uPDFParser::Object* ebx = (*it)->clone();
|
||||||
(*ebx)["ADEPT_ID"] = new uPDFParser::String(item->getResource());
|
(*ebx)["ADEPT_ID"] = new uPDFParser::String(item->getResource());
|
||||||
(*ebx)["EBX_BOOKID"] = 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;
|
return res;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user