code: def condition_input(args, kwargs):
      '''
      Return a single arg structure for the publisher to safely use
      '''
      ret = []
      for arg in args:
          if (six.PY3 and isinstance(arg, six.integer_types) and salt.utils.jid.is_jid(six.text_type(arg))) or \
          (six.PY2 and isinstance(arg, long)):  # pylint: disable=incompatible-py3-code,undefined-variable
              ret.append(six.text_type(arg))
          else:
              ret.append(arg)
      if isinstance(kwargs, dict) and kwargs:
          kw_ = {'__kwarg__': True}
          for key, val in six.iteritems(kwargs):
              kw_[key] = val
          return ret + [kw_]
      return ref condition_input(args, kwargs):
      '''
      Return a single arg structure for the publisher to safely use
      '''
      ret = []
      for arg in args:
          if (six.PY3 and isinstance(arg, six.integer_types) and salt.utils.jid.is_jid(six.text_type(arg))) or \
          (six.PY2 and isinstance(arg, long)):  # pylint: disable=incompatible-py3-code,undefined-variable
              ret.append(six.text_type(arg))
          else:
              ret.append(arg)
      if isinstance(kwargs, dict) and kwargs:
          kw_ = {'__kwarg__': True}
          for key, val in six.iteritems(kwargs):
              kw_[key] = val
          return ret + [kw_]
      return ret
docs: Return a single arg structure for the publisher to safely use