From 193dc9b94e1eae80ebbf28eac97f3f591704e794 Mon Sep 17 00:00:00 2001 From: Kostyantyn Ovechko Date: Mon, 26 Jul 2010 18:36:56 +0300 Subject: Add command line option --pkglist-file to request application E.i.: $request --pkglist-file=/home/user/mypkg.list --- request/request.cpp | 5 ++- request/settings.cpp | 8 ++-- request/settings.h | 120 ++++++++++++++++++++++++++------------------------- 3 files changed, 68 insertions(+), 65 deletions(-) diff --git a/request/request.cpp b/request/request.cpp index 9847f75..68ba6f5 100644 --- a/request/request.cpp +++ b/request/request.cpp @@ -93,9 +93,9 @@ int load_pkgs(){ ifstream json_pkg_list_file; json_pkg_list_file.exceptions (ofstream::failbit | ofstream::badbit); try{ - json_pkg_list_file.open((settings.pkg_list_dir+"/pkg.list").c_str()); + json_pkg_list_file.open(settings.pkg_list_file.c_str()); }catch(...){ - merror("Error: Can't open "+settings.pkg_list_dir+"/pkg.list"+" file"); + merror("Error: Can't open distfile list file: "+settings.pkg_list_file); return 1; } string buff((std::istreambuf_iterator(json_pkg_list_file)), std::istreambuf_iterator()); @@ -226,6 +226,7 @@ int parse_cli_arguments(int argc, char* argv[]){ name = trim(option.substr(0,posEqual)); value = trim(option.substr(posEqual+1)); if (name=="--conf-dir") {settings.conf_dir=value; continue;}; + if (name=="--pkglist-file") {settings.pkg_list_file=value; continue;}; } return 0; }catch(...){ diff --git a/request/settings.cpp b/request/settings.cpp index ba9fa7f..bf386ea 100644 --- a/request/settings.cpp +++ b/request/settings.cpp @@ -31,10 +31,10 @@ Tsettings settings; void Tsettings::init(){ try{ Tconfig conf("segget.conf"); - conf.set("logs","general_log_file",general_log_file); - conf.set("logs","logs_dir",logs_dir); - conf.set("logs","error_log_file",error_log_file); - conf.set("logs","debug_log_file",debug_log_file); +// conf.set("logs","general_log_file",general_log_file); +// conf.set("logs","logs_dir",logs_dir); +// conf.set("logs","error_log_file",error_log_file); +// conf.set("logs","debug_log_file",debug_log_file); conf.set("request_server","request_ip",request_ip); conf.set("request_server","request_port",request_port,1,65535); conf.clear(); diff --git a/request/settings.h b/request/settings.h index 097969a..0a6b48a 100644 --- a/request/settings.h +++ b/request/settings.h @@ -39,90 +39,92 @@ class Tsettings{ string conf_dir; bool no_daemon_flag; //folders - string distfiles_dir; - string segments_dir; +// string distfiles_dir; +// string segments_dir; //pkg_list - string pkg_list_dir; - bool del_pkg_list_when_dld_finished; +// string pkg_list_dir; + string pkg_list_file; +// bool del_pkg_list_when_dld_finished; //distfiles - ulong max_connection_num_per_distfile; +// ulong max_connection_num_per_distfile; //segments - ulong max_segment_size; - bool resume_on; - ulong max_tries; +// ulong max_segment_size; +// bool resume_on; +// ulong max_tries; //connections - ulong max_connections; - ulong connection_timeout; - ulong ftp_response_timeout; - ulong time_out; - ulong low_connection_speed_limit; - ulong low_connection_speed_time; - ulong max_connection_speed; - ulong current_speed_time_interval_msecs; - string bind_interface; +// ulong max_connections; +// ulong connection_timeout; +// ulong ftp_response_timeout; +// ulong time_out; +// ulong low_connection_speed_limit; +// ulong low_connection_speed_time; +// ulong max_connection_speed; +// ulong current_speed_time_interval_msecs; +// string bind_interface; //mirrors - ulong max_connections_num_per_mirror; - ulong benchmark_oblivion; +// ulong max_connections_num_per_mirror; +// ulong benchmark_oblivion; //provide_mirror_to_others - string provide_mirror_dir; - bool provide_mirror_files_restrict_list_on; +// string provide_mirror_dir; +// bool provide_mirror_files_restrict_list_on; //provide_proxy_fether_to_others - string provide_proxy_fetcher_ip; - ulong provide_proxy_fetcher_port; - //ui_server +// string provide_proxy_fetcher_ip; +// ulong provide_proxy_fetcher_port; + //request_server string request_ip; ulong request_port; //logs - string logs_dir; - string general_log_file; - string error_log_file; - string debug_log_file; +// string logs_dir; +// string general_log_file; +// string error_log_file; +// string debug_log_file; Tsettings(): conf_dir("/etc/seggetd"), no_daemon_flag(false), //folders - distfiles_dir("./distfiles"), - segments_dir("./tmp"), +// distfiles_dir("./distfiles"), +// segments_dir("./tmp"), //pkg_list - pkg_list_dir("./"), - del_pkg_list_when_dld_finished(1), +// pkg_list_dir("./"), + pkg_list_file("./pkg.list"), +// del_pkg_list_when_dld_finished(1), //distfiles - max_connection_num_per_distfile(3), +// max_connection_num_per_distfile(3), //segments - max_segment_size(500000), - resume_on(1), - max_tries(10), +// max_segment_size(500000), +// resume_on(1), +// max_tries(10), //connections - max_connections(6), - connection_timeout(15), - ftp_response_timeout(180), - time_out(500), - low_connection_speed_limit(1000), - low_connection_speed_time(10), - max_connection_speed(0), - current_speed_time_interval_msecs(1000), - bind_interface("none"), +// max_connections(6), +// connection_timeout(15), +// ftp_response_timeout(180), +// time_out(500), +// low_connection_speed_limit(1000), +// low_connection_speed_time(10), +// max_connection_speed(0), +// current_speed_time_interval_msecs(1000), +// bind_interface("none"), //mirrors - max_connections_num_per_mirror(1), - benchmark_oblivion(5), +// max_connections_num_per_mirror(1), +// benchmark_oblivion(5), //provide_mirror_to_others - provide_mirror_dir("none"), - provide_mirror_files_restrict_list_on(0), +// provide_mirror_dir("none"), +// provide_mirror_files_restrict_list_on(0), //provide_proxy_fether_to_others - provide_proxy_fetcher_ip("127.0.0.1"), - provide_proxy_fetcher_port(9888), - //ui_server +// provide_proxy_fetcher_ip("127.0.0.1"), +// provide_proxy_fetcher_port(9888), + //request_server request_ip("127.0.0.1"), - request_port(10000), + request_port(10000) //logs - logs_dir("./logs"), - general_log_file("segget.log"), - error_log_file("error.log"), - debug_log_file("debug.log") +// logs_dir("./logs"), +// general_log_file("segget.log"), +// error_log_file("error.log"), +// debug_log_file("debug.log") {}; - void set_resume(bool resume_setting){resume_on=resume_setting;}; - bool get_resume(){return resume_on;}; +// void set_resume(bool resume_setting){resume_on=resume_setting;}; +// bool get_resume(){return resume_on;}; void init(); }; -- cgit v1.2.3-65-gdbad