void PrePostProcessor::NzbDeleted(DownloadQueue* downloadQueue, NzbInfo* nzbInfo) { if (nzbInfo->GetUnpackThread()) { ((DirectUnpack*)nzbInfo->GetUnpackThread())->NzbDeleted(downloadQueue, nzbInfo); } if (nzbInfo->GetDeleteStatus() == NzbInfo::dsNone) { nzbInfo->SetDeleteStatus(NzbInfo::dsManual); } nzbInfo->SetDeleting(false); DeleteCleanup(nzbInfo); if (nzbInfo->GetDeleteStatus() == NzbInfo::dsHealth || nzbInfo->GetDeleteStatus() == NzbInfo::dsBad) { NzbDownloaded(downloadQueue, nzbInfo); } else { NzbCompleted(downloadQueue, nzbInfo, true); } }
void PrePostProcessor::NzbAdded(DownloadQueue* downloadQueue, NzbInfo* nzbInfo) { if (g_Options->GetParCheck() != Options::pcForce) { downloadQueue->EditEntry(nzbInfo->GetId(), DownloadQueue::eaGroupPauseExtraPars, nullptr); } if (g_Options->GetReorderFiles() && nzbInfo->GetDeleteStatus() == NzbInfo::dsNone) { nzbInfo->PrintMessage(Message::mkInfo, "Reordering files for %s", nzbInfo->GetName()); downloadQueue->EditEntry(nzbInfo->GetId(), DownloadQueue::eaGroupSortFiles, nullptr); } if (nzbInfo->GetDeleteStatus() == NzbInfo::dsDupe || nzbInfo->GetDeleteStatus() == NzbInfo::dsCopy || nzbInfo->GetDeleteStatus() == NzbInfo::dsGood || nzbInfo->GetDeleteStatus() == NzbInfo::dsScan) { NzbCompleted(downloadQueue, nzbInfo, false); } else { g_QueueScriptCoordinator->EnqueueScript(nzbInfo, QueueScriptCoordinator::qeNzbAdded); } }
void PrePostProcessor::JobCompleted(DownloadQueue* downloadQueue, PostInfo* postInfo) { NzbInfo* nzbInfo = postInfo->GetNzbInfo(); if (postInfo->GetStartTime() > 0) { nzbInfo->SetPostTotalSec((int)(Util::CurrentTime() - postInfo->GetStartTime())); postInfo->SetStartTime(0); } DeletePostThread(postInfo); nzbInfo->LeavePostProcess(); if (IsNzbFileCompleted(nzbInfo, true)) { NzbCompleted(downloadQueue, nzbInfo, false); } if (nzbInfo == m_curJob) { m_curJob = nullptr; } m_jobCount--; downloadQueue->Save(); }
void PrePostProcessor::NzbDownloaded(DownloadQueue* downloadQueue, NzbInfo* nzbInfo) { if (nzbInfo->GetDeleteStatus() == NzbInfo::dsHealth || nzbInfo->GetDeleteStatus() == NzbInfo::dsBad) { g_QueueScriptCoordinator->EnqueueScript(nzbInfo, QueueScriptCoordinator::qeNzbDeleted); } if (!nzbInfo->GetPostInfo() && g_Options->GetDecode()) { nzbInfo->PrintMessage(Message::mkInfo, "Queueing %s for post-processing", nzbInfo->GetName()); nzbInfo->EnterPostProcess(); m_jobCount++; if (nzbInfo->GetParStatus() == NzbInfo::psNone && g_Options->GetParCheck() != Options::pcAlways && g_Options->GetParCheck() != Options::pcForce) { nzbInfo->SetParStatus(NzbInfo::psSkipped); } if (nzbInfo->GetRenameStatus() == NzbInfo::rsNone && !g_Options->GetParRename()) { nzbInfo->SetRenameStatus(NzbInfo::rsSkipped); } downloadQueue->Save(); } else { NzbCompleted(downloadQueue, nzbInfo, true); } }
void PrePostProcessor::JobCompleted(DownloadQueue* downloadQueue, PostInfo* postInfo) { NzbInfo* nzbInfo = postInfo->GetNzbInfo(); nzbInfo->LeavePostProcess(); if (nzbInfo->IsDownloadCompleted(true)) { NzbCompleted(downloadQueue, nzbInfo, false); } m_queuedJobs--; }
void PrePostProcessor::NzbAdded(DownloadQueue* downloadQueue, NzbInfo* nzbInfo) { if (g_Options->GetParCheck() != Options::pcForce) { m_parCoordinator.PausePars(downloadQueue, nzbInfo); } if (nzbInfo->GetDeleteStatus() == NzbInfo::dsDupe || nzbInfo->GetDeleteStatus() == NzbInfo::dsCopy || nzbInfo->GetDeleteStatus() == NzbInfo::dsGood || nzbInfo->GetDeleteStatus() == NzbInfo::dsScan) { NzbCompleted(downloadQueue, nzbInfo, false); } else { g_QueueScriptCoordinator->EnqueueScript(nzbInfo, QueueScriptCoordinator::qeNzbAdded); } }
void PrePostProcessor::NzbDownloaded(DownloadQueue* downloadQueue, NzbInfo* nzbInfo) { if (nzbInfo->GetDeleteStatus() == NzbInfo::dsHealth || nzbInfo->GetDeleteStatus() == NzbInfo::dsBad) { g_QueueScriptCoordinator->EnqueueScript(nzbInfo, QueueScriptCoordinator::qeNzbDeleted); } if (!nzbInfo->GetPostInfo() && !g_Options->GetRawArticle() && !g_Options->GetSkipWrite()) { nzbInfo->PrintMessage(Message::mkInfo, "Queueing %s for post-processing", nzbInfo->GetName()); nzbInfo->EnterPostProcess(); m_queuedJobs++; if (nzbInfo->GetParStatus() == NzbInfo::psNone && g_Options->GetParCheck() != Options::pcAlways && g_Options->GetParCheck() != Options::pcForce) { nzbInfo->SetParStatus(NzbInfo::psSkipped); } if (nzbInfo->GetUnpackThread()) { nzbInfo->GetPostInfo()->SetWorking(true); m_activeJobs.push_back(nzbInfo); ((DirectUnpack*)nzbInfo->GetUnpackThread())->NzbDownloaded(downloadQueue, nzbInfo); } downloadQueue->Save(); } else { if (nzbInfo->GetUnpackThread()) { ((DirectUnpack*)nzbInfo->GetUnpackThread())->NzbDownloaded(downloadQueue, nzbInfo); } NzbCompleted(downloadQueue, nzbInfo, true); } }