Skip to content
Snippets Groups Projects
Commit 22279e04 authored by Hendrik Buschmeier's avatar Hendrik Buschmeier
Browse files

ipaaca-python: Added --rsb-spread-host/port to IpaacaArgumentParser.

parent 6892366c
No related branches found
No related tags found
No related merge requests found
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
# "Incremental Processing Architecture # "Incremental Processing Architecture
# for Artificial Conversational Agents". # for Artificial Conversational Agents".
# #
# Copyright (c) 2009-2014 Social Cognitive Systems Group # Copyright (c) 2009-2016 Social Cognitive Systems Group
# CITEC, Bielefeld University # CITEC, Bielefeld University
# #
# http://opensource.cit-ec.de/projects/ipaaca/ # http://opensource.cit-ec.de/projects/ipaaca/
...@@ -32,6 +32,7 @@ ...@@ -32,6 +32,7 @@
from __future__ import division, print_function from __future__ import division, print_function
import os
import threading import threading
import rsb import rsb
...@@ -51,7 +52,13 @@ __RSB_INITIALIZED = False ...@@ -51,7 +52,13 @@ __RSB_INITIALIZED = False
def initialize_ipaaca_rsb_if_needed(): def initialize_ipaaca_rsb_if_needed():
'''Register own RSB Converters and initialise RSB from default config file.''' """Initialise rsb if not yet initialise.
* Register own RSB onverters.
* Initialise RSB from enviroment variables, rsb config file, or
from default values for RSB spread host and port (via
ipaaca.defaults or ipaaca.misc.IpaacaArgumentParser).
"""
global __RSB_INITIALIZED global __RSB_INITIALIZED
with __RSB_INITIALIZER_LOCK: with __RSB_INITIALIZER_LOCK:
if __RSB_INITIALIZED: if __RSB_INITIALIZED:
...@@ -93,7 +100,16 @@ def initialize_ipaaca_rsb_if_needed(): ...@@ -93,7 +100,16 @@ def initialize_ipaaca_rsb_if_needed():
rsb.converter.registerGlobalConverter( rsb.converter.registerGlobalConverter(
rsb.converter.ProtocolBufferConverter( rsb.converter.ProtocolBufferConverter(
messageClass=ipaaca_pb2.IURetraction)) messageClass=ipaaca_pb2.IURetraction))
rsb.__defaultParticipantConfig = rsb.ParticipantConfig.fromDefaultSources() if ipaaca.defaults.IPAACA_DEFAULT_RSB_SPREAD_HOST is not None:
os.environ['RSB_TRANSPORT_SPREAD_HOST'] = str(
ipaaca.defaults.IPAACA_DEFAULT_RSB_SPREAD_HOST)
if ipaaca.defaults.IPAACA_DEFAULT_RSB_SPREAD_PORT is not None:
os.environ['RSB_TRANSPORT_SPREAD_PORT'] = str(
ipaaca.defaults.IPAACA_DEFAULT_RSB_SPREAD_PORT)
rsb.__defaultParticipantConfig = \
rsb.ParticipantConfig.fromDefaultSources()
__RSB_INITIALIZED = True __RSB_INITIALIZED = True
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
# "Incremental Processing Architecture # "Incremental Processing Architecture
# for Artificial Conversational Agents". # for Artificial Conversational Agents".
# #
# Copyright (c) 2009-2014 Social Cognitive Systems Group # Copyright (c) 2009-2016 Social Cognitive Systems Group
# CITEC, Bielefeld University # CITEC, Bielefeld University
# #
# http://opensource.cit-ec.de/projects/ipaaca/ # http://opensource.cit-ec.de/projects/ipaaca/
...@@ -33,6 +33,11 @@ ...@@ -33,6 +33,11 @@
IPAACA_DEFAULT_CHANNEL = 'default' IPAACA_DEFAULT_CHANNEL = 'default'
IPAACA_LOGGER_NAME = 'ipaaca' IPAACA_LOGGER_NAME = 'ipaaca'
IPAACA_DEFAULT_LOGGING_LEVEL = 'WARNING' IPAACA_DEFAULT_LOGGING_LEVEL = 'WARNING'
IPAACA_DEFAULT_IU_PAYLOAD_TYPE = 'JSON' # one of ipaaca.iu.IUPayloadType IPAACA_DEFAULT_IU_PAYLOAD_TYPE = 'JSON' # one of ipaaca.iu.IUPayloadType
IPAACA_DEFAULT_RSB_SPREAD_HOST = None
IPAACA_DEFAULT_RSB_SPREAD_PORT = None
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
# "Incremental Processing Architecture # "Incremental Processing Architecture
# for Artificial Conversational Agents". # for Artificial Conversational Agents".
# #
# Copyright (c) 2009-2014 Social Cognitive Systems Group # Copyright (c) 2009-2016 Social Cognitive Systems Group
# CITEC, Bielefeld University # CITEC, Bielefeld University
# #
# http://opensource.cit-ec.de/projects/ipaaca/ # http://opensource.cit-ec.de/projects/ipaaca/
...@@ -124,6 +124,16 @@ class IpaacaArgumentParser(argparse.ArgumentParser): ...@@ -124,6 +124,16 @@ class IpaacaArgumentParser(argparse.ArgumentParser):
rsb_logger.removeHandler(__GENERIC_NO_LOG_HANDLER) rsb_logger.removeHandler(__GENERIC_NO_LOG_HANDLER)
rsb_logger.setLevel(level=values) rsb_logger.setLevel(level=values)
class IpaacaRSBSpreadHost(argparse.Action):
def __call__(self, parser, namespace, values, option_string=None):
ipaaca.defaults.IPAACA_DEFAULT_RSB_SPREAD_HOST = values
class IpaacaRSBSpreadPort(argparse.Action):
def __call__(self, parser, namespace, values, option_string=None):
ipaaca.defaults.IPAACA_DEFAULT_RSB_SPREADPORT = values
def __init__(self, prog=None, usage=None, description=None, epilog=None, def __init__(self, prog=None, usage=None, description=None, epilog=None,
parents=[], formatter_class=argparse.HelpFormatter, parents=[], formatter_class=argparse.HelpFormatter,
prefix_chars='-', fromfile_prefix_chars=None, prefix_chars='-', fromfile_prefix_chars=None,
...@@ -136,6 +146,7 @@ class IpaacaArgumentParser(argparse.ArgumentParser): ...@@ -136,6 +146,7 @@ class IpaacaArgumentParser(argparse.ArgumentParser):
conflict_handler=conflict_handler, add_help=add_help) conflict_handler=conflict_handler, add_help=add_help)
def _add_ipaaca_lib_arguments(self): def _add_ipaaca_lib_arguments(self):
# CMD-arguments for ipaaca
ipaacalib_group = self.add_argument_group('IPAACA library arguments') ipaacalib_group = self.add_argument_group('IPAACA library arguments')
ipaacalib_group.add_argument( ipaacalib_group.add_argument(
'--ipaaca-payload-type', '--ipaaca-payload-type',
...@@ -157,6 +168,7 @@ class IpaacaArgumentParser(argparse.ArgumentParser): ...@@ -157,6 +168,7 @@ class IpaacaArgumentParser(argparse.ArgumentParser):
choices=['CRITICAL', 'ERROR', 'WARNING', 'INFO', 'DEBUG'], choices=['CRITICAL', 'ERROR', 'WARNING', 'INFO', 'DEBUG'],
dest='_ipaaca_logging_level_', dest='_ipaaca_logging_level_',
help="enable IPAACA logging with threshold") help="enable IPAACA logging with threshold")
# CMD-arguments for rsb
rsblib_group = self.add_argument_group('RSB library arguments') rsblib_group = self.add_argument_group('RSB library arguments')
rsblib_group.add_argument( rsblib_group.add_argument(
'--rsb-enable-logging', '--rsb-enable-logging',
...@@ -164,6 +176,20 @@ class IpaacaArgumentParser(argparse.ArgumentParser): ...@@ -164,6 +176,20 @@ class IpaacaArgumentParser(argparse.ArgumentParser):
choices=['CRITICAL', 'ERROR', 'WARNING', 'INFO', 'DEBUG'], choices=['CRITICAL', 'ERROR', 'WARNING', 'INFO', 'DEBUG'],
dest='_ipaaca_rsb_enable_logging_', dest='_ipaaca_rsb_enable_logging_',
help="enable RSB logging with threshold") help="enable RSB logging with threshold")
rsblib_group.add_argument(
'--rsb-spread-host',
action=self.IpaacaRSBSpreadHost,
default=None,
dest='_ipaaca_rsb_set_spread_host_',
metavar='HOST',
help="set RSB spread host")
rsblib_group.add_argument(
'--rsb-spread-port',
action=self.IpaacaRSBSpreadPort,
default=None,
dest='_ipaaca_rsb_set_spread_port_',
metavar='PORT',
help="set RSB spread port")
def parse_args(self, args=None, namespace=None): def parse_args(self, args=None, namespace=None):
self._add_ipaaca_lib_arguments() # Add ipaaca-args just before parsing self._add_ipaaca_lib_arguments() # Add ipaaca-args just before parsing
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment