Exemplo n.º 1
0
    def run(self, args):
        settings = self.get_settings()

        for name in map(basename, glob(join('controllers', '*.py'))):
            autoreload.watch(name)
            Module.load(self.get_controller_import_path(name))

        from shrine.routes import make_application

        MESSAGE = "{} running at http://localhost:{}\n".format(
            settings.PRODUCT_NAME,
            settings.PORT,
        )

        application = make_application()
        application.listen(settings.PORT)
        self.log.bold_green(MESSAGE)

        from shrine.log import logger
        logger.setLevel(logging.WARNING)

        try:
            autoreload.start()
            IOLoop.instance().start()
        except KeyboardInterrupt:
            self.log.bold_red_on_black("\rInterrupted by the User (Control-C)\n")
Exemplo n.º 2
0
    def run_from_argv(cls, argv):
        for name in map(basename, glob(SHRINE_FILE('cmds', '*.py'))):
            if name not in ('__init__.py', basename(__file__)):
                Module.load('shrine.cmds.{}'.format(splitext(name)[0]))

        Command, args = cls.parse_argv(argv)
        return Command().run(args)
Exemplo n.º 3
0
 def seek_and_destroy(self):
     for name in map(basename, glob(join('controllers', '*.py'))):
         module_cache.append(
             Module.load(self.get_controller_import_path(name)))
         autoreload.watch(name)
Exemplo n.º 4
0
os.environ['DJANGO_SETTINGS_MODULE'] = 'shrine.settings'
ws_settings_module = os.getenv('SHRINE_SETTINGS_MODULE')
if not ws_settings_module:
    raise ImportError(
        'Could not find the module {} inside {}'.format(
            ws_settings_module or 'SHRINE_SETTINGS_MODULE',
            os.getcwd()),
    )


from django.conf import settings as django_settings

SUBDIR = join(os.getcwdu(), '..')
sys.path.append(SUBDIR)
shrine_settings = Module.load(ws_settings_module)
sys.path.remove(SUBDIR)

for settings_key in dir(shrine_settings):

    if settings_key.startswith('__'):
        continue
    settings_value = getattr(shrine_settings, settings_key)
    if settings_key == 'DATABASES':
        django_settings.DATABASES.update(settings_value)

    elif settings_key in ('INSTALLED_APPS',):
        django_settings.INSTALLED_APPS = tuple(
            set(django_settings.INSTALLED_APPS + settings_value))

    elif settings_key in ('TEMPLATE_PATH', 'STATIC_PATH',):