parameters: (*args, **kwargs)
return_statement: return _gather_returns("StartLiveData", lhs, algm)
docstring: StartLiveData dynamically adds the properties of the specific LiveListener
      that is used to itself, to allow usage such as the following:
  
          StartLiveData(Instrument='ISIS_Histogram', ...
                        PeriodList=[1,3], SpectraList=[2,4,6])
  
      Where PeriodList and SpectraList are properties of the ISISHistoDataListener
      rather than of StartLiveData. For StartLiveData to know those are valid
      properties, however, it first needs to know what the Instrument is.
  
      This is a similar situation as in the Load algorithm, where the Filename
      must be provided before other properties become available, and so it is
      solved here in the same way.
docstring_summary: StartLiveData dynamically adds the properties of the specific LiveListener
      that is used to itself, to allow usage such as the following:
docstring_tokens: StartLiveData dynamically adds the properties of the specific LiveListener that is used to itself to allow usage such as the following :
function: def StartLiveData(*args, **kwargs):
      """
      StartLiveData dynamically adds the properties of the specific LiveListener
      that is used to itself, to allow usage such as the following:
  
          StartLiveData(Instrument='ISIS_Histogram', ...
                        PeriodList=[1,3], SpectraList=[2,4,6])
  
      Where PeriodList and SpectraList are properties of the ISISHistoDataListener
      rather than of StartLiveData. For StartLiveData to know those are valid
      properties, however, it first needs to know what the Instrument is.
  
      This is a similar situation as in the Load algorithm, where the Filename
      must be provided before other properties become available, and so it is
      solved here in the same way.
      """
      instrument, = _get_mandatory_args('StartLiveData', ["Instrument"], *args, **kwargs)
  
      # Create and execute
      (_startProgress, _endProgress, kwargs) = extract_progress_kwargs(kwargs)
      algm = _create_algorithm_object('StartLiveData',
                                      startProgress=_startProgress,
                                      endProgress=_endProgress)
      _set_logging_option(algm, kwargs)
      _set_store_ads(algm, kwargs)
  
      # Some properties have side effects and must be set separately
      def handleSpecialProperty(name, value=None):
          try:
              if value is None:
                  value = kwargs.pop(name)
              else:
                  # We don't need the value, but still need to remove from kwargs
                  # so that this property isn't set again later
                  kwargs.pop(name, None)
              algm.setProperty(name, value)
  
          except ValueError as ve:
              raise ValueError('Problem setting "{}" in {}-v{}: {}'.format(name, algm.name(),
                                                                           algm.version(), str(ve)))
          except KeyError:
              pass  # ignore if kwargs[name] doesn't exist
  
      # Listener properties depend on these values, so they must be set first
      handleSpecialProperty('Instrument', instrument)
      handleSpecialProperty('Connection')
      handleSpecialProperty('Listener')
  
      # LHS Handling currently unsupported for StartLiveData
      lhs = _kernel.funcinspect.lhs_info()
      if lhs[0] > 0:  # Number of terms on the lhs
          raise RuntimeError("Assigning the output of StartLiveData is currently "
                             "unsupported due to limitations of the simpleapi. "
                             "Please call StartLiveData without assigning it to "
                             "to anything.")
  
      lhs_args = _get_args_from_lhs(lhs, algm)
      final_keywords = _merge_keywords_with_lhs(kwargs, lhs_args)
  
      # Check for any properties that aren't known and warn they will not be used
      for key in list(final_keywords.keys()):
          if key not in algm:
              logger.warning("You've passed a property (%s) to StartLiveData() "
                             "that doesn't apply to this Instrument." % key)
              del final_keywords[key]
  
      set_properties(algm, **final_keywords)
      algm.execute()
  
      return _gather_returns("StartLiveData", lhs, algm)
function_tokens: def StartLiveData ( * args , * * kwargs ) : instrument , = _get_mandatory_args ( 'StartLiveData' , [ "Instrument" ] , * args , * * kwargs ) # Create and execute ( _startProgress , _endProgress , kwargs ) = extract_progress_kwargs ( kwargs ) algm = _create_algorithm_object ( 'StartLiveData' , startProgress = _startProgress , endProgress = _endProgress ) _set_logging_option ( algm , kwargs ) _set_store_ads ( algm , kwargs ) # Some properties have side effects and must be set separately def handleSpecialProperty ( name , value = None ) : try : if value is None : value = kwargs . pop ( name ) else : # We don't need the value, but still need to remove from kwargs # so that this property isn't set again later kwargs . pop ( name , None ) algm . setProperty ( name , value ) except ValueError as ve : raise ValueError ( 'Problem setting "{}" in {}-v{}: {}' . format ( name , algm . name ( ) , algm . version ( ) , str ( ve ) ) ) except KeyError : pass # ignore if kwargs[name] doesn't exist # Listener properties depend on these values, so they must be set first handleSpecialProperty ( 'Instrument' , instrument ) handleSpecialProperty ( 'Connection' ) handleSpecialProperty ( 'Listener' ) # LHS Handling currently unsupported for StartLiveData lhs = _kernel . funcinspect . lhs_info ( ) if lhs [ 0 ] > 0 : # Number of terms on the lhs raise RuntimeError ( "Assigning the output of StartLiveData is currently " "unsupported due to limitations of the simpleapi. " "Please call StartLiveData without assigning it to " "to anything." ) lhs_args = _get_args_from_lhs ( lhs , algm ) final_keywords = _merge_keywords_with_lhs ( kwargs , lhs_args ) # Check for any properties that aren't known and warn they will not be used for key in list ( final_keywords . keys ( ) ) : if key not in algm : logger . warning ( "You've passed a property (%s) to StartLiveData() " "that doesn't apply to this Instrument." % key ) del final_keywords [ key ] set_properties ( algm , * * final_keywords ) algm . execute ( ) return _gather_returns ( "StartLiveData" , lhs , algm )