docstr: Return a tuple of model, op_name for opspec.
  
  If opspec cannot be resolved to an R based operation, returns
  None.
docstr_tok: ["Return","a","tuple","of","model",",","op_name","for","opspec",".","If","opspec","can","not","be","resolved","to","an","R","based","operation",",","returns","None","."]
code: def resolve_model_op(self, opspec):
      """Return a tuple of model, op_name for opspec.
  
      If opspec cannot be resolved to an R based operation, returns
      None.
      """
      if opspec == "r-script:init":
          return _r_script_init_model_op()
      path = _path_for_opspec(opspec)
      if not r_util.is_r_script(path):
          return None
      try:
          r_util.verify_r_env()
      except r_util.REnvError as e:
          raise pluginlib.ModelOpResolutionError(e)
      else:
          model = RScriptModelProxy(path, opspec)
          return model, model.op_name
  
imports: import logging
  import os
  import yaml
  import guild
  from guild import config
  from guild import guildfile
  from guild import model
  from guild import model_proxy
  from guild import plugin
  from .None import r_util
label_desc: Use image node_id 1 for calling the RScriptPlugin obj's underlying member method code with example usage: obj.resolve_model_op(opspec) and returns: _r_script_init_model_op, None, model,  model