Andrey Prygunkov
e3bd94189a
#351 : refactor: moved changeable state into new Unit "WorkState.cpp"
...
from Unit “Options.cpp”. The latter now contains only program options
(which cannot be changed without reload).
2019-01-22 21:57:00 +01:00
Andrey Prygunkov
92828acab0
#351 : reworked timed services
...
Now sleeping much longer, up to next scheduled work, instead of often
wake ups to check if the work needs to be performed. This improves CPU
usage in idle.
2019-01-21 21:21:16 +01:00
Federico Cuello
1f89c037b9
fix compile warning: -Wunused-variable
...
Don't define variables only used for debuggin when debug is not enabled.
2018-12-21 15:01:00 +01:00
Andrey Prygunkov
8d5ce3ddc3
fixed #376 : startup scheduler tasks can be executed again
2017-05-12 19:08:31 +02:00
Andrey Prygunkov
9a92896678
#319 : unified extension scripts settings
...
- new option “Extension” as replacement for options “PostScript”,
“QueueScript”, “ScanScript”, “FeedScript”;
- renamed “CategoryX.PostScript” to “CategoryX.Extensions”;
- renamed “FeedX.PostScript” to “FeedX.Extensions”.
2016-12-14 20:34:14 +01:00
Andrey Prygunkov
31208a5816
#304 : scheduler tasks can be started at program launch
...
Using asterisk as TaskX.Time.
2016-11-15 19:00:49 +01:00
Chris
418acb052f
#256 : compatibility with gcc 4.8
2016-08-05 07:51:10 +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
Andrey Prygunkov
a97cb4c61e
#99 : download volume quota
...
- new options “MonthlyQuota”, “QuotaStartDay”, “DailyQuota”;
- downloading is paused when quota is reached;
- new fields in RPC-method “status”: MonthSizeLo, MonthSizeHi,
MonthSizeMB, DaySizeLo, DaySizeHi, DaySizeMB. MonthSizes are related to
current billing month taking option “QuotaStartDay” into account;
- download volume for “this month” shown in web-interface in statistics
dialog shows data for current billing month (taking option
“QuotaStartDay” into account);
- scheduler task “UnpauseDownload” is ignored if the download was
paused due to quota.
2016-04-12 18:52:09 +02:00
Andrey Prygunkov
5948729b87
#185 : guarded containers
...
Using guarded lists to automatically unlock containers.
2016-03-18 21:45:29 +01:00
Andrey Prygunkov
f973388879
#185 : use guards with private mutexes
...
Use guard objects to automatically unlock private mutexes when leaving
current scope.
2016-03-16 22:37:19 +01:00
Andrey Prygunkov
a5ac6d594f
#148 : unique smart pointers for other containers
...
: feeds, servers, scheduler.
2016-03-13 00:08:16 +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
ac1bd3d07c
#154 : use lambdas when sorting containers
2016-01-13 20:09:36 +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
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
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
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
6c3f2a9871
#21 : refactor: new modules Service and DiskService
...
Extracted secondary functions from module PrePostProcessor into new
modules Service and DiskService.
2015-08-03 23:27:02 +02:00
Andrey Prygunkov
5d24697b0c
refactor: reworked declaration of global objects (singletones)
2015-05-22 20:28:05 +00:00
Andrey Prygunkov
934c9e23ba
refactor: new directory "extension" to hold all extension script related modules
2015-05-21 18:42:33 +00:00
Andrey Prygunkov
2441cc208f
refactor: reducing module dependencies for easier testing: extracted config handling code from module "Options" into new module "ScriptConfig", which can be instantiated separately
2015-05-21 16:10:17 +00:00
Andrey Prygunkov
90fac39a26
added commands "PausePostProcess" and "UnpausePostProcess" to scheduler
2014-09-15 16:28:55 +00:00
Andrey Prygunkov
aaea8d9717
fixed: scheduler tasks were not checked after wake up if the sleep time was longer than 90 minutes
2014-08-25 20:12:38 +00:00
Andrey Prygunkov
2cfbb2373a
fixed: scheduler command "FetchFeed" did not work properly with parameter "0" (fetch all feeds)
2014-06-17 21:31:09 +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
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
d89036f9f3
1) the current time zone is now determined once on program start and if a clock adjustment is detected using system function "localtime"; the function "localtime" is no longer constantly used by the scheduler; this should solve the hibernation problem on synology NAS, even when task scheduler is used; 2) fixed: RSS feed preview dialog displayed slightly incorrect post ages because of the wrong time zone conversion
2014-03-21 21:35:32 +00:00
Andrey Prygunkov
a671e9f925
refactor: splitted unit ScriptController.cpp into three units: Script.cpp, QueueScript.cpp, PostScript.cpp
2014-02-26 21:28:15 +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