<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _GetConfigValue(self, configKey, strDescriptor, isDir = True):
 """ Get configuration value from database table. If no value found user will be prompted to enter one. Parameters configKey : string Name of config field. strDescriptor : string Description of config field. isDir : boolean [optional : default = True] Set to True if config value is expected to be a directory path. Returns string Value for given config field in database. """

    goodlogging.Log.Info("CLEAR", "Loading {0} from database:".format(strDescriptor))
    goodlogging.Log.IncreaseIndent()
    configValue = self._db.GetConfigValue(configKey)

    if configValue is None:
      goodlogging.Log.Info("CLEAR", "No {0} exists in database".format(strDescriptor))
      configValue = self._UserUpdateConfigValue(configKey, strDescriptor, isDir)
    else:
      goodlogging.Log.Info("CLEAR", "Got {0} {1} from database".format(strDescriptor, configValue))


    if not isDir or os.path.isdir(configValue):
      goodlogging.Log.Info("CLEAR", "Using {0} {1}".format(strDescriptor, configValue))
      goodlogging.Log.DecreaseIndent()
      return configValue
    else:
      goodlogging.Log.Info("CLEAR", "Exiting... {0} is not recognised as a directory".format(configValue))
      sys.exit(0)