docstr: After stripping entered name, check that it is a  sensible
  ConfigParser file section name. Return it if it is, '' if not.
docstr_tok: ["After","stripping","entered","name",",","check","that","it","is","a","sensible","ConfigParser","file","section","name",".","Return","it","if","it","is",",","``","if","not","."]
code: def name_ok(self):
      """After stripping entered name, check that it is a  sensible
      ConfigParser file section name. Return it if it is, '' if not.
      """
      name = self.name.get().strip()
      if not name:  # no name specified
          tkMessageBox.showerror(
              title="Name Error",
              message="No name specified.",
              parent=self,
          )
      elif len(name) > 30:  # name too long
          tkMessageBox.showerror(
              title="Name Error",
              message="Name too long. It should be no more than "
              + "30 characters.",
              parent=self,
          )
          name = ""
      elif name in self.used_names:
          tkMessageBox.showerror(
              title="Name Error",
              message="This name is already in use.",
              parent=self,
          )
          name = ""
      return name
  
file_path: catboost/contrib/tools/python/src/Lib/idlelib/configSectionNameDialog.py
imports: from Tkinter import *
  import tkMessageBox
label_desc: Use image node_id 3 for calling the GetCfgSectionNameDialog obj's underlying member method code with example usage: obj.name_ok() and returns: name