def configure(self, argv): """Takes an argv list, and gives it straight to optparser.parse_args. The argv list should not include the executable name. """ self.__names = [] # keep track of what configuration we configure # Parse argv. # =========== opts, args = optparser.parse_args(argv) # Orient ourselves. # ================= self.root = root = find_root(args) os.chdir(root) self.dotaspen = dotaspen = join(self.root, ".aspen") if isdir(dotaspen): if sys.path[0] != dotaspen: sys.path.insert(0, dotaspen) self.__names.extend(["root", "dotaspen"]) # Set some attributes. # ==================== self.conf = load_conf(expanduser, dotaspen) self.template_loader = Loader(dotaspen) self.__names.extend(["conf", "template_loader"]) init_mimetypes(mimetypes, dotaspen) self.default_mimetype = load_default_mimetype(self.conf) self.default_filenames = load_default_filenames(self.conf) self.json_content_type = load_json_content_type(self.conf) self.show_tracebacks = self.conf.aspen.no("show_tracebacks") self.__names.extend(["default_mimetype", "default_filenames", "json_content_type", "show_tracebacks"]) self.hooks = load_hooks(expanduser, dotaspen) self.__names.append("hooks") self.engine = load_engine(opts, self) self.changes_kill = self.conf["aspen.cli"].no("changes_kill") self.__names.extend(["engine", "changes_kill"]) self.address, self.sockfam = load_address_sockfam(opts, self.conf) self.port = load_port(self.address, self.sockfam) self.sock = None self.__names.extend(["address", "sockfam", "port", "sock"]) r = configure_logging(opts, dotaspen, self.conf) self.log_filename, self.log_filter, self.log_format, self.log_level = r self.__names.extend(["log_filename", "log_filter", "log_format", "log_level"])
def configure(self, argv): """Takes an argv list, and gives it straight to optparser.parse_args. The argv list should not include the executable name. """ self.__names = [] # keep track of what configuration we configure # Parse argv. # =========== opts, args = optparser.parse_args(argv) # Orient ourselves. # ================= self.root = root = find_root(args) os.chdir(root) self.dotaspen = dotaspen = join(self.root, '.aspen') if isdir(dotaspen): if sys.path[0] != dotaspen: sys.path.insert(0, dotaspen) self.__names.extend(['root', 'dotaspen']) # Set some attributes. # ==================== self.conf = load_conf(expanduser, dotaspen) self.template_loader = Loader(dotaspen) self.__names.extend(['conf', 'template_loader']) init_mimetypes(mimetypes, dotaspen) self.default_mimetype = load_default_mimetype(self.conf) self.default_filenames = load_default_filenames(self.conf) self.json_content_type = load_json_content_type(self.conf) self.show_tracebacks = self.conf.aspen.no('show_tracebacks') self.__names.extend(['default_mimetype', 'default_filenames', 'json_content_type', 'show_tracebacks']) self.hooks = load_hooks(expanduser, dotaspen) self.__names.append('hooks') self.engine = load_engine(opts, self.conf) self.changes_kill = self.conf['aspen.cli'].no('changes_kill') self.__names.extend(['engine', 'changes_kill']) self.address, self.sockfam = load_address_sockfam(opts, self.conf) self.port = load_port(self.address, self.sockfam) self.sock = None self.__names.extend(['address', 'sockfam', 'port', 'sock']) r = configure_logging(opts, dotaspen, self.conf) self.log_filename, self.log_filter, self.log_format, self.log_level = r self.__names.extend(['log_filename', 'log_filter', 'log_format', 'log_level'])
def configure(self, argv): """Takes an argv list, and gives it straight to optparser.parse_args. The argv list should not include the executable name. """ self.__names = [] # keep track of what configuration we configure # Parse argv. # =========== opts, args = OptionParser().parse_args(argv) # Orient ourselves. # ================= self.root = root = opts.root if isinstance(root, ConfigurationError): # It turns out that os.getcwd can raise OSError (I've seen this # happen under supervisord, I swear it). I need to do some # gymnastics to work with the optparse module's handling of # defaults, and this is the gymnastics I'm doing. raise root os.chdir(root) self.dotaspen = dotaspen = join(root, '.aspen') if isdir(dotaspen): if sys.path[0] != dotaspen: sys.path.insert(0, dotaspen) self.__names.extend(['root', 'dotaspen']) # Set some attributes. # ==================== self.conf = load_conf(expanduser, dotaspen) self.template_loader = Loader(dotaspen) self.__names.extend(['conf', 'template_loader']) init_mimetypes(mimetypes, dotaspen) self.default_mimetype = load_default_mimetype(self.conf) self.default_filenames = load_default_filenames(self.conf) self.json_content_type = load_json_content_type(self.conf) self.show_tracebacks = self.conf.aspen.no('show_tracebacks') self.__names.extend(['default_mimetype', 'default_filenames', 'json_content_type', 'show_tracebacks']) self.hooks = load_hooks(expanduser, dotaspen) self.__names.append('hooks') self.engine = load_engine(opts, self) self.changes_kill = self.conf['aspen.cli'].no('changes_kill') self.__names.extend(['engine', 'changes_kill']) self.address, self.sockfam = load_address_sockfam(opts, self.conf) self.port = load_port(self.address, self.sockfam) self.sock = None self.__names.extend(['address', 'sockfam', 'port', 'sock']) r = configure_logging(opts, dotaspen, self.conf) self.log_filename, self.log_filter, self.log_format, self.log_level = r self.__names.extend(['log_filename', 'log_filter', 'log_format', 'log_level'])