mirror of
https://github.com/EDCD/EDDN.git
synced 2026-10-22 20:42:10 +03:00
Merge remote-tracking branch 'origin/Python-Client'
This commit is contained in:
commit
81dd04eae3
6 files changed
+81
-18
No files matched your search
+13
-7
@@ -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)
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
"python" %~dp0\Client.py
|
||||
|
||||
pause
|
||||
@@ -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:
|
||||
@@ -0,0 +1,3 @@
|
||||
"python" %~dp0\Client_Simple.py
|
||||
|
||||
pause
|
||||
@@ -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()
|
||||
Reference in new issue
Block a user