diff --git a/deluge/core/torrent.py b/deluge/core/torrent.py index 9e0a609be..f1dd5e712 100644 --- a/deluge/core/torrent.py +++ b/deluge/core/torrent.py @@ -572,6 +572,13 @@ class Torrent(object): if distributed_copies < 0: distributed_copies = 0.0 + # Calculate the seeds:peers ratio + if self.status.num_incomplete == 0: + # Use -1.0 to signify infinity + seeds_peers_ratio = -1.0 + else: + seeds_peers_ratio = self.status.num_complete / float(self.status.num_incomplete) + #if you add a key here->add it to core.py STATUS_KEYS too. full_status = { "active_time": self.status.active_time, @@ -601,6 +608,7 @@ class Torrent(object): "remove_at_ratio": self.options["remove_at_ratio"], "save_path": self.options["download_location"], "seeding_time": self.status.seeding_time, + "seeds_peers_ratio": seeds_peers_ratio, "seed_rank": self.status.seed_rank, "state": self.state, "stop_at_ratio": self.options["stop_at_ratio"], diff --git a/deluge/ui/gtkui/torrentview.py b/deluge/ui/gtkui/torrentview.py index 898bc3814..b2687b014 100644 --- a/deluge/ui/gtkui/torrentview.py +++ b/deluge/ui/gtkui/torrentview.py @@ -231,6 +231,8 @@ class TorrentView(listview.ListView, component.Component): self.add_func_column(_("Peers"), listview.cell_data_peer, [int, int], status_field=["num_peers", "total_peers"], sort_func=seed_peer_column_sort) + self.add_func_column(_("Seeders") + "/" + _("Peers"), listview.cell_data_ratio, [float], + status_field=["seeds_peers_ratio"]) self.add_func_column(_("Down Speed"), listview.cell_data_speed, [float], status_field=["download_payload_rate"]) self.add_func_column(_("Up Speed"), listview.cell_data_speed, [float],