From 67746dcced5a43072cb8ea9df775ca9ddd12e8df Mon Sep 17 00:00:00 2001 From: Nils Date: Tue, 27 Jun 2017 21:35:36 +0200 Subject: [PATCH] use print_function --- plugins/ethereum/ethermine_ | 67 ++++++++++++------------------------- 1 file changed, 22 insertions(+), 45 deletions(-) diff --git a/plugins/ethereum/ethermine_ b/plugins/ethereum/ethermine_ index 20716e9b..be5fc794 100755 --- a/plugins/ethereum/ethermine_ +++ b/plugins/ethereum/ethermine_ @@ -15,6 +15,8 @@ # ln -s /usr/share/munin/plugins/ethermine_ /etc/munin/plugins/ethermine_3257bde8cf067ae6f1ddc0e4b140fe02e3c5e44f_mine # +from __future__ import print_function + import os import sys import urllib2 @@ -28,62 +30,37 @@ if len(sys.argv) > 1: command = sys.argv[1] try: - OPTIONS[1] -except IndexError: - print "Ethereum address missing!" - sys.exit(9) - -ETH_ADDRESS = OPTIONS[1] - -if ETH_ADDRESS == "": - print "Ethereum address missing!" - sys.exit(9) - -try: - OPTIONS[2] -except IndexError: - print "Rig name missing!" - sys.exit(9) - -MINER = OPTIONS[2] - -if MINER == "": - print "Rig name missing!" - sys.exit(9) + ETH_ADDRESS, MINER = sys.argv[0].split("_")[1:] +except ValueError: + print("The filename of this plugin (or its symlink) should follow this pattern: " + "'_'", file=sys.stderr) + sys.exit(0) if command == 'config': - print "graph_title Ethermine " + MINER - print "graph_info Ethermine Hashrate " + ETH_ADDRESS +"/" + MINER - print "graph_vlabel Ethermine Hashrate" - print "graph_category htc" - print ETH_ADDRESS + "_" + MINER + ".warning 20:" - print ETH_ADDRESS + "_" + MINER + ".critical 10:" - print ETH_ADDRESS + "_" + MINER + ".label MH/s" + print("graph_title Ethermine {}".format(ETH_ADDRESS)) + print("graph_info Ethermine Hashrate {}/{}".format(ETH_ADDRESS, MINER)) + print("graph_vlabel Ethermine Hashrate") + print("graph_category htc") + print("{}_{}.warning 20:".format(ETH_ADDRESS, MINER)); + print("{}_{}.critical 10:".format(ETH_ADDRESS, MINER)); + print("{}_{}.label MH/s:".format(ETH_ADDRESS, MINER)); sys.exit(0) -POOL_URL = 'https://ethermine.org/api/miner_new' -STATS = POOL_URL + '/' + ETH_ADDRESS +ETHERMINE_API_URL = 'https://ethermine.org/api/miner_new/' + ETH_ADDRESS -mining_req = urllib2.Request(STATS) +mining_req = urllib2.Request(ETHERMINE_API_URL) mining_req.add_header('User-Agent', 'Mozilla/5.0') try: - mining_stats_raw = urllib2.urlopen(mining_req, None, 1.5 ) -except urllib2.HTTPError as e: - print "HTTP Error!" - sys.exit(9) -except urllib2.URLError: - print "HTTP URL Error!" - sys.exit(9) -except socket.timeout: - print "HTTP Timed out!" - sys.exit(9) + mining_stats_raw = urllib2.urlopen(mining_req, timeout=1.5 ) +except IOError as exc: + print("Failed to request ethermine.org API: {}".format(exc), file=sys.stderr) try: mining_stats = json.load(mining_stats_raw) -except: - print "JSON Error!" +except ValueError: + print("Failed to parse JSON responce.", file=sys.stderr); sys.exit(9) workers = mining_stats['workers'] @@ -93,4 +70,4 @@ for worker in workers: if workers[worker]['worker'] == MINER: hash_rate = workers[worker]['hashrate'] hash_rate = hash_rate.replace(" MH/s", "") - print ETH_ADDRESS + "_" + MINER + ".value %s " % hash_rate \ No newline at end of file + print("{}_{}.value %s".format(ETH_ADDRESS, MINER, hash_rate)); \ No newline at end of file