mirror of
https://github.com/rakshasa/rtorrent.git
synced 2026-10-22 00:56:18 +00:00
Added "-d" to change the default root dir.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@388 e378c898-3ddf-0310-93e7-cc216c733640
This commit is contained in:
@@ -31,6 +31,3 @@ Bug: Add the same torrent while it is hash checking.
|
|||||||
|
|
||||||
RELEASE:
|
RELEASE:
|
||||||
|
|
||||||
Enable change of default download path.
|
|
||||||
|
|
||||||
Make sure we show better messages for signal_storage_error.
|
|
||||||
|
|||||||
@@ -48,7 +48,15 @@ Download::release_download() {
|
|||||||
|
|
||||||
void
|
void
|
||||||
Download::receive_tracker_msg(std::string msg) {
|
Download::receive_tracker_msg(std::string msg) {
|
||||||
m_trackerMsg = msg;
|
if (msg.empty())
|
||||||
|
m_message = "";
|
||||||
|
else
|
||||||
|
m_message = "Tracker: [" + msg + "]";
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
Download::receive_storage_error(std::string msg) {
|
||||||
|
m_message = "Storage error: [" + msg + "]";
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-2
@@ -39,7 +39,7 @@ public:
|
|||||||
torrent::Download& get_download() { return m_download; }
|
torrent::Download& get_download() { return m_download; }
|
||||||
std::string get_hash() { return m_download.get_hash(); }
|
std::string get_hash() { return m_download.get_hash(); }
|
||||||
|
|
||||||
const std::string& get_tracker_msg() { return m_trackerMsg; }
|
const std::string& get_message() { return m_message; }
|
||||||
|
|
||||||
void start() { m_download.start(); }
|
void start() { m_download.start(); }
|
||||||
void stop() { m_download.stop(); }
|
void stop() { m_download.stop(); }
|
||||||
@@ -51,10 +51,11 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
void receive_tracker_msg(std::string msg);
|
void receive_tracker_msg(std::string msg);
|
||||||
|
void receive_storage_error(std::string msg);
|
||||||
|
|
||||||
torrent::Download m_download;
|
torrent::Download m_download;
|
||||||
|
|
||||||
std::string m_trackerMsg;
|
std::string m_message;
|
||||||
|
|
||||||
sigc::connection m_connTrackerSucceded;
|
sigc::connection m_connTrackerSucceded;
|
||||||
sigc::connection m_connTrackerFailed;
|
sigc::connection m_connTrackerFailed;
|
||||||
|
|||||||
@@ -170,6 +170,9 @@ Manager::create_final(std::istream* s) {
|
|||||||
|
|
||||||
(*itr)->get_download().set_ip(m_dns);
|
(*itr)->get_download().set_ip(m_dns);
|
||||||
|
|
||||||
|
if (!m_defaultRoot.empty())
|
||||||
|
(*itr)->get_download().set_root_dir(m_defaultRoot + ((*itr)->get_download().get_entry_size() ? (*itr)->get_download().get_name() : ""));
|
||||||
|
|
||||||
start(*itr);
|
start(*itr);
|
||||||
m_downloadStore.save(*itr);
|
m_downloadStore.save(*itr);
|
||||||
|
|
||||||
|
|||||||
@@ -68,6 +68,8 @@ public:
|
|||||||
void set_port_range(int a, int b) { m_portFirst = a; m_portLast = b; }
|
void set_port_range(int a, int b) { m_portFirst = a; m_portLast = b; }
|
||||||
void set_listen_ip(const std::string& ip) { m_listenIp = ip; }
|
void set_listen_ip(const std::string& ip) { m_listenIp = ip; }
|
||||||
|
|
||||||
|
void set_default_root(const std::string& path);
|
||||||
|
|
||||||
void debug_tracker() { m_debugTracker = 0; }
|
void debug_tracker() { m_debugTracker = 0; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@@ -95,9 +97,19 @@ private:
|
|||||||
int m_portLast;
|
int m_portLast;
|
||||||
std::string m_listenIp;
|
std::string m_listenIp;
|
||||||
|
|
||||||
|
std::string m_defaultRoot;
|
||||||
|
|
||||||
int m_debugTracker;
|
int m_debugTracker;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
inline void
|
||||||
|
Manager::set_default_root(const std::string& path) {
|
||||||
|
m_defaultRoot = path;
|
||||||
|
|
||||||
|
if (!m_defaultRoot.empty() && *m_defaultRoot.rbegin() != '/')
|
||||||
|
m_defaultRoot.push_back('/');
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
+6
-10
@@ -35,25 +35,21 @@ namespace display {
|
|||||||
|
|
||||||
std::string
|
std::string
|
||||||
print_download_status(core::Download* d) {
|
print_download_status(core::Download* d) {
|
||||||
std::stringstream str;
|
|
||||||
|
|
||||||
if (d->get_download().is_hash_checking()) {
|
if (d->get_download().is_hash_checking()) {
|
||||||
str << "Checking hash";
|
return "Checking hash";
|
||||||
|
|
||||||
} else if (d->get_download().is_tracker_busy()) {
|
} else if (d->get_download().is_tracker_busy()) {
|
||||||
str << "Tracker: Connecting";
|
return "Tracker: Connecting";
|
||||||
|
|
||||||
} else if (!d->get_download().is_active()) {
|
} else if (!d->get_download().is_active()) {
|
||||||
str << "Inactive";
|
return "Inactive";
|
||||||
|
|
||||||
} else if (!d->get_tracker_msg().empty()) {
|
} else if (!d->get_message().empty()) {
|
||||||
str << "Tracker: [" << d->get_tracker_msg() << ']';
|
return d->get_message();
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
//str << "---";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
return str.str();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string
|
std::string
|
||||||
|
|||||||
@@ -94,6 +94,7 @@ parse_options(ui::Control* c, int argc, char** argv) {
|
|||||||
optionParser.insert_flag('h', sigc::ptr_fun(&print_help));
|
optionParser.insert_flag('h', sigc::ptr_fun(&print_help));
|
||||||
|
|
||||||
optionParser.insert_option('b', sigc::mem_fun(c->get_core(), &core::Manager::set_listen_ip));
|
optionParser.insert_option('b', sigc::mem_fun(c->get_core(), &core::Manager::set_listen_ip));
|
||||||
|
optionParser.insert_option('d', sigc::mem_fun(c->get_core(), &core::Manager::set_default_root));
|
||||||
optionParser.insert_option('i', sigc::mem_fun(c->get_core(), &core::Manager::set_dns));
|
optionParser.insert_option('i', sigc::mem_fun(c->get_core(), &core::Manager::set_dns));
|
||||||
|
|
||||||
optionParser.insert_option('p', sigc::bind(sigc::ptr_fun(OptionParser::call_int_pair),
|
optionParser.insert_option('p', sigc::bind(sigc::ptr_fun(OptionParser::call_int_pair),
|
||||||
@@ -230,6 +231,7 @@ print_help() {
|
|||||||
std::cout << " -b <a.b.c.d> Bind the listening socket to this IP" << std::endl;
|
std::cout << " -b <a.b.c.d> Bind the listening socket to this IP" << std::endl;
|
||||||
std::cout << " -i <a.b.c.d> Change the IP that is sent to the tracker" << std::endl;
|
std::cout << " -i <a.b.c.d> Change the IP that is sent to the tracker" << std::endl;
|
||||||
std::cout << " -p <int>-<int> Set port range for incoming connections" << std::endl;
|
std::cout << " -p <int>-<int> Set port range for incoming connections" << std::endl;
|
||||||
|
std::cout << " -d <directory> Save torrents to this directory by default" << std::endl;
|
||||||
std::cout << " -s <directory> Set the session directory" << std::endl;
|
std::cout << " -s <directory> Set the session directory" << std::endl;
|
||||||
std::cout << std::endl;
|
std::cout << std::endl;
|
||||||
std::cout << "Main view keys:" << std::endl;
|
std::cout << "Main view keys:" << std::endl;
|
||||||
|
|||||||
Reference in New Issue
Block a user