code: def run(addr, *commands, **kwargs):
      
      results = []
      handler = VarnishHandler(addr, **kwargs)
      for cmd in commands:
          if isinstance(cmd, tuple) and len(cmd)>1:
              results.extend([getattr(handler, c[0].replace('.','_'))(*c[1:]) for c in cmd])
          else:
              results.append(getattr(handler, cmd.replace('.','_'))(*commands[1:]))
              break
      handler.close()
      return results
docs: Non-threaded batch command runner returning output results