From bf43cbddbccc51a1147eb37cd7a64762bde4f506 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?coadde=20=5BM=C3=A1rcio=20Alexandre=20Silva=20Delgado=5D?= Date: Wed, 26 Aug 2015 03:41:50 -0300 Subject: add copy from the lukeshu/xbs repo --- extra/lukeshu-xbs/db-pick-mirror | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100755 extra/lukeshu-xbs/db-pick-mirror (limited to 'extra/lukeshu-xbs/db-pick-mirror') diff --git a/extra/lukeshu-xbs/db-pick-mirror b/extra/lukeshu-xbs/db-pick-mirror new file mode 100755 index 0000000..9474ed7 --- /dev/null +++ b/extra/lukeshu-xbs/db-pick-mirror @@ -0,0 +1,24 @@ +#!/usr/bin/env ruby + +require 'json' +require 'rest_client' + +protocol = ARGV[0] +jsonurl = ARGV[1] + +data = JSON::parse(RestClient.get(jsonurl)) + +if data["version"] != 3 + print "Data format version != 3" + exit 1 +end + +urls = data["urls"] +rsync_urls = urls.select{|a| a["protocol"]==protocol} + +# By score ( (delay+speed)/completion ) +#best = rsync_urls.sort{|a,b| (a["score"] || Float::INFINITY) <=> (b["score"] || Float::INFINITY) }.first +# By delay/completion +best = rsync_urls.sort{|a,b| a["delay"]/a["completion_pct"] <=> b["delay"]/b["completion_pct"] }.first + +puts best["url"] -- cgit v1.2.3-2-g168b