如何让用户在这个范围下定义自己的插件,并让它对自己可见?

2024-04-25 18:07:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用flask构建一个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

Tags: 用户pyimport插件web应用程序default消息