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 |
|
Andrey Prygunkov
|
0721f723be
|
fixed: nzb-files were sometimes not deleted from NzbDir (option "NzbCleanupDisk")
|
2014-05-15 17:02:10 +00:00 |
|
Andrey Prygunkov
|
2da7239ac6
|
fixed: if post-processing step "move" failed, the command "post-process again" did not try to move again
|
2014-05-08 19:54:25 +00:00 |
|
Andrey Prygunkov
|
7b4c07c837
|
refactor: better handling of completed URL downloads
|
2014-05-07 19:58:47 +00:00 |
|
Andrey Prygunkov
|
169c56f105
|
implemented general scripts concept which is an extension of the post-processing scripts concept initially introduced in v11; the general scripts concept applies to all scripts used in the program: scan-script, queue-script and scheduler-script (in addition to post-processing scripts); option "NzbProcess" renamed to "ScanScript"; option "NzbAddedProcess" renamed to "QueueScript"; option "DefScript" and "CategoryX.DefScript" renamed to "PostScript" and "CategoryX.PostScript" (options with old names are recognized and automatically converted on first settings saving); new option "TaskX.Script"; old option "TaskX.Process" kept for scheduling of external programs not related to nzbget (to avoid writing of intermediate proxy scripts); scan-script, queue-script and scheduler-script now work similar to post-processing scripts: -scripts must be put into scripts-directory; -scripts can be configured via web-interface and can have options; -multiple scripts can be chosen for each scripts-option, all chosen scripts are executed; -program and script options are passed to the script as env. variables;; renamed default directory with scripts from "ppscripts" to "scripts"; script signature indicates the type of script (post-processing, scan, queue or scheduler); one script can have mixed signature allowing it to be used for multiple purposes (for example a notification script can send a notification on both events: after adding to queue and after post-processing); result of RPC-method "configtemplates" has new fields "PostScript", "ScanScript", "QueueScript", "SchedulerScript" to indicate the purpose of the script; queue-script (formerly NzbAddedProcess) has new parameter "NZBNA_EVENT" indicating the reason of calling the script; currently the script is called only after adding of files to download queue and therefore the parameter is always set to "NZB_ADDED" but the queue-script can be called on other events in the future too
|
2014-05-06 15:36:15 +00:00 |
|
Andrey Prygunkov
|
d51cdfd7c4
|
icreased few wait intervals which were unnecessary too small
|
2014-05-04 13:18:28 +00:00 |
|
Andrey Prygunkov
|
3c02b139e8
|
eliminated loop waiting time in queue coordinator on certain conditions - may improve performance on very high speed connections
|
2014-05-03 11:28:39 +00:00 |
|
Andrey Prygunkov
|
9d660b9d4e
|
extended info printed by remote command "nzbget -B dump"
|
2014-05-02 19:36:02 +00:00 |
|
Andrey Prygunkov
|
b41cd3ff97
|
additon to r945: adjusted modules initialization to avoid possible bugs due to delayed thread starts
|
2014-04-25 23:02:51 +00:00 |
|
Andrey Prygunkov
|
f2406ee0e4
|
fixed: queue was not locked during loading on program start and that could cause problems
|
2014-04-25 22:56:33 +00:00 |
|
Andrey Prygunkov
|
4712c6a372
|
fixed: errors during loading of queue from disk state may render the already loaded parts useless too; now at least these parts of queue are used
|
2014-04-25 22:51:22 +00:00 |
|
Andrey Prygunkov
|
56dc1b2b6c
|
fixed: the program could crash during parsing of malformed nzb-files
|
2014-04-25 21:37:47 +00:00 |
|
Andrey Prygunkov
|
cb13d00844
|
added force-priorities; downloads with priorities equal to or greater than 900 are downloaded and post-processed even if the program is in paused state (force mode); in web-interface the combo for choosing priority has new entry "force" (priority value 900); new fields "ForcedSizeLo", "ForcedSizeHi" and "ForcedSizeMB" returned by RPC-method "status";
|
2014-04-22 20:26:29 +00:00 |
|
Andrey Prygunkov
|
482af25c90
|
fixed: field "STATUS" was not set correctly for par-checked downloads without unpack (bug introduced in r992)
|
2014-04-16 17:51:28 +00:00 |
|
Andrey Prygunkov
|
80ceca6e28
|
new field "STATUS" in RPC-method "history" to allow third-party apps easier determine the status of an item without inspecting status-fields of every processing step; web-interface uses new field "STATUS"
|
2014-04-14 22:06:23 +00:00 |
|
Andrey Prygunkov
|
bdcb8864fb
|
fixed: history status "SKIPPED" and "SCAN" for URL-items were not properly read from disk state
|
2014-04-14 20:55:04 +00:00 |
|