# Path: handroll/exceptions.py
# class AbortError(Exception):
#     """Any fatal errors that would prevent handroll from proceeding should
#     signal with the ``AbortError`` exception."""
# 
# Path: handroll/i18n.py



from configparser import ConfigParser
from handroll.exceptions import AbortError
from handroll.i18n import _
import os
        # The output directory should be absolute. That constraint will make it
        # easy to check if a filepath is in the output directory.
        self.outdir = None
        self.timing = None

        # Keep the parser to allow extensions to get configuration file data.
        self.parser = ConfigParser()

        self._domain = None

    @property
    def domain(self):
        if self._domain is None:
            raise AbortError(
                _('You are missing a domain setting in the site section.'))
        return self._domain

    def load_from_arguments(self, args):
        """Load any configuration attributes from the provided command line
        arguments. Arguments have the highest precedent so overwrite any other
        value if a value exists."""
        if args.force:
            self.force = True

        if args.outdir is not None:
            self.outdir = os.path.abspath(args.outdir)

        if args.timing is not None:
            self.timing = args.timing


# Path: handroll/exceptions.py
# class AbortError(Exception):
#     """Any fatal errors that would prevent handroll from proceeding should
#     signal with the ``AbortError`` exception."""
# 
# Path: handroll/i18n.py



# Path: handroll/configuration.py
from configparser import ConfigParser
from handroll.exceptions import AbortError
from handroll.i18n import _
import os

        # The output directory should be absolute. That constraint will make it
        # easy to check if a filepath is in the output directory.
        self.outdir = None
        self.timing = None

        # Keep the parser to allow extensions to get configuration file data.
        self.parser = ConfigParser()

        self._domain = None

    @property
    def domain(self):
        if self._domain is None:
            raise AbortError(
                _('You are missing a domain setting in the site section.'))
        return self._domain

    def load_from_arguments(self, args):
        """Load any configuration attributes from the provided command line
        arguments. Arguments have the highest precedent so overwrite any other
        value if a value exists."""
        if args.force:
            self.force = True

        if args.outdir is not None:
            self.outdir = os.path.abspath(args.outdir)

        if args.timing is not None:
            self.timing = args.timing


    def load_from_file(self, config_file):