4 HCE project, Python bindings, Distributed Tasks Manager application. 5 It's wrapper proxy data struct. 8 @file ProxyJsonWrapper.py 9 @author Alexander Vybornyh <alexander.hce.cluster@gmail.com> 10 @link: http://hierarchical-cluster-engine.com/ 11 @copyright: Copyright © 2013-2017 IOIX Ukraine 12 @license: http://hierarchical-cluster-engine.com/license/ 21 PROXIES_HOST_NAME =
'host' 22 PROXIES_DOMAINS_NAME =
'domains' 23 PROXIES_PRIORITY_NAME =
'priority' 24 PROXIES_LIMITS_NAME =
'limits' 25 PROXIES_STATE_NAME =
'state' 26 PROXIES_FREQ_NAME =
'freq' 27 PROXIES_FAULTS_NAME =
'faults' 28 PROXIES_FAULTS_MAX_NAME =
'faultsMax' 30 PROXIES_DATA_LIST_NAMES = [PROXIES_HOST_NAME, PROXIES_DOMAINS_NAME, PROXIES_PRIORITY_NAME, PROXIES_LIMITS_NAME, \
31 PROXIES_STATE_NAME, PROXIES_FREQ_NAME, PROXIES_FAULTS_NAME, PROXIES_FAULTS_MAX_NAME]
33 PROXY_STATE_DISABLED = 0
34 PROXY_STATE_ENABLED = 1
36 DEFAULT_VALUE_JSON_DATA = {}
37 DEFAULT_VALUE_PROXIES_DOMAIN = [
'*']
38 DEFAULT_VALUE_PROXIES_PRIORITY = 10
39 DEFAULT_VALUE_PROXIES_LIMITS =
None 40 DEFAULT_VALUE_PROXIES_STATE = PROXY_STATE_ENABLED
41 DEFAULT_VALUE_PROXIES_FREQ = 0
42 DEFAULT_VALUE_PROXIES_FAULTS = 0
43 DEFAULT_VALUE_PROXIES_FAULTS_MAX = 0
45 DEFAULT_VALUE_INCREMENT_FREQUENCY = 1
46 DEFAULT_VALUE_INCREMENT_FAULTS = 1
47 DEFAULT_VALUE_UNLIMITED_FAULTS_MAX = 0
62 if isinstance(proxyData, dict):
117 if isinstance(proxyList, list):
118 for proxy
in proxyList:
119 if isinstance(proxy, Proxy):
122 if hasattr(proxy, name):
123 proxyData[name] = getattr(proxy, name)
136 for proxyName
in self.
jsonData.keys():
139 proxy =
Proxy(siteId=
'0', host=
'')
141 if name
in proxyData:
142 setattr(proxy, name, proxyData[name])
147 if proxy.host !=
"" and (proxy.state == state
if state
is not None else True):
148 proxyList.append(proxy)
157 def addFrequency(self, proxyName, incrementSize=DEFAULT_VALUE_INCREMENT_FREQUENCY):
159 if proxyData
is not None:
163 frequency += int(incrementSize)
175 def addFaults(self, proxyName, incrementSize=DEFAULT_VALUE_INCREMENT_FAULTS):
177 if proxyData
is not None:
181 faults += incrementSize
def getProxyList(self, state=None)
int DEFAULT_VALUE_PROXIES_FREQ
DEFAULT_VALUE_PROXIES_LIMITS
int DEFAULT_VALUE_PROXIES_FAULTS
int DEFAULT_VALUE_PROXIES_FAULTS_MAX
list PROXIES_DATA_LIST_NAMES
string PROXIES_STATE_NAME
string PROXIES_LIMITS_NAME
list DEFAULT_VALUE_PROXIES_DOMAIN
string PROXIES_FAULTS_MAX_NAME
def addProxyList(self, proxyList)
string PROXIES_PRIORITY_NAME
string PROXIES_DOMAINS_NAME
def addFaults(self, proxyName, incrementSize=DEFAULT_VALUE_INCREMENT_FAULTS)
dictionary DEFAULT_VALUE_JSON_DATA
def setProxyData(self, proxyData)
def __init__(self, jsonData)
string PROXIES_FAULTS_NAME
int DEFAULT_VALUE_PROXIES_PRIORITY
int DEFAULT_VALUE_PROXIES_STATE
int DEFAULT_VALUE_UNLIMITED_FAULTS_MAX
def addFrequency(self, proxyName, incrementSize=DEFAULT_VALUE_INCREMENT_FREQUENCY)
def getProxyData(self, proxyName)