diff --git a/overviewer.py b/overviewer.py index dcf52b6..496b2d0 100755 --- a/overviewer.py +++ b/overviewer.py @@ -242,7 +242,12 @@ dir but you forgot to put quotes around the directory, since it contains spaces. return 1 # Parse the config file - mw_parser.parse(options.config) + try: + mw_parser.parse(options.config) + except configParser.MissingConfigException as e: + # this isn't a "bug", so don't print scary traceback + logging.error(str(e)) + util.nice_exit(1) # Add in the command options here, perhaps overriding values specified in # the config diff --git a/overviewer_core/configParser.py b/overviewer_core/configParser.py index 8afad34..cad7c75 100644 --- a/overviewer_core/configParser.py +++ b/overviewer_core/configParser.py @@ -7,6 +7,10 @@ import traceback import settingsDefinition import settingsValidators +class MissingConfigException(Exception): + "To be thrown when the config file can't be found" + pass + class MultiWorldParser(object): """A class that is used to parse a settings.py file. @@ -68,7 +72,7 @@ class MultiWorldParser(object): """ if not os.path.exists(settings_file) and not os.path.isfile(settings_file): - raise ValueError("The settings file you specified (%r) does not exist, or is not a file" % settings_file) + raise MissingConfigException("The settings file you specified (%r) does not exist, or is not a file" % settings_file) # The global environment should be the rendermode module, so the config # file has access to those resources.