class_docstr: soapy_power device metadata
code: def help_device(cls, executable, device):
      cmdline = shlex.split(executable)
      try:
          text = subprocess.check_output(
              cmdline + ["--detect"],
              universal_newlines=True,
              stderr=subprocess.DEVNULL,
              env=dict(os.environ, COLUMNS="125"),
              console=False,
          )
          text += "\n"
          text += subprocess.check_output(
              cmdline + ["--device", device, "--info"],
              universal_newlines=True,
              stderr=subprocess.DEVNULL,
              env=dict(os.environ, COLUMNS="125"),
              console=False,
          )
      except subprocess.CalledProcessError as e:
          text = e.output
      except OSError:
          text = "{} executable not found!".format(executable)
      return text
  
file_path: qspectrumanalyzer/qspectrumanalyzer/backends/soapy_power.py
imports: import os, sys, shlex, signal
  import numpy
  from Qt import QtCore
  from qspectrumanalyzer import subprocess
  from qspectrumanalyzer.backends import BaseInfo, BasePowerThread
label_desc: Use image node_id 1 for calling the Info obj's underlying member method code with example usage: obj.help_device(cls, executable, device) and returns: text