Andrey Prygunkov
|
7e6f8f19eb
|
each nzb now has its own individual log, where messages printed during download or post-processing are saved; the messages can be retrieved later at any time; new button "Log" in the history details dialog; button "Log" in the download details dialog is now active during download too (not only during post-processing); the log contains all nzb-related messages except detail-messages and errors printed during retrieving of articles (they would produce way too many messages and are not that useful anyway); new option "NzbLog" to deactivate per-nzb logging if necessary; per-nzb logs are saved in the queue-directory (option "QueueDir"); new RPC-method "loadlog" returns the previously saved messages for a given nzb-file; new field "MessageCount" is returned by RPC-methods "listgroups" and "history" and indicates if there are any messages saved for the item; parameter "NumberOfLogEntries" of RPC-method "listgroups" and the field "Log" returned by the method are now deprecated, use method "loadlag" instead; field "PostInfoText" returned by RPC-method "listgroups" is now automatically filled with the latest message printed by a pp-script eliminating the need to access deprecated field "Log"
|
2015-02-26 20:57:38 +00:00 |
|
Andrey Prygunkov
|
a2dfb26b36
|
improved detection of malformed nzb-files: nzbs which are valid xml-documents but without nzb content are now rejected with an appropriate error message
|
2015-02-19 19:10:15 +00:00 |
|
Andrey Prygunkov
|
19d297f934
|
fixed: the program could crash during download when article cache was active (more likely on very high download speeds)
|
2015-02-11 22:38:59 +00:00 |
|
Andrey Prygunkov
|
a23128f25f
|
addition to r1205: when sorting by priority in auto mode (without specifying + or -) the default order is descending since it is more logical to use for priority
|
2015-02-07 22:23:17 +00:00 |
|
Andrey Prygunkov
|
567f7c3028
|
added on-demand queue sorting; one click on column title in web interface sorts the selected or all items; if the items were already sorted in that order they are sorted backwards; in other words the second click sorts in descending order; when sorting selected items they are also grouped together in a case there were holes between selected items; RPC-method "editqueue" has new command "GroupSort", parameter "Text" must be one of: "name", "priority", "category", "size", "left"; add character "+" or "-" to sort to explicitly define ascending or descending order (for example "name-"); if none of these characters are used the auto-mode is active: the items are sorted in ascending order first, if nothing changed - they are sorted again in descending order
|
2015-02-07 19:17:49 +00:00 |
|
Andrey Prygunkov
|
02f87b23fb
|
fixed: command "download again" was not disabled for hidden history records and resulted in a crash
|
2015-01-23 20:01:08 +00:00 |
|
Andrey Prygunkov
|
11bfb57809
|
added support for password list file; new option "UnpackPassFile" to set the location of the file; during unpack the passwords are tried from the file until unpack succeeds or all passwords were tried; implemented different strategies for rar4 and rar5-archives taking into account the features of formats; for rar5-archives a wrong password is reported by unrar unambiguously and the program can immediately try other passwords from the password list; for rar4-archives and for 7z-archives it is not possible to differentiate between damaged archive and wrong password; for those archives if the first unpack attempt (without password) fails the program executes par-check (preferably quick par-check if enabled via option "ParQuick) before trying the passwords from the list; another optimization is that the password list is tried only when the first unpack attempt (without password) reports a password error or decryption errors; this saves unnecessary unpack attempts for damaged unencrypted archives
|
2015-01-22 20:57:39 +00:00 |
|
Andrey Prygunkov
|
0e83ef32bb
|
addition to r1187: renaming of hidden history items is now also supported
|
2015-01-17 16:34:49 +00:00 |
|
Andrey Prygunkov
|
86ae9e94cd
|
name and category of history items can now be changed in web-interface; RPC-API method "editqueue" extended with new actions "HistorySetName" and "HistorySetCategory"
|
2015-01-15 20:46:17 +00:00 |
|
Andrey Prygunkov
|
a060531ae3
|
actions for history items can now be performed for multiple (selected) records: post-process again, download again, mark as good, mark as bad; extended RPC-API method "editqueue": for history-records of type "URL" the action "HistoryRedownload" can now be used as synonym to "HistoryReturn" (makes it easier to redownload multiple items of different types (URL and NZB) with one API call)
|
2014-11-25 19:23:17 +00:00 |
|
Andrey Prygunkov
|
e6f4f8c05e
|
queue scripts can now define what events they are interested in; this avoids unnecessary calling of the scripts which do not process certain events
|
2014-10-20 21:17:54 +00:00 |
|
Andrey Prygunkov
|
c5cb95fd8c
|
additional parameters (env. vars) are now passed to scan scripts: NZBNP_DUPEKEY, NZBNP_DUPESCORE, NZBNP_DUPEMODE; scan-scripts can now set dupekey, dupemode and dupescore by printing new special commands
|
2014-10-16 20:40:09 +00:00 |
|
Andrey Prygunkov
|
bfbcde3b47
|
fixed: RPC-method "editqueue" with action "HistoryReturn" caused a crash if the history item did not have any remaining (parked) files
|
2014-10-14 16:12:25 +00:00 |
|
Andrey Prygunkov
|
029c808458
|
added news server name to message "Cancelling hanging download ..." to help identifying problematic servers
|
2014-10-10 21:13:02 +00:00 |
|
Andrey Prygunkov
|
9269f69a38
|
improvement in quick par-verification: if unpack fails (excluding invalid password errors) and quick par-check does not find any errors or quick par-check was already performed the full par-check is performed; this helps in rare situations when files were correctly downloaded (and therefore assumed correct by quick par-check) but incorrectly written into disk due to abnormal program termination (caused by bugs or hardware crashes)
|
2014-10-09 21:11:42 +00:00 |
|
Andrey Prygunkov
|
6afbade8f7
|
improved scan-scripts: if the category of nzb-file is changed by the scan-script the assigned post-processing scripts are now automatically reset according to the new category
|
2014-10-03 20:58:11 +00:00 |
|
Andrey Prygunkov
|
e206d3a833
|
fixed several compiler warnings
|
2014-09-27 21:04:06 +00:00 |
|
Andrey Prygunkov
|
95b76bc586
|
when option "ContinuePartial" is active the current state is saved not more often than once per second instead of after every downloaded article; this significantly reduce the amount of disk writings on high download speeds
|
2014-09-16 20:54:50 +00:00 |
|
Andrey Prygunkov
|
44cf680f14
|
an improvement in duplicate check: if a new download with empty dupekey and empty dupescore is marked as "dupe" and the another download with the same name have non empty dupekey or dupescore these properties are copied from that download; this is useful because the new download is most likely another upload of the same file and it should have the same duplicate properties for best duplicate handling results
|
2014-09-13 21:30:42 +00:00 |
|
Andrey Prygunkov
|
d0754e022f
|
addition to r1121: now fixed on windows too: inner files (files listed in nzb) bigger than 2GB could not be downloaded
|
2014-09-08 19:35:11 +00:00 |
|
Andrey Prygunkov
|
7de78cd088
|
added new option "UrlTimeout" to set timeout for URL fetching and RSS feed fetching; renamed option "ConnectionTimeout" to "ArticleTimeout"
|
2014-08-28 19:31:31 +00:00 |
|
Andrey Prygunkov
|
0f98c72f1e
|
fixed: cancelling of post-processing could delete the nzb-item completely (bug introduced in v14)
|
2014-08-28 19:15:42 +00:00 |
|
Andrey Prygunkov
|
4e83a68bf1
|
when a download is downloaded again (from history) the queue-scripts are now called with event "NZB_ADDED"
|
2014-08-22 16:57:54 +00:00 |
|
Andrey Prygunkov
|
43e096c6dc
|
refactor: eliminated two compiler warnings
|
2014-08-19 20:53:00 +00:00 |
|
Andrey Prygunkov
|
b10b48f5e9
|
the list of scripts (pp-scripts, queue-scripts, etc.) is now read once on program start instead of reading everytime a script is executed; that eliminates the unnecessary disk access; the list of post-processing parameters shown on page "Postprocess" of download details dialog is now built using the preloaded list of scripts instead of reading the script config sections on every load of web-interface; the settings page of web-interface loads available scripts every time the page is shown; this allows to configure newly added scripts without restarting the program first (just like it was before); a restart is still required to apply the settings (just like it was before); RPC-method "configtemplates" has new parameter "loadFromDisk"
|
2014-08-19 19:56:09 +00:00 |
|
Andrey Prygunkov
|
1a76c72bf3
|
fixed: the program could crash during executing of queue-scripts (bug introduced in r1094); the list of queue-scripts is now read only once, at program start; queue-scripts added to scripts-directory after the program was started can be selected in download details dialog on page "Postprocess" but will not be executed until the program is restarted
|
2014-08-19 19:47:49 +00:00 |
|
Andrey Prygunkov
|
74a1f6301a
|
added option "EventInterval" allowing to reduce the number of calls of queue-scripts, which can be useful on slow systems
|
2014-08-19 19:45:30 +00:00 |
|
Andrey Prygunkov
|
dd22ec68fc
|
improvement in support for detection of bad downloads (fakes, etc.): scripts supporting two modes (post-processing-mode and queue-mode) are now executed if selected in post-processing parameters: either in options "PostScript" and "CategoryX.PostScript" or manually on page "Postprocess" of download details dialog in web-interface; it is not necessary to select dual-mode scripts in option "QueueScript"; that provides more flexibility: the scripts can be selected per-category or activated/deactivated for each nzb individually
|
2014-08-17 23:07:48 +00:00 |
|
Andrey Prygunkov
|
f439f09c2e
|
improvement in support for detection of bad downloads (fakes, etc.): queue-scripts are now called after every downloaded file included in nzb; new event "FILE_DOWNLOADED" of parameter "NZBNA_EVENT"; event "UNPACK" removed; instead added event "NZB_DOWNLOADED" which is similar to "UNPACK" but is called for every download even not having archive files and even if unpack is disabled; the execution of queue-scripts is serialized - only one script is executed at a time and other scripts wait in script-queue; the script-queue is compressed so that the same script for the same event is not queued more than once; this reduces the number of calls of scripts if files are downloaded faster than queue-scripts can work up them; a call for event "NZB_DOWNLOADED" is always performed even if the previous calls for events "FILE_DOWNLOADED" were skipped; when a script marks nzb as bad the nzb is deleted from queue, no further internal post-processing (par, unrar, etc.) is made for the nzb but all post-processing scripts are executed; if option "DeleteCleanupDisk" is active the already downloaded files are deleted; new status "BAD" for field "DeleteStatus" of nzb-item in RPC-method "history"; queue-scripts can set post-processing parameters by printing special command, just like post-processing-scripts can do that; this simplifies transferring (of small amount) of information between queue-scripts and post-processing-scripts
|
2014-08-15 22:24:53 +00:00 |
|
Andrey Prygunkov
|
6a14353391
|
added support for detection of bad downloads (fakes, etc.): extended queue-scripts with new event "UNPACK", scripts are called before unpack and have a chance to detect bad downloads before unpacking; queue-scripts and post-processing scripts can mark downloads as bad by printing special command; marked downloads become status "FAILURE/BAD" and are processed by the program as failures (triggering duplicate handling); scripts executed thereafter see the new status and can react accordingly (inform an indexer or a third-party automation tool); new env. var "NZBNA_DIRECTORY" passed to queue scripts
|
2014-08-11 23:15:58 +00:00 |
|
Andrey Prygunkov
|
9090fe5fc9
|
fixed: not all statistic fields were reset when using command "Download again" (bug introduced in v14)
|
2014-08-11 18:10:47 +00:00 |
|
Andrey Prygunkov
|
80b2e22d9d
|
added new search field "dupestatus" for use in rss filters: the search is performed through download queue and history testing items with the same dupekey or title as current rss item; the field contains comma-separated list of following possible statuses (if duplicates were found): QUEUED, DOWNLOADING, SUCCESS, WARNING, FAILURE or an empty string if there were no matching items found
|
2014-08-10 22:14:03 +00:00 |
|
Andrey Prygunkov
|
40de60dd8b
|
added quick par verification for damaged (partially downloaded) files
|
2014-08-06 00:11:07 +00:00 |
|
Andrey Prygunkov
|
c9981472a8
|
refactor: disk state now holds info about failed files: their IDs, CRCs of download articles and full intitial article information; these data can be used later to retry download of failed articles and for quick par-verification of damaged files
|
2014-08-05 23:45:28 +00:00 |
|
Andrey Prygunkov
|
a62966227a
|
added quick file verification during par-check/repair; if par-repair is required for download the files downloaded without errors are verified quickly by comparing their checksums against the checksums stored in the par2-file; this makes the verification of undamaged files almost instant; damaged files are verified as usual; new option "ParQuick" (active by default); added support for block-by-block scan of files during verification, which improves scan speed of damaged files; the quick par-verification requires a patch for libpar2 (see http://nzbget.net/libpar2 for details)
|
2014-07-27 21:59:00 +00:00 |
|
Andrey Prygunkov
|
c626528a83
|
fixed: post-process time (statistic) was not correctly reset when post-processing again
|
2014-07-25 21:53:40 +00:00 |
|
Andrey Prygunkov
|
3074ea62dc
|
added per-nzb time and size statistics: total time, download, verify, repair and unpack times, downloaded size and average speed, shown in history details dialog via click on the row with total size in statistics block; RPC-methods "listgroups" and "history" return new fields: "DownloadedSizeLo", "DownloadedSizeHi", "DownloadedSizeMB", "DownloadTimeSec", "PostTotalTimeSec", "ParTimeSec", "RepairTimeSec", "UnpackTimeSec"
|
2014-07-19 00:06:28 +00:00 |
|
Andrey Prygunkov
|
ba9efe43be
|
added article cache: new option "ArticleCache" defines memory limit to use for cache; when cache is active the articles are written into cache first and then all flushed to disk into the destination file; article cache reduces disk IO and may reduce file fragmentation improving post-processing speed (unpack); it works with both writing modes (direct write on and off); when option "DirectWrite" is disabled the cache should be big enough (for best performance) to accommodate all articles of one file (sometimes up to 500 MB) in order to avoid writing articles into temporary files, otherwise temporary files are used for articles which do not fill into cache; when used in combination with DirectWrite there is no such limitation and even a small cache (100 MB or even less) can be used effectively; when the cache becomes full it is flushed automatically (directly into destination file) providing room for new articles; new row in the "statistics and status dialog" in web-interface indicates the amount of memory used for cache; new fields "ArticleCacheLo", "ArticleCacheHi" and "ArticleCacheMB" returned by RPC-method "status"; refactor: parts of unit "ArticleDownloader" responsible for writing into disk were moved into new unit "ArticleWriter"
|
2014-07-18 22:48:35 +00:00 |
|
Andrey Prygunkov
|
702b635826
|
improved RPC-API: history items now preserve "NZBID" from queue items; that makes the tracking of items across queue and history easier for third-party apps; field "NZBID" returned by RPC-method "history" is now available for history items of all kinds (NZB, URL, DUP); field "ID" is deprecated and should not be used
|
2014-07-04 19:07:51 +00:00 |
|
Andrey Prygunkov
|
990c5f67e4
|
fixed: current download could be damaged if the program was restarted during download and the option "ContinuePartial" was active (bug introduced in v13)
|
2014-07-03 20:45:53 +00:00 |
|
Andrey Prygunkov
|
f0e60ee577
|
improvement in RPC-API: method "append" now returns id of added nzb-file or "0" on an error; this makes it easier for third-party apps to track added nzb-files; for backward compatibility with older software expecting a boolean result the old version of method "append" is still supported; the new version of method "append" has a different signature (order of parameters); parameter "content" can now be either nzb-file content (encoded in base 64) or an URL; this makes the method "appendurl" obsolete (still supported for compatibility); if an URL was added to queue the queue entry created for fetched nzb-file has the same "NZBID" for easier tracking
|
2014-06-19 15:00:46 +00:00 |
|
Andrey Prygunkov
|
d26d04d92b
|
when changing category in web-interface the post-processing parameters are now automatically updated according to new category settings; only parameters which are different in old and new category are changed; parameters which present in both or in neither categories are not changed; that ensures that only the relevant parameters are updated and parameters which were manually changed by user remain they settings when it make sense; in the "download details dialog" the new parameters are updated on the postprocess-tab directly after changing of category and can be controlled before saving; in the "edit multiple downloads dialog" the parameters are updated individually for each download on saving; new action "CP" of remote command "--edit/-E" for groups to set category and apply parameters; new action "GroupApplyCategory of RPC-method "editqueue" for the same purpose
|
2014-06-13 21:53:27 +00:00 |
|
Andrey Prygunkov
|
5aaaa1e6a7
|
fixed: the program could crash during cleanup if files with invalid timestamps were found in the directory (windows only)
|
2014-06-09 20:52:23 +00:00 |
|
Andrey Prygunkov
|
076017128e
|
added support for power management on windows to avoid pc going into sleep mode during download or post-processing
|
2014-06-06 19:25:02 +00:00 |
|
Andrey Prygunkov
|
1d3d875f3d
|
refactor: created new class "Tokenizer" and replaced all usages of function "strtok_r" with new class; also created new function "MatchFileExt" for the similar code used in two places
|
2014-05-29 21:38:27 +00:00 |
|
Andrey Prygunkov
|
48446367f4
|
post-processing scripts now have two new parameters: env. var "NZBPP_STATUS" indicates the status of download including the total status (SUCCESS, FAILURE, etc.) and the detail field (for example in case of failures: PAR, UNPACK, etc.); env. var "NZBPP_TOTALSTATUS" is equal to the total status of parameter "NZBPP_STATUS" and is provided for convenience (to avoid parsing of "NZBPP_STATUS"); the new parameters provide a simple way for pp-scripts to determine download status without a guess work needed in previous versions; parameters "NZBPP_PARSTATUS" and "NZBPP_UNPACKSTATUS" are now considered deprecated (still passed for compatibility); updated script "EMail.py" to use new parameters "NZBPP_TOTALSTATUS" and "NZBPP_STATUS" instead of "NZBPP_PARSTATUS" and "NZBPP_UNPACKSTATUS"
|
2014-05-28 22:19:39 +00:00 |
|
Andrey Prygunkov
|
f85533d608
|
fixed: some nzb-file data were not calculated for history items loaded from disk state; this may cause problems for commands "Post-process again" and "Download remaining files" (bug introduced in v13)
|
2014-05-28 21:37:44 +00:00 |
|
Andrey Prygunkov
|
e32faf6053
|
better error reporting if deleting of directories fails
|
2014-05-25 20:42:50 +00:00 |
|
Andrey Prygunkov
|
9112d2277e
|
fixed: incorrect number of paused files were shown in curses output mode
|
2014-05-24 12:25:24 +00:00 |
|
Andrey Prygunkov
|
8c36a4d4c6
|
fixed: renaming or deleting of temporary files could fail, especially when options "UnpackPauseQueue" and "ScriptPauseQueue" were not active (windows only)
|
2014-05-22 16:58:16 +00:00 |
|