Example #1
0
 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())
Example #2
0
 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
Example #3
0
 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