0

我正在使用烧瓶构建一个 Web 应用程序,它保存所有输入消息(用户向其发送 xml 消息)并找到正确的插件来响应并将响应返回给用户,该应用程序提供了基本插件,但我希望用户在我定义的api下编写自己的插件,下面是架构:

plugins     
   common_plugins1.py
   common_plugins2.py  
templates   
actions   
myapp.py

但我遇到了几个问题:

  1. 我只希望用户调用他的插件而不是其他插件,其他插件对他是不可见的
  2. 我只希望用户调用我定义的定义的功能或模块
  3. 我想让它可扩展

是否可以让用户上传他们用python编写的插件?并使应用程序动态加载它。

感谢您的帮助!

下面是插件示例:

#coding: utf-8
import somemodule 
from somemodule import *

def do(dmessage,context,default,**option):
    import re   
    try:
        _l=default.split('%|placeholder|%')
        message=ModuleRequestVoice(dmessage)
        r=ModuleResponseMusic()
        return r.render(message,_l[0],_l[1],_l[2],_l[2])
    except Exception,e:
        print 'match voice error:%s'%e
        return False
4

0 回答 0