def METHOD_NAME(self, line):
    cmd, line = line.split(" ", 1)
    if cmd == "spell":
        args = shlex.split(line)
        parser = OptionParser()
        parser.add_option("--lang", action="store", dest="lang", default="en")
        parser.add_option("--text", action="store", dest="text", default="en")
        try:
            opts, args = parser.parse_args(args)
        except ValueError:
            return
        log.debug("spell: opts={} args={}".format(opts, args))
        try:
            t = googletranslate.get_translate(opts.text, opts.lang, opts.lang)
        except:
            log.exception("spell")
            return
        log.debug("spell result: {}".format(t))
    elif cmd == "translate":
        args = shlex.split(line)
        parser = optparse.OptionParser()
        parser.add_option("--from", action="store", dest="lfrom", default="en")
        parser.add_option("--to", action="store", dest="lto", default="en")
        parser.add_option("--text", action="store", dest="text", default="")
        try:
            opts, args = parser.parse_args(args)
        except ValueError:
            return
        log.debug("translate: opts={} args={}".format(opts, args))
        try:
            t = googletranslate.get_translate(opts.text, opts.lfrom, opts.lto)
        except:
            log.exception("translate")
            return
        log.debug("translate result: {}".format(t))
    else:
        log.error("bad command:{} line={}".format(cmd, line))
        return
    s = t["result"][0]
    self.info.FSF.CopyToClipboard(self.s2f(s))