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