Andrey Prygunkov
b06d3eca86
#327 : printing only base file name in warnings
2017-02-12 14:35:44 +01:00
Andrey Prygunkov
639e0b6bfb
#327 : reverted non-strict par2-filename matching
...
To handle article subjects with non-parseable filenames. Also created a
functional test for this case.
2017-01-17 22:18:34 +01:00
Andrey Prygunkov
f2073ff920
#327 : better handing of damaged par2-files in par-renamer
...
If par-renamer can’t load par2-file another par2-file is downloaded and
par-renamer tries again.
2017-01-17 00:23:29 +01:00
Andrey Prygunkov
5f71c4a5a7
#313 : better handling of renamed par-files
2016-12-06 18:49:12 +01:00
Andrey Prygunkov
13db817395
#313 : better handling of obfuscated par-files in par-renamer
...
Avoid false detection of missing files.
2016-12-04 19:04:39 +01:00
Andrey Prygunkov
eacfacc5a2
#291 : non-global cout/cerr in par2-module
...
Fixed global cout/cerr in par2-module to prevent crashes when executing
multiple par2-instances.
2016-10-12 16:00:08 +02:00
Andrey Prygunkov
3593990dd6
#288 : new module "Rename" to handle par-rename and rar-rename
2016-09-26 21:16:27 +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
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
e48cc0257b
#126 : 9e2d8544da: fixed cleanup in par-renamer
2016-02-20 21:20:27 +01:00
Andrey Prygunkov
1162c89e77
#167 : prefer stack objects
2016-02-17 22:02:41 +01:00
Andrey Prygunkov
8f84132218
#156 : new class "CharBuffer" for temporary buffers
...
Replaced everywhere plain “char”-buffers with new class. Avoid using
“malloc/free”.
2016-01-17 00:06:27 +01:00
Andrey Prygunkov
b32b4c0691
#152 : for-range loops with iterators
2016-01-12 00:30:17 +01:00
Andrey Prygunkov
0732cb4b8b
closes #147 : par-check doesn't ignore files from option "ExtCleanupDisk"
...
Only files listed in option ParIgnoreExt are ignored.
2016-01-09 21:44:01 +01:00
Andrey Prygunkov
5d4b56b40b
#143 : store FileHash directly in container
...
instead of pointer to object.
2016-01-03 20:40:01 +01:00
Andrey Prygunkov
be852d0a9b
#143 : using <CString> instead of <char*> in containers
2016-01-03 19:58:11 +01:00
Andrey Prygunkov
f347f1aed1
#136 : avoid crash in par-renamer
...
if the directory content could not be read.
2015-12-28 11:05:52 +01:00
Andrey Prygunkov
c68ba306fe
#131 : using enum for file mode in function DiskFile::Open
2015-12-26 17:19:12 +01:00
Andrey Prygunkov
dce6f0c9a3
#131 : new class DiskFile to wrap "FILE*"-functions
2015-12-25 18:11:50 +01:00
Andrey Prygunkov
8fb9fb7b2d
#133 : put all par2-modules into namespace "Par2"
...
To avoid conflicts with similarly named classes of NZBGet.
2015-12-24 21:25:38 +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
19ce3bf69b
#130 : improved class DirBrowser
...
It doesn’t return filenames ‘.’ and ‘..’ (for current and parent
directories) anymore, eliminating the need to check and ignore these
names on each usage of the class.
2015-12-21 20:54:21 +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
558fce9b47
#126 : replaced C-style strings with class "CString"
...
: replaced all data members.
2015-12-12 16:36:25 +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
5adb50274e
#103 : renamed local, member variables and function parameters
2015-10-27 22:37:23 +01:00
Andrey Prygunkov
5d24697b0c
refactor: reworked declaration of global objects (singletones)
2015-05-22 20:28:05 +00:00
Andrey Prygunkov
a641bd8bd1
refactor: reducing module dependencies for easier testing: extracted par file name parsing code from module "ParCoordinator" into new module "ParParser", which can be instantiated separately
2015-05-21 14:33:16 +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
811f807de6
fixed: splitted .cbr-files were not properly joined
2014-09-16 22:15:02 +00:00
Andrey Prygunkov
2e0ba0e3d1
integrated par2-module (libpar2) into NZBGet’s source code tree; the par2-module is now built automatically during building of NZBGet; this eliminates dependency from external libpar2 and libsigc++ making it much easier for users to compile NZBGet with newest recommended patches for libpar2
2014-08-08 22:37:30 +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
312bf91003
improved joining of splitted files: instead of performing par-repair the files are now joined by unpacker, which is much faster; the files splitted before creating of par-sets are now joined as well (they were not joined in v13 because par-repair has nothing to repair in this case); the unpacker can detect missing fragments and requests par-check if necessary
2014-07-18 23:27:41 +00:00
Andrey Prygunkov
a4126a52ce
fixed: par-rename initiated unnecessary par-check if option "InterDir" were not active (bug introduced in r1030)
2014-06-06 21:49:11 +00:00
Andrey Prygunkov
7240147418
added option "ParIgnoreExt" which lists files which do not trigger par-repair if they are missing
2014-06-03 20:47:28 +00:00
Andrey Prygunkov
df2ef01494
when checking for missing files the files whose extensions match with option "ExtCleanupDisk" are ignored now (to avoid time consuming restoring of files which will be deleted later anyway)
2014-05-30 21:35:30 +00:00
Andrey Prygunkov
fb1f293a17
improved fast par-renamer: it can now detect missing files (files listed in par2-files but not present on disk)
2014-05-28 21:50:15 +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
7a11e8eb19
splitted files are now joined automatically (again)
2014-04-17 16:33:20 +00:00
Andrey Prygunkov
30e6131cd7
improved par-check for damaged collections with multiple par-sets and having missing files: only orphaned files (not belonging to any par-set) are scanned when looking for missing files; this greatly decrease the par-check time for big collections
2014-03-05 23:46:29 +00:00
Andrey Prygunkov
44310fda20
impoved error reporting if par-renamer fails to rename files
2014-03-04 21:29:27 +00:00
Andrey Prygunkov
8168804f05
reorganized source code directory structure: created directory 'daemon' with several subdirectories and put all source code files there
2014-02-24 22:11:14 +00:00