Improve internal handling of environment variables

This commit is contained in:
Kristóf Tóth
2018-02-09 09:58:47 +01:00
committed by therealkrispet
parent a933248e90
commit 83b24ad538
10 changed files with 31 additions and 35 deletions

View File

@ -1,15 +1,8 @@
import os
from os import environ
from collections import namedtuple
PUBLISHER_PORT = os.getenv('PUBLISHER_PORT', 7654)
RECEIVER_PORT = os.getenv('RECEIVER_PORT', 8765)
WEB_PORT = os.getenv('TFW_WEB_PORT', 4242)
SUPERVISOR_HTTP_PORT = os.getenv('TFW_SUPERVISOR_PORT', 9001)
LOGIN_APP_PORT = os.getenv('TFW_LOGIN_APP_PORT', 6666)
TERMINADO_PORT = os.getenv('TFW_TERMINADO_PORT', 9999)
TERMINADO_WD = os.getenv('TFW_TERMINADO_WD')
WEBIDE_WD = os.getenv('TFW_WEBIDE_WD')
SUPERVISOR_HTTP_URI = 'http://localhost:{}'.format(SUPERVISOR_HTTP_PORT)
LOGIN_APP_DIR = os.getenv('TFW_LOGIN_APP_DIR')
TERMINADO_DIR = os.getenv('TFW_TERMINADO_DIR')
TFW_PREFIX = 'TFW_'
tfwenvvars = {envvar.replace(TFW_PREFIX, '', 1): environ.get(envvar)
for envvar in environ.keys()
if envvar.startswith(TFW_PREFIX)}
tfwenv = namedtuple('tfwenvtuple', tfwenvvars)(**tfwenvvars)

View File

@ -3,7 +3,7 @@ from functools import partial
from zmq.eventloop.zmqstream import ZMQStream
from tfw.networking.serialization import serialize_all
from tfw.config import PUBLISHER_PORT, RECEIVER_PORT
from tfw.config import tfwenv
from tfw.util import ZMQConnectorBase
@ -11,7 +11,7 @@ class ServerDownlinkConnector(ZMQConnectorBase):
def __init__(self, zmq_context=None):
super(ServerDownlinkConnector, self).__init__(zmq_context)
self._zmq_sub_socket = self._zmq_context.socket(zmq.SUB)
self._zmq_sub_socket.connect('tcp://localhost:{}'.format(PUBLISHER_PORT))
self._zmq_sub_socket.connect('tcp://localhost:{}'.format(tfwenv.PUBLISHER_PORT))
self._zmq_sub_stream = ZMQStream(self._zmq_sub_socket)
self.subscribe = partial(self._zmq_sub_socket.setsockopt_string, zmq.SUBSCRIBE)
@ -23,7 +23,7 @@ class ServerUplinkConnector(ZMQConnectorBase):
def __init__(self, zmq_context=None):
super(ServerUplinkConnector, self).__init__(zmq_context)
self._zmq_push_socket = self._zmq_context.socket(zmq.PUSH)
self._zmq_push_socket.connect('tcp://localhost:{}'.format(RECEIVER_PORT))
self._zmq_push_socket.connect('tcp://localhost:{}'.format(tfwenv.RECEIVER_PORT))
def send(self, anchor, response):
self._zmq_push_socket.send_multipart(serialize_all(anchor, response))

View File

@ -2,7 +2,7 @@ import zmq
from zmq.eventloop.zmqstream import ZMQStream
from tfw.networking.serialization import serialize_all
from tfw.config import PUBLISHER_PORT, RECEIVER_PORT
from tfw.config import tfwenv
from tfw.config.logs import logging
log = logging.getLogger(__name__)
from tfw.util import ZMQConnectorBase
@ -13,7 +13,7 @@ class EventHandlerDownlinkConnector(ZMQConnectorBase):
super(EventHandlerDownlinkConnector, self).__init__(zmq_context)
self._zmq_pull_socket = self._zmq_context.socket(zmq.PULL)
self._zmq_pull_stream = ZMQStream(self._zmq_pull_socket)
address = 'tcp://*:{}'.format(RECEIVER_PORT)
address = 'tcp://*:{}'.format(tfwenv.RECEIVER_PORT)
self._zmq_pull_socket.bind(address)
log.debug('Pull socket bound to {}'.format(address))
@ -22,7 +22,7 @@ class EventHandlerUplinkConnector(ZMQConnectorBase):
def __init__(self, zmq_context=None):
super(EventHandlerUplinkConnector, self).__init__(zmq_context)
self._zmq_pub_socket = self._zmq_context.socket(zmq.PUB)
address = 'tcp://*:{}'.format(PUBLISHER_PORT)
address = 'tcp://*:{}'.format(tfwenv.PUBLISHER_PORT)
self._zmq_pub_socket.bind(address)
log.debug('Pub socket bound to {}'.format(address))

View File

@ -2,7 +2,7 @@ import xmlrpc.client, zmq
from contextlib import suppress
from xmlrpc.client import Fault as SupervisorFault
from .config.envvars import SUPERVISOR_HTTP_URI
from tfw.config import tfwenv
def create_source_code_response_data(filename, content, language):
@ -14,7 +14,7 @@ def create_source_code_response_data(filename, content, language):
class SupervisorMixin:
supervisor = xmlrpc.client.ServerProxy(SUPERVISOR_HTTP_URI).supervisor
supervisor = xmlrpc.client.ServerProxy(tfwenv.SUPERVISOR_HTTP_URI).supervisor
def stop_process(self):
with suppress(SupervisorFault):