Merge remote-tracking branch 'origin/Python-Client'

This commit is contained in:
AnthorNet committed 2015-05-04 10:17:26 +02:00
commit 81dd04eae3
6 files changed
+81 -18

No files matched your search

+13 -7
View File
@@ -5,6 +5,9 @@
$relayEDDN = 'tcp://eddn-relay.elite-markets.net:9500';
$timeoutEDDN = 600000;
// Set false to listen to production stream
$debugEDDN = true;
// Set to false if you do not want verbose logging
$logVerboseFile = dirname(__FILE__) . '/Logs_Verbose_EDDN_%DATE%.htm';
//$logVerboseFile = false;
@@ -15,11 +18,12 @@ $logJSONFile = dirname(__FILE__) . '/Logs_JSON_EDDN_%DATE%.log';
// A sample list of authorised softwares
$authorisedSoftwares = array(
"EDCE",
"ED-TD.SPACE",
"EliteOCR",
"Maddavo's Market Share",
"RegulatedNoise",
"RegulatedNoise__DJ",
"Maddavo's Market Share"
"RegulatedNoise__DJ"
);
// Used this to excludes yourself for example has you don't want to handle your own messages ^^
@@ -115,14 +119,14 @@ while (true)
$converted = false;
// Handle commodity v1
if($json['$schemaRef'] == 'http://schemas.elite-markets.net/eddn/commodity/1')
if($json['$schemaRef'] == 'http://schemas.elite-markets.net/eddn/commodity/1' . (($debugEDDN === true) ? '/test' : ''))
{
echoLogJSON($message);
echoLog('Receiving commodity-v1 message...');
echoLog(' - Converting to v2...');
$temp = array();
$temp['$schemaRef'] = 'http://schemas.elite-markets.net/eddn/commodity/2';
$temp['$schemaRef'] = 'http://schemas.elite-markets.net/eddn/commodity/2' . (($debugEDDN === true) ? '/test' : '');
$temp['header'] = $json['header'];
$temp['message'] = array();
@@ -160,7 +164,7 @@ while (true)
// Handle commodity v2
if($json['$schemaRef'] == 'http://schemas.elite-markets.net/eddn/commodity/2')
if($json['$schemaRef'] == 'http://schemas.elite-markets.net/eddn/commodity/2' . (($debugEDDN === true) ? '/test' : ''))
{
if($converted === false)
{
@@ -189,6 +193,7 @@ while (true)
// For example
echoLog(' - Timestamp: ' . $json['message']['timestamp']);
echoLog(' - Uploader ID: ' . $json['header']['uploaderID']);
echoLog(' - System Name: ' . $json['message']['systemName']);
echoLog(' - Station Name: ' . $json['message']['stationName']);
@@ -208,11 +213,12 @@ while (true)
}
unset($authorised, $excluded);
echoLog('');
echoLog('');
}
unset($converted);
echoLog('');
echoLog('');
}
}
catch (ZMQSocketException $e)
-3
View File
@@ -1,3 +0,0 @@
"python" %~dp0\Client.py
pause
+3
View File
@@ -0,0 +1,3 @@
"python" %~dp0\Client_Complete.py
pause
@@ -9,6 +9,9 @@ import sys, os, datetime, time
__relayEDDN = 'tcp://eddn-relay.elite-markets.net:9500'
__timeoutEDDN = 600000
# Set False to listen to production stream
__debugEDDN = True;
# Set to False if you do not want verbose logging
__logVerboseFile = os.path.dirname(__file__) + '/Logs_Verbose_EDDN_%DATE%.htm'
#__logVerboseFile = False
@@ -19,11 +22,12 @@ __logJSONFile = os.path.dirname(__file__) + '/Logs_JSON_EDDN_%DATE%.lo
# A sample list of authorised softwares
__authorisedSoftwares = [
"EDCE",
"ED-TD.SPACE",
"EliteOCR",
"Maddavo's Market Share",
"RegulatedNoise",
"RegulatedNoise__DJ",
"Maddavo's Market Share"
"RegulatedNoise__DJ"
]
# Used this to excludes yourself for example has you don't want to handle your own messages ^^
@@ -106,13 +110,13 @@ def main():
# Handle commodity v1
if __json['$schemaRef'] == 'http://schemas.elite-markets.net/eddn/commodity/1':
if __json['$schemaRef'] == 'http://schemas.elite-markets.net/eddn/commodity/1' + ('/test' if (__debugEDDN == True) else ''):
echoLogJSON(__message)
echoLog('Receiving commodity-v1 message...');
echoLog(' - Converting to v2...');
__temp = {}
__temp['$schemaRef'] = 'http://schemas.elite-markets.net/eddn/commodity/2'
__temp['$schemaRef'] = 'http://schemas.elite-markets.net/eddn/commodity/2' + ('/test' if (__debugEDDN == True) else '')
__temp['header'] = __json['header']
__temp['message'] = {}
@@ -148,7 +152,7 @@ def main():
__converted = True
# Handle commodity v2
if __json['$schemaRef'] == 'http://schemas.elite-markets.net/eddn/commodity/2':
if __json['$schemaRef'] == 'http://schemas.elite-markets.net/eddn/commodity/2' + ('/test' if (__debugEDDN == True) else ''):
if __converted == False:
echoLogJSON(__message)
echoLog('Receiving commodity-v2 message...')
@@ -172,6 +176,7 @@ def main():
# For example
echoLog(' - Timestamp: ' + __json['message']['timestamp'])
echoLog(' - Uploader ID: ' + __json['header']['uploaderID'])
echoLog(' - System Name: ' + __json['message']['systemName'])
echoLog(' - Station Name: ' + __json['message']['stationName'])
@@ -187,12 +192,12 @@ def main():
)
# End example
del __authorised, __excluded
echoLog('')
echoLog('')
del __converted
echoLog('')
echoLog('')
except zmq.ZMQError, e:
+3
View File
@@ -0,0 +1,3 @@
"python" %~dp0\Client_Simple.py
pause
+49
View File
@@ -0,0 +1,49 @@
import zlib
import zmq.green as zmq
import simplejson
import sys
"""
" Configuration
"""
__relayEDDN = 'tcp://eddn-relay.elite-markets.net:9500'
__timeoutEDDN = 600000
"""
" Start
"""
def main():
context = zmq.Context()
subscriber = context.socket(zmq.SUB)
subscriber.setsockopt(zmq.SUBSCRIBE, "")
subscriber.setsockopt(zmq.RCVTIMEO, __timeoutEDDN)
while True:
try:
subscriber.connect(__relayEDDN)
while True:
__message = subscriber.recv()
if __message == False:
subscriber.disconnect(__relayEDDN)
break
__message = zlib.decompress(__message)
__json = simplejson.loads(__message)
print __json
sys.stdout.flush()
except zmq.ZMQError, e:
print 'ZMQSocketException: ' + str(e)
sys.stdout.flush()
time.sleep(10)
if __name__ == '__main__':
main()