docs: def _copy_module(self, conn, tmp, module_name, module_args, inject):
          ''' transfer a module over SFTP, does not run it '''
  
          if module_name.startswith("/"):
              raise errors.AnsibleFileNotFound("%s is not a module" % module_name)
  
          # Search module path(s) for named module.
          in_path = utils.plugins.module_finder.find_plugin(module_name)
          if in_path is None:
              raise errors.AnsibleFileNotFound("module %s not found in %s" % (module_name, utils.plugins.module_finder.print_paths()))
  
          out_path = os.path.join(tmp, module_name)
  
          module_data = ""
          is_new_style=False
  
          with open(in_path) as f:
              module_data = f.read()
              if module_common.REPLACER in module_data:
                  is_new_style=True
              module_data = module_data.replace(module_common.REPLACER, module_common.MODULE_COMMON)
              encoded_args = "\"\"\"%s\"\"\"" % module_args.replace("\"","\\\"")
              module_data = module_data.replace(module_common.REPLACER_ARGS, encoded_args)
              encoded_lang = "\"\"\"%s\"\"\"" % C.DEFAULT_MODULE_LANG
              module_data = module_data.replace(module_common.REPLACER_LANG, encoded_lang)
              if is_new_style:
                  facility = C.DEFAULT_SYSLOG_FACILITY
                  if 'ansible_syslog_facility' in inject:
                      facility = inject['ansible_syslog_facility']
                  module_data = module_data.replace('syslog.LOG_USER', "syslog.%s" % facility)
  
          lines = module_data.split("\n")
          shebang = None
          if lines[0].startswith("#!"):
              shebang = lines[0]
              args = shlex.split(str(shebang[2:]))
              interpreter = args[0]
              interpreter_config = 'ansible_%s_interpreter' % os.path.basename(interpreter)
  
              if interpreter_config in inject:
                  lines[0] = shebang = "#!%s %s" % (inject[interpreter_config], " ".join(args[1:]))
                  module_data = "\n".join(lines)
  
          self._transfer_str(conn, tmp, module_name, module_data)
  
          return (out_path, is_new_style, shebang)