mirror of
https://github.com/nzbget/nzbget.git
synced 2026-04-24 06:46:56 -04:00
added built-in unpack: 1) rar and 7-zip formats are supported (via external Unrar and 7-Zip executables); 2) new options <Unpack>, <UnpackPauseQueue>, <UnpackCleanupDisk>, <UnrarCmd>, <SevenZipCmd>; 3) web-interface now shows progress and estimated time during unpack (rar only; for 7-Zip progress is not available due to limitations of 7-Zip) 4) when built-in unpack is enabled, the post-processing script is called after unpack and possibly par-check/repair (if needed); 5) for nzb-files containing multiple collections (par-sets) the post-processing script is called only once, after the last par-set; 6) new parameter <NZBPP_UNPACKSTATUS> passed to post-processing script; 7) if the option <AllowReProcess> is enabled the post-processing-script is called after each par-set (as in previous versions); 8) example post-processing script updated: removed unrar-code, added check for unpack status; 9) new field <UnpackStatus> in result of RPC-method <history>; 10) history-dialog in web-interface shows three status: par-status, unpack-status, script-status; 11) with two built-in special post-processing parameters <*Unpack:> and <*Unpack:Password> the unpack can be disabled for individual nzb-file or the password can be set; 12) built-in special post-processing parameters can be set via web-interface on page <PP-Parameters> (when built-in unpack is enabled).
This commit is contained in:
14
XmlRpc.cpp
14
XmlRpc.cpp
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* This file is part of nzbget
|
||||
*
|
||||
* Copyright (C) 2007-2011 Andrey Prygunkov <hugbug@users.sourceforge.net>
|
||||
* Copyright (C) 2007-2013 Andrey Prygunkov <hugbug@users.sourceforge.net>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@@ -1629,7 +1629,7 @@ void PostQueueXmlCommand::Execute()
|
||||
{
|
||||
PostInfo* pPostInfo = *it;
|
||||
|
||||
const char* szPostStageName[] = { "QUEUED", "LOADING_PARS", "VERIFYING_SOURCES", "REPAIRING", "VERIFYING_REPAIRED", "EXECUTING_SCRIPT", "FINISHED" };
|
||||
const char* szPostStageName[] = { "QUEUED", "LOADING_PARS", "VERIFYING_SOURCES", "REPAIRING", "VERIFYING_REPAIRED", "UNPACKING", "EXECUTING_SCRIPT", "FINISHED" };
|
||||
|
||||
char* xmlNZBNicename = EncodeStr(pPostInfo->GetNZBInfo()->GetName());
|
||||
char* xmlNZBFilename = EncodeStr(pPostInfo->GetNZBInfo()->GetFilename());
|
||||
@@ -1786,6 +1786,7 @@ void HistoryXmlCommand::Execute()
|
||||
"<member><name>DestDir</name><value><string>%s</string></value></member>\n"
|
||||
"<member><name>Category</name><value><string>%s</string></value></member>\n"
|
||||
"<member><name>ParStatus</name><value><string>%s</string></value></member>\n"
|
||||
"<member><name>UnpackStatus</name><value><string>%s</string></value></member>\n"
|
||||
"<member><name>ScriptStatus</name><value><string>%s</string></value></member>\n"
|
||||
"<member><name>FileSizeLo</name><value><i4>%u</i4></value></member>\n"
|
||||
"<member><name>FileSizeHi</name><value><i4>%u</i4></value></member>\n"
|
||||
@@ -1816,6 +1817,7 @@ void HistoryXmlCommand::Execute()
|
||||
"\"DestDir\" : \"%s\",\n"
|
||||
"\"Category\" : \"%s\",\n"
|
||||
"\"ParStatus\" : \"%s\",\n"
|
||||
"\"UnpackStatus\" : \"%s\",\n"
|
||||
"\"ScriptStatus\" : \"%s\",\n"
|
||||
"\"FileSizeLo\" : %u,\n"
|
||||
"\"FileSizeHi\" : %u,\n"
|
||||
@@ -1864,6 +1866,7 @@ void HistoryXmlCommand::Execute()
|
||||
"}";
|
||||
|
||||
const char* szParStatusName[] = { "NONE", "FAILURE", "REPAIR_POSSIBLE", "SUCCESS" };
|
||||
const char* szUnpackStatusName[] = { "NONE", "NONE", "FAILURE", "SUCCESS" };
|
||||
const char* szScriptStatusName[] = { "NONE", "UNKNOWN", "FAILURE", "SUCCESS" };
|
||||
const char* szUrlStatusName[] = { "UNKNOWN", "UNKNOWN", "SUCCESS", "FAILURE", "UNKNOWN" };
|
||||
const char* szMessageType[] = { "INFO", "WARNING", "ERROR", "DEBUG", "DETAIL"};
|
||||
@@ -1899,9 +1902,10 @@ void HistoryXmlCommand::Execute()
|
||||
|
||||
snprintf(szItemBuf, szItemBufSize, IsJson() ? JSON_HISTORY_ITEM_START : XML_HISTORY_ITEM_START,
|
||||
pHistoryInfo->GetID(), pHistoryInfo->GetID(), "NZB", xmlNicename, xmlNicename, xmlNZBFilename,
|
||||
xmlDestDir, xmlCategory, szParStatusName[pNZBInfo->GetParStatus()],
|
||||
szScriptStatusName[pNZBInfo->GetScriptStatus()], iFileSizeLo, iFileSizeHi, iFileSizeMB,
|
||||
pNZBInfo->GetFileCount(), pNZBInfo->GetParkedFileCount(), pHistoryInfo->GetTime(), "", "");
|
||||
xmlDestDir, xmlCategory, szParStatusName[pNZBInfo->GetParStatus()],
|
||||
szUnpackStatusName[pNZBInfo->GetUnpackStatus()], szScriptStatusName[pNZBInfo->GetScriptStatus()],
|
||||
iFileSizeLo, iFileSizeHi, iFileSizeMB, pNZBInfo->GetFileCount(),
|
||||
pNZBInfo->GetParkedFileCount(), pHistoryInfo->GetTime(), "", "");
|
||||
|
||||
free(xmlDestDir);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user