def load_dynamic(self, opts, args): """Dynamically load commands from the document root.""" loader = Loader() loader.add_scope('__docroot__', opts.docroot) clslist = loader.load_classes('__command__.py', Command, scope='__docroot__') for cls in clslist: self.add_subcommand(cls())
def _create_api(self, opts, args): """Create an API, as requested by the command.""" options = {} options['documentroot'] = opts.docroot options['configfile'] = opts.cfgfile options['logfile'] = opts.logfile options = init_options(options) init_logger(options) init_codecs(options) api = API() if 'options' in self.require_api: api.options = options if 'logger' in self.require_api: api.logger = logging.getLogger('draco2.site') if 'config' in self.require_api: api.config = Config._create(api) if 'loader' in self.require_api: api.loader = Loader._create(api) if 'events' in self.require_api: api.events = EventManager._create(api) if 'database' in self.require_api: api.database = DatabaseManager._create(api) if opts.dsn: api.database._set_dsn(dsn) if 'models' in self.require_api: api.models = ModelManager._create(api) return api
def setup_method(cls, method): tempdir = tempfile.gettempdir() subdir = 'dracotest_%d' % os.getpid() docroot = os.path.join(tempdir, subdir) os.mkdir(docroot) cls.docroot = docroot cls.files = [] cls.directories = [docroot] options = { 'documentroot': docroot } options = init_options(options) config = Config(options) config.add_file(os.environ['TESTCONFIG']) cls.config = config loader = Loader() loader.add_scope('__docroot__', docroot) cls.loader = loader