              retval = None
          logger.debug("Returning item: (type: %s, value: %s)", datatype, retval)
          return retval
  
      def get_config_file(self):
          """ Return the config file from the calling folder """
          dirname = os.path.dirname(sys.modules[self.__module__].__file__)
          folder, fname = os.path.split(dirname)
          retval = os.path.join(os.path.dirname(folder), "config", "{}.ini".format(fname))
          logger.debug("Config File location: '%s'", retval)
          return retval
 
</s> remove             retval = get_config(section)
 </s> add             retval = get_config(section, configfile) </s> remove             retval = get_config(section)
 </s> add             retval = get_config(section, configfile=configfile) </s> remove             retval = get_config(section)
 </s> add             retval = get_config(section, configfile=configfile) </s> remove     def load_detector(detector, loglevel, rotation, min_size):
 </s> add     def load_detector(detector, loglevel, rotation, min_size, configfile): </s> remove     def set_config(self, config):
 </s> add     def set_config(self, configfile, config):
    def get_config_file(self, configfile):
        """ Return the config file from the calling folder or the provided file """
        if configfile is not None:
            if not os.path.isfile(configfile):
                err = "Config file does not exist at: {}".format(configfile)
                logger.error(err)
                raise ValueError(err)
            return configfile
              retval = None
          logger.debug("Returning item: (type: %s, value: %s)", datatype, retval)
          return retval
  
    def get_config_file(self, configfile):
        """ Return the config file from the calling folder or the provided file """
        if configfile is not None:
            if not os.path.isfile(configfile):
                err = "Config file does not exist at: {}".format(configfile)
                logger.error(err)
                raise ValueError(err)
            return configfile
    def get_config_file(self, configfile):
        """ Return the config file from the calling folder or the provided file """
        if configfile is not None:
            if not os.path.isfile(configfile):
                err = "Config file does not exist at: {}".format(configfile)
                logger.error(err)
                raise ValueError(err)
            return configfile
          dirname = os.path.dirname(sys.modules[self.__module__].__file__)
          folder, fname = os.path.split(dirname)
          retval = os.path.join(os.path.dirname(folder), "config", "{}.ini".format(fname))
          logger.debug("Config File location: '%s'", retval)
          return retval
keep keep keep keep replace replace keep keep keep keep keep
 Config Changes + Bugfixes

Bugfix: Fully disable keypress monitor for GUI
Bugfix: Preview - Handle missing alignments file
Config changes:
    - Separate plugin defaults into their own files
    - Move mask_type to global training config
    - Add ability to pass in custom config files 
lib/config.py