docs: def _get_salt_call(*dirs, **namespaces):
      '''
      Return salt-call source, based on configuration.
      This will include additional namespaces for another versions of Salt,
      if needed (e.g. older interpreters etc).
  
      :dirs: List of directories to include in the system path
      :namespaces: Dictionary of namespace
      :return:
      '''
      template = '''# -*- coding: utf-8 -*-
  import os
  import sys
  
  # Namespaces is a map: {namespace: major/minor version}, like {'2016.11.4': [2, 6]}
  # Appears only when configured in Master configuration.
  namespaces = %namespaces%
  
  # Default system paths alongside the namespaces
  syspaths = %dirs%
  syspaths.append('py{0}'.format(sys.version_info[0]))
  
  curr_ver = (sys.version_info[0], sys.version_info[1],)
  
  namespace = ''
  for ns in namespaces:
      if curr_ver == tuple(namespaces[ns]):
          namespace = ns
          break
  
  for base in syspaths:
      sys.path.insert(0, os.path.join(os.path.dirname(__file__),
                                      namespace and os.path.join(namespace, base) or base))
  
  if __name__ == '__main__':
      from salt.scripts import salt_call
      salt_call()
  '''
  
      for tgt, cnt in [('%dirs%', dirs), ('%namespaces%', namespaces)]:
          template = template.replace(tgt, salt.utils.json.dumps(cnt))
  
      return salt.utils.stringutils.to_bytes(template)