Andrey Prygunkov
f28c049c12
fixed #284 : API-method "append" and dupe check
...
method “append” returns nzb-id also for items added straight to history.
2016-09-17 20:38:57 +02:00
Andrey Prygunkov
11c464ed46
fixed #262 : crash on malformed articles
2016-08-12 23:45:57 +02:00
Andrey Prygunkov
355e7a5ab1
#224 : options to delete already downloaded files
2016-05-29 12:28:00 +02:00
Andrey Prygunkov
a1e945661b
#205 : improved handling of queue cleanup
...
Also removed option “ParCleanupQueue” as it is not needed anymore with
reworked state handling.
2016-05-15 19:42:54 +02:00
Andrey Prygunkov
43f25587d2
#205 : improved file state handling
...
Better handling of all cases: manual delete, health delete, retry
failed, download remaining with ContinuePartial=on/off and
DirectWrite=on/off.
2016-05-12 23:22:06 +02:00
Andrey Prygunkov
f08d3918dc
#205 : retry for deleted downloads too
...
Commands “Retry failed articles” and “Download remaining files“ now
work for deleted downloads too (including deleted by health check).
2016-05-09 19:17:17 +02:00
Andrey Prygunkov
8c3e70b1de
#209 : replace invalid characters in file names
...
- replace invalid characters in file names which were read from article
data;
- make necessary changes in par2-module to ensure par-repair works
correctly with changed file names;
- make necessary changes in par-renamer.
2016-04-25 19:11:14 +02:00
Andrey Prygunkov
8de5461759
#207 : separate disk state files for queue and history
2016-04-23 21:33:06 +02:00
Andrey Prygunkov
dd4df8b734
#99 : separate quota reached flag
...
- using separate “quota reached”-flag instead of changing global pause
state;
- new field “QuotaReached” in RPC-method “Status”.
2016-04-15 20:47:04 +02:00
Gunnar Lilleaasen
181a395515
Updated names of guarded pointers used directly in foreach loops.
2016-03-24 13:01:15 +01:00
Gunnar Lilleaasen
4f7849fbc1
Fixed guard usage in foreach loops, where the guards would unlock before the iteration was done.
2016-03-24 02:44:12 +01:00
Andrey Prygunkov
5948729b87
#185 : guarded containers
...
Using guarded lists to automatically unlock containers.
2016-03-18 21:45:29 +01:00
Andrey Prygunkov
39cf412938
#184 : easier use of Debuggable class
2016-03-13 00:08:31 +01:00
Andrey Prygunkov
1a74695126
#148 : unique smart pointers for download containers
2016-03-11 22:49:14 +01:00
Andrey Prygunkov
069350eaa3
#168 : unique smart pointers for download objects
...
… before they are put into containers.
2016-03-09 23:28:37 +01:00
Andrey Prygunkov
f3f7fbd0de
#176 : updated copyright notice in source files
...
- added link to http://nzbget.net ;
- replaced FSF Post address with a web link;
- removed unusable subversion-tags;
- updated year.
2016-03-01 19:45:07 +01:00
Andrey Prygunkov
bfa5027bf9
#175 : in-class member initializers
2016-02-28 19:53:37 +01:00
Andrey Prygunkov
cdf6068db5
#172 : using vector instead of raw dynamic array in queue manager
2016-02-23 22:03:30 +01:00
Andrey Prygunkov
1162c89e77
#167 : prefer stack objects
2016-02-17 22:02:41 +01:00
Andrey Prygunkov
98cd5a8dbc
refactor: removed unneeded checks
2016-01-14 19:46:49 +01:00
Andrey Prygunkov
0ee644d252
#154 : use lambdas when deleting elements from containers
2016-01-14 19:42:49 +01:00
Andrey Prygunkov
ef4a72d383
#152 : eliminated dereferences in for-range loops using “begin()” and “end()” template functions in “nzbget.h”
2016-01-13 19:44:40 +01:00
Andrey Prygunkov
b32b4c0691
#152 : for-range loops with iterators
2016-01-12 00:30:17 +01:00
Andrey Prygunkov
32400a810f
#143 : store download objects directly in containers
...
…where possible.
2016-01-08 22:29:44 +01:00
Andrey Prygunkov
3e89638b39
refactor: replaced "time(NULL)" with an utility function
2016-01-01 14:57:48 +01:00
Andrey Prygunkov
04c3e0d263
#138 : use "nullptr" instead of "NULL"
2015-12-30 16:35:07 +01:00
Andrey Prygunkov
6840ef4439
#131 : routing a few more remaining function calls through module "FileSystem"
...
“rename”, “remove” and “rmdir”.
2015-12-25 22:55:46 +01:00
Andrey Prygunkov
eae6fd5d91
#131 : wrapped function "remove" into module FileSystem
...
under name “DeleteFile”.
2015-12-24 18:34:15 +01:00
Andrey Prygunkov
321c7efa41
#130 : moved parts from module "Util" into new module "FileSystem"
2015-12-22 22:01:03 +01:00
Andrey Prygunkov
99d8cee0db
#126 : class BString supports initialization via assignment
...
which makes the code clearer.
2015-12-20 23:46:22 +01:00
Andrey Prygunkov
d87d6ac2ac
#126 : using CString for ref-parameters and return values
...
1) for parameters use references to CString instead of pointers to
buffers;
2) when returning strings use CString instead of pointer to char buffer
which caller needs to deallocate;
3) use BString even more.
2015-12-20 16:27:01 +01:00
Andrey Prygunkov
9e2d8544da
#126 : full use of class BString
...
1) replaced characters arrays with class BString through the whole
program. The string formatting code has become much cleaner.
2) class Util returns error message via CString instead of character
buffers.
3) few more places to use CString.
2015-12-19 18:43:52 +01:00
Andrey Prygunkov
6d33d83d20
#126 : using GCC attributes to detect formatting errors
...
also eliminated warnings found with activated detection.
2015-12-13 18:28:48 +01:00
Andrey Prygunkov
4e4816c3c8
#116 : use size specific integer types
2015-11-21 00:02:22 +01:00
Andrey Prygunkov
ec17d119a1
#115 : put all external headers together
...
into “nzbget.h”
2015-11-19 23:51:02 +01:00
Andrey Prygunkov
70ccfd9802
normalized whitespace formatting
...
1) removed trailing spaces and tabs;
2) replaced occasional leading spaces with tabs.
2015-11-05 23:45:19 +01:00
Andrey Prygunkov
bf49f16d7c
#103 : renamed global variables
2015-11-01 21:42:35 +01:00
Andrey Prygunkov
1fb21b330e
#103 : normalized (renamed) acronyms
2015-10-30 23:54:37 +01:00
Andrey Prygunkov
5adb50274e
#103 : renamed local, member variables and function parameters
2015-10-27 22:37:23 +01:00
Andrey Prygunkov
5418865a1b
improved performance on mass delete
...
Better performance when deleting many items from queue at once
(hundreds or thousands).
2015-09-14 22:42:11 +02:00
Andrey Prygunkov
1583e84927
#64 : adjusted health check in dupe par scan mode
...
When option “ParScan” is set to "Dupe" the delete-action is performed
only if article completion is below 10% (empirical threshold). This is
to improve efficiency of dupe par scan mode.
2015-08-04 22:37:23 +02:00
Andrey Prygunkov
5d24697b0c
refactor: reworked declaration of global objects (singletones)
2015-05-22 20:28:05 +00:00
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
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
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
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
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
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