Example #1
0
 def decorated_view(*args, **kwargs):
     if current_app.login_manager._login_disabled:
         return func(*args, **kwargs)
     elif not current_user.is_authenticated:
         return make_response(jsonify({'msg': 'lost session, need to relogin', 'session': \
                                       request.cookies.get(config.config.SESSION_COOKIE_NAME)}), 302)
     return func(*args, **kwargs)
Example #2
0
    def load(self, name, module_path):
        path, module_name = module_path.rsplit(".", 1)
        module = __import__(module_path, globals(), locals(), [module_name])
        reload(module)
        self.plugins[name] = plugin = Plugin(
            name, module_path,
            [
                obj for obj in module.__dict__.values()
                if getattr(obj, 'is_bot_event', False) is True
            ]
        )

        cfg = self.config
        plugin_name = 'plugin:%s' % name
        if cfg.has_section(plugin_name):
            plugin.config.update(cfg.items(plugin_name))

        initials_funcs = (
            func for func in module.__dict__.values()
            if getattr(func, 'is_initial', False) is True
        )

        for initial_func in initials_funcs:
            initial_func(plugin, self.protocol)

        future = plugin.future
        loops = [
            func(self.protocol, plugin, future)
            for func in module.__dict__.values()
            if getattr(func, 'is_loop', False) is True
        ]

        for loop in loops:
            async(loop)
Example #3
0
 def _wrapper(*args, **kwargs):
     from sqlalchemy.orm import sessionmaker
     connpool = sessionmaker(bind=engine)
     conn = connpool()
     response = func(conn, *args, **kwargs)
     conn.close()
     return response
Example #4
0
    def load(self, name, module_path):
        path, module_name = module_path.rsplit(".", 1)
        module = __import__(module_path, globals(), locals(), [module_name])
        reload(module)
        self.plugins[name] = plugin = Plugin(name, module_path, [
            obj for obj in module.__dict__.values()
            if getattr(obj, 'is_bot_event', False) is True
        ])

        cfg = self.config
        plugin_name = 'plugin:%s' % name
        if cfg.has_section(plugin_name):
            plugin.config.update(cfg.items(plugin_name))

        initials_funcs = (func for func in module.__dict__.values()
                          if getattr(func, 'is_initial', False) is True)

        for initial_func in initials_funcs:
            initial_func(plugin, self.protocol)

        future = plugin.future
        loops = [
            func(self.protocol, plugin, future)
            for func in module.__dict__.values()
            if getattr(func, 'is_loop', False) is True
        ]

        for loop in loops:
            async (loop)
Example #5
0
 def _wrapper(*args, **kwargs):
     from sqlalchemy.orm.session import sessionmaker
     conn_pool = sessionmaker(bind=engine)
     conn = conn_pool()
     data = func(conn, *args, **kwargs)
     conn.close()
     return data
Example #6
0
 def _execute_func(self, func, bot, args, user, channel):
     try:
         yield from func(bot, **args)
     except Exception:
         traceback.print_exc(file=sys.stdout)
         tb = traceback.format_exc().split('\n')[-4:-1]
         self.protocol.reply(
             user.nick, '{} {} {}'.format(
                 format.bold('ERR:'),
                 tb[2],
                 format.color(tb[0], format.color.red),
             ), channel)
Example #7
0
 def _execute_func(self, func, bot, args, user, channel):
     try:
         yield from func(bot, **args)
     except Exception:
         traceback.print_exc(file=sys.stdout)
         tb = traceback.format_exc().split('\n')[-4:-1]
         self.protocol.reply(
             user.nick,
             '{} {} {}'.format(
                 format.bold('ERR:'),
                 tb[2],
                 format.color(tb[0], format.color.red),
             ),
             channel
         )
Example #8
0
 def custom_op(cls, name, func, condition=None):
     if condition is None:
         condition = lambda column, value: True
     binded_func = lambda cls, sql_col, value: func(sql_col, value)
     cls.__operations.append((name, condition, binded_func))
Example #9
0
def generate_question():
    quesTop = QnA.query(QnA.questionGroup, func(sum(
        QnA.questionGroup))).group_by(QnA.questionGroup)
    print quesTop
    return render_template('question_picker.html', quesTop)
Example #10
0
 def custom_op(cls, name, func, condition=None):
     if condition is None:
         condition = lambda column, value: True
     binded_func = lambda cls, sql_col, value: func(sql_col, value)
     cls.__operations.append((name, condition, binded_func))