docs: def parseData(self, data, host, port, options):
          '''
          This function will parse the raw syslog data, dynamically create the
          topic according to the topic specified by the user (if specified) and
          decide whether to send the syslog data as an event on the master bus,
          based on the constraints given by the user.
  
          :param data: The raw syslog event data which is to be parsed.
          :param host: The IP of the host from where syslog is forwarded.
          :param port: Port of the junos device from which the data is sent
          :param options: kwargs provided by the user in the configuration file.
          :return: The result dictionary which contains the data and the topic,
                   if the event is to be sent on the bus.
  
          '''
          data = self.obj.parse(data)
          data['hostip'] = host
          log.debug(
              'Junos Syslog - received %s from %s, sent from port %s',
              data, host, port
          )
  
          send_this_event = True
          for key in options:
              if key in data:
                  if isinstance(options[key], (six.string_types, int)):
                      if six.text_type(options[key]) != six.text_type(data[key]):
                          send_this_event = False
                          break
                  elif isinstance(options[key], list):
                      for opt in options[key]:
                          if six.text_type(opt) == six.text_type(data[key]):
                              break
                      else:
                          send_this_event = False
                          break
                  else:
                      raise Exception(
                          'Arguments in config not specified properly')
              else:
                  raise Exception(
                      'Please check the arguments given to junos engine in the\
                       configuration file')
  
          if send_this_event:
              if 'event' in data:
                  topic = 'jnpr/syslog'
  
                  for i in range(2, len(self.title)):
                      topic += '/' + six.text_type(data[self.title[i]])
                      log.debug(
                          'Junos Syslog - sending this event on the bus: %s from %s',
                          data, host
                      )
                  result = {'send': True, 'data': data, 'topic': topic}
                  return result
              else:
                  raise Exception(
                      'The incoming event data could not be parsed properly.')
          else:
              result = {'send': False}
              return result