コード例 #1
0
def plugin_data(name, morph=''):
    result = {'columns':[],'data':[]}
    con = sqlite3.connect(config.OUTPUT_FILE)
    if request.method == 'POST' and request.forms.get('query'):
        query = request.forms.get('query')
    else:
        query = 'SELECT * FROM ' + name
    curs = con.cursor()
    try:
        curs.execute(query)
        result['data'] = curs.fetchall()
        result['columns'] = [i[0] for i in curs.description]
    except Exception as err:
        result['error'] = err.message
    result['name'] = name
    result['query'] = query
    result['morphs'] = []
    for m in Plugins['morphs']:
        if name in m['plugins']:
            result['morphs'].append(m['name'])
    if morph:
        for sub in BaseMorph.__subclasses__():
            if sub.name == morph:
                cls = sub()
                cls.morph(result)

    return json.dumps(result)
コード例 #2
0
def BuildMorphList():
    morphpath = os.path.join(os.path.dirname(__file__), 'morphs')
    for morphfile in os.listdir(morphpath):
        if morphfile.endswith('py') and morphfile.lower() not in ['basemorph.py','__init__.py']:
            print "found morph: " + morphfile
            __import__('morphs.' + morphfile.replace('.py',''))
    Plugins['morphs'] = []
    for sub in BaseMorph.__subclasses__():
        #sub.__init__(sub)
        Plugins['morphs'].append({'name':sub.name, 'display':sub.displayname,'plugins':sub.plugins, 'helptext':sub.helptext})
コード例 #3
0
def morph_set_config(name):
    try:
        for sub in BaseMorph.__subclasses__():
            if sub.name.lower() == name.lower():
                cls = sub()
                #cls.SetConfig(request.forms.dict)
                cls.SetConfig(request.json)
                break
        return json.dumps({'result':'success'})
    except Exception as err:
        print err.message + ': ' + str(err.args)
        return json.dumps({'result':'error','msg':err.message + ': ' + str(err.args)})
コード例 #4
0
def morph_config(name):
    for sub in BaseMorph.__subclasses__():
        if sub.name.lower() == name.lower():
            cls = sub()
            data = {
                'name':cls.name,
                'display':cls.displayname,
                'helptext':cls.helptext,
                'plugins':cls.plugins,
                'config':cls.config
            }
            return json.dumps(data)
コード例 #5
0
def BuildPluginList():
    Plugins['plugins'] = []
    for cmdname in sorted(cmds):
        command = cmds[cmdname]
        if command.is_valid_profile(profile):
            Plugins['plugins'].append({'name':cmdname,'help':command.help(), 'data':0, 'error':''})
    morphpath = os.path.join(os.path.dirname(__file__), 'morphs')
    for morphfile in os.listdir(morphpath):
        if morphfile.endswith('py') and morphfile.lower() not in ['basemorph.py','__init__.py']:
            print "found morph: " + morphfile
            __import__('morphs.' + morphfile.replace('.py',''))
    Plugins['morphs'] = []
    for sub in BaseMorph.__subclasses__():
        #sub.__init__(sub)
        Plugins['morphs'].append({'name':sub.name, 'display':sub.displayname,'plugins':sub.plugins, 'helptext':sub.helptext})
コード例 #6
0
ファイル: CountryCodedIp.py プロジェクト: yd0str/evolve
 def __init__(self):
     BaseMorph.__init__(self)
コード例 #7
0
ファイル: CountryCodedIp.py プロジェクト: 5l1v3r1/Evolve-1
 def __init__(self):
     BaseMorph.__init__(self)