summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO6
-rw-r--r--0.9.6.tar.gzbin0 -> 226141 bytes
-rw-r--r--PKGBUILD4
-rw-r--r--ui_pyroscope.cc37
4 files changed, 42 insertions, 5 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 1bf76b5e2e88..23b11adfa0bb 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,9 +1,9 @@
# Generated by mksrcinfo v8
-# Fri Mar 10 21:15:18 UTC 2017
+# Sat Mar 11 22:41:04 UTC 2017
pkgbase = rtorrent-ps
pkgdesc = Extended rTorrent distribution with UI enhancements, colorization, and some added features
pkgver = 0.9.6
- pkgrel = 2
+ pkgrel = 3
url = https://github.com/pyroscope/rtorrent-ps
arch = any
license = GPL
@@ -40,7 +40,7 @@ pkgbase = rtorrent-ps
md5sums = ee76d57dfbc40e09eeaee3845d327d94
md5sums = 7a88f8ab5d41242fdf1428de0e2ca182
md5sums = bd04a0699b80c8042e1cf63a7e0e4222
- md5sums = afd9f0e9ed816069b584e19c88b0a4bb
+ md5sums = 2265910664e904164ffd28b5e69445e9
md5sums = 1258acfc82c50a8f452ace87fef0b416
md5sums = 0a2bbaf74c7160ba33876dcc2f050f14
diff --git a/0.9.6.tar.gz b/0.9.6.tar.gz
new file mode 100644
index 000000000000..886054bf56db
--- /dev/null
+++ b/0.9.6.tar.gz
Binary files differ
diff --git a/PKGBUILD b/PKGBUILD
index 6fc281f8fdaf..8ea4578dac10 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,7 +3,7 @@
_pkgname=rtorrent
pkgname=rtorrent-ps
pkgver=0.9.6
-pkgrel=2
+pkgrel=3
pkgdesc='Extended rTorrent distribution with UI enhancements, colorization, and some added features'
url='https://github.com/pyroscope/rtorrent-ps'
license=('GPL')
@@ -30,7 +30,7 @@ md5sums=('b8b4009f95f8543244ae1d23b1810d7c'
'ee76d57dfbc40e09eeaee3845d327d94'
'7a88f8ab5d41242fdf1428de0e2ca182'
'bd04a0699b80c8042e1cf63a7e0e4222'
- 'afd9f0e9ed816069b584e19c88b0a4bb'
+ '2265910664e904164ffd28b5e69445e9'
'1258acfc82c50a8f452ace87fef0b416'
'0a2bbaf74c7160ba33876dcc2f050f14')
diff --git a/ui_pyroscope.cc b/ui_pyroscope.cc
index fd80f174b584..f430df654087 100644
--- a/ui_pyroscope.cc
+++ b/ui_pyroscope.cc
@@ -100,6 +100,10 @@ static const char* color_vars[ps::COL_MAX] = {
// collapsed state of views (default is false)
static std::map<std::string, bool> is_collapsed;
+// tracker aliases map
+typedef std::map<std::string, std::string> string_kv_map;
+static string_kv_map tracker_aliases;
+
// Traffic history
static int network_history_depth = 0;
static uint32_t network_history_count = 0;
@@ -340,6 +344,9 @@ static void decorate_download_title(Window* window, display::Canvas* canvas, cor
// show label for tracker in focus
std::string url = get_active_tracker_domain((*range.first)->download());
if (!url.empty()) {
+ std::string alias = tracker_aliases[url];
+ if (!alias.empty()) url = alias;
+
// shorten label if too long
int len = url.length();
if (len > TRACKER_LABEL_WIDTH) {
@@ -756,6 +763,33 @@ torrent::Object network_history_sample() {
}
+torrent::Object cmd_trackers_alias_set_key(rpc::target_type target, const torrent::Object::list_type& args) {
+ torrent::Object::list_const_iterator itr = args.begin();
+ if (args.size() != 2) {
+ throw torrent::input_error("trackers.alias.set_key: expecting two arguments!");
+ }
+ std::string domain = (itr++)->as_string();
+ std::string alias = (itr++)->as_string();
+
+ tracker_aliases[domain] = alias;
+
+ return torrent::Object();
+}
+
+
+torrent::Object cmd_trackers_alias_items(rpc::target_type target) {
+ torrent::Object rawResult = torrent::Object::create_list();
+ torrent::Object::list_type& result = rawResult.as_list();
+
+ for (string_kv_map::const_iterator itr = tracker_aliases.begin(), last = tracker_aliases.end(); itr != last; itr++) {
+ std::string mapping = itr->first + "=" + itr->second;
+ result.push_back(mapping);
+ }
+
+ return rawResult;
+}
+
+
// register our commands
void initialize_command_ui_pyroscope() {
#define PS_VARIABLE_COLOR(key, value) \
@@ -776,6 +810,9 @@ void initialize_command_ui_pyroscope() {
CMD2_ANY_STRING("view.collapsed.toggle", _cxxstd_::bind(&cmd_view_collapsed_toggle, _cxxstd_::placeholders::_2));
+ CMD2_ANY_LIST("trackers.alias.set_key", &cmd_trackers_alias_set_key);
+ CMD2_ANY("trackers.alias.items", _cxxstd_::bind(&cmd_trackers_alias_items, _cxxstd_::placeholders::_1));
+
CMD2_VAR_VALUE("ui.style.progress", 1);
CMD2_VAR_VALUE("ui.style.ratio", 1);