From 60fa986c47e018b5e6c8048a5cda26a1ae4e3a0f Mon Sep 17 00:00:00 2001 From: TheNain38 Date: Sun, 20 Mar 2016 18:09:21 +0100 Subject: [PATCH] Take all namecoin.conf parameters in consideration --- plugins/Zeroname/updater/zeroname_updater.py | 40 +++++++++++++---- .../disabled-Zeroname-local/domainLookup.py | 44 ++++++++++++++----- 2 files changed, 63 insertions(+), 21 deletions(-) diff --git a/plugins/Zeroname/updater/zeroname_updater.py b/plugins/Zeroname/updater/zeroname_updater.py index c1fe9009..de1c39e9 100644 --- a/plugins/Zeroname/updater/zeroname_updater.py +++ b/plugins/Zeroname/updater/zeroname_updater.py @@ -83,6 +83,35 @@ def processBlock(block_id): if updated: publish() +# Connecting to RPC +def initRpc(config): + """Initialize Namecoin RPC""" + rpc_data = { + 'connect': '127.0.0.1', + 'port': '8336', + 'user': 'PLACEHOLDER', + 'password': 'PLACEHOLDER', + 'clienttimeout': '900' + } + try: + fptr = open(config, 'r') + lines = fptr.readlines() + fptr.close() + except: + return None # Or take some other appropriate action + + for line in lines: + if not line.startswith('rpc'): + continue + key_val = line.split(None, 1)[0] + (key, val) = key_val.split('=', 1) + if not key or not val: + continue + rpc_data[key[3:]] = val + + url = 'http://%(user)s:%(password)s@%(connect)s:%(port)s' % rpc_data + + return AuthServiceProxy(url, timeout=int(rpc_data['clienttimeout'])) # Loading config... @@ -106,15 +135,8 @@ config = json.load(open(config_path)) names_path = "%s/data/%s/data/names.json" % (config["zeronet_path"], config["site"]) os.chdir(config["zeronet_path"]) # Change working dir - tells script where Zeronet install is. -# Getting rpc connect details -namecoin_conf = open(namecoin_location + "namecoin.conf").read() - -# Connecting to RPC -rpc_user = re.search("rpcuser=(.*)$", namecoin_conf, re.M).group(1) -rpc_pass = re.search("rpcpassword=(.*)$", namecoin_conf, re.M).group(1) -rpc_url = "http://%s:%s@127.0.0.1:8336" % (rpc_user, rpc_pass) - -rpc = AuthServiceProxy(rpc_url, timeout=60 * 5) +# Initialize rpc connection +rpc = initRpc(namecoin_location + "namecoin.conf") last_block = int(rpc.getinfo()["blocks"]) diff --git a/plugins/disabled-Zeroname-local/domainLookup.py b/plugins/disabled-Zeroname-local/domainLookup.py index 9807fb37..f5557da2 100644 --- a/plugins/disabled-Zeroname-local/domainLookup.py +++ b/plugins/disabled-Zeroname-local/domainLookup.py @@ -1,6 +1,36 @@ from bitcoinrpc.authproxy import AuthServiceProxy, JSONRPCException import time, json, os, sys, re, socket +# Connecting to RPC +def initRpc(config): + """Initialize Namecoin RPC""" + rpc_data = { + 'connect': '127.0.0.1', + 'port': '8336', + 'user': 'PLACEHOLDER', + 'password': 'PLACEHOLDER', + 'clienttimeout': '900' + } + try: + fptr = open(config, 'r') + lines = fptr.readlines() + fptr.close() + except: + return None # Or take some other appropriate action + + for line in lines: + if not line.startswith('rpc'): + continue + key_val = line.split(None, 1)[0] + (key, val) = key_val.split('=', 1) + if not key or not val: + continue + rpc_data[key[3:]] = val + + url = 'http://%(user)s:%(password)s@%(connect)s:%(port)s' % rpc_data + + return AuthServiceProxy(url, timeout=int(rpc_data['clienttimeout'])) + # Either returns domain's address or none if it doesn't exist # Supports subdomains and .bit on the end def lookupDomain(domain): @@ -43,15 +73,5 @@ if sys.platform == "win32": else: namecoin_location = os.path.expanduser("~/.namecoin/") -# Getting rpc connect details -namecoin_conf = open(namecoin_location + "namecoin.conf").read() - -# Connecting to RPC -rpc_user = re.search(r"^\s*rpcuser\s*=(\S+)\s*(?:#.*)?$", namecoin_conf, re.M).group(1) -rpc_pass = re.search(r"^\s*rpcpassword\s*=(\S+)\s*(?:#.*)?$", namecoin_conf, re.M).group(1) -rpc_port = re.search(r"^\s*rpcport\s*=(\d{1,5})\s*(?:#.*)?$", namecoin_conf, re.M) -rpc_port = rpc_port.group(1) if rpc_port is not None else "8336" - -rpc_url = "http://%s:%s@127.0.0.1:%s" % (rpc_user, rpc_pass, rpc_port) - -rpc = AuthServiceProxy(rpc_url, timeout=60*5) +# Initialize rpc connection +rpc = initRpc(namecoin_location + "namecoin.conf")