Example #1
0
def web_rule_del(httpClient, httpResponse, args):
    """ TODO """
    idx = int(args['idx'])

    err, ret = Web.command('rule.delete', index=idx)
    if err:
        Web.flash_error(httpResponse, err, ret, idx)
    else:
        err, ret = Web.command('save')
        msg = 'Rule task deleted'
        httpResponse.FlashMessage(msg, 'info')

    return httpResponse.WriteResponseRedirect('/rules')
Example #2
0
def web_rules(httpClient, httpResponse):
    """ TODO """

    err, ret = Web.command('rule.list')
    if err:
        Web.flash_error(httpResponse, err, ret)
        ret = []

    vars = {}
    vars['menu'] = 'rules'
    vars['rule_list'] = ret

    return httpResponse.WriteResponsePyHTMLFile('web/www/rules.html', vars=vars)
Example #3
0
def web_main(httpClient, httpResponse):
    """ Main-Page with common dashboard """

    err, result = Web.command(httpResponse, 'info')
    if err:
        Web.flash_error(httpResponse, err, result)
        result = {}

    vars = {}
    vars['menu'] = 'main'
    vars['info'] = result

    return httpResponse.WriteResponsePyHTMLFile('web/www/main.html', vars=vars)
Example #4
0
def web_gateways_list(httpClient, httpResponse):
    """ TODO """

    err, ret = Web.command('plugin.gateway.list')
    if err:
        Web.flash_error(httpResponse, err, ret)
        ret = []

    vars = {}
    vars['menu'] = 'gateways'
    vars['gateway_list'] = ret

    return httpResponse.WriteResponsePyHTMLFile('web/www/gateways_list.html', vars=vars)
Example #5
0
def web_gateway_del(httpClient, httpResponse, args):
    """ TODO """
    idx = int(args['idx'])

    err, ret = Web.command(httpResponse, 'gateway.delete', index=idx)
    if err:
        Web.flash_error(httpResponse, err, ret, idx)
    else:
        err, ret = Web.command(httpResponse, 'save')
        msg = 'Gateway instance deleted'
        httpResponse.FlashMessage(msg, 'info')

    return httpResponse.WriteResponseRedirect('/gateways')
Example #6
0
def web_rule_add(httpClient, httpResponse, args):
    """ TODO """
    rupid = args['rupid']

    params = {'rupid': rupid}
    err, ret = Web.command('rule.add', items=params)
    if err:
        Web.flash_error(httpResponse, err, ret, rupid)
    else:
        Web.command('save')
        msg = 'Rule "{}" added'.format(rupid)
        httpResponse.FlashMessage(msg, 'info')

    return httpResponse.WriteResponseRedirect('/rules')
Example #7
0
def web_gateway_add(httpClient, httpResponse, args):
    """ TODO """
    gwpid = args['gwpid']

    params = {'gwpid': gwpid}
    err, ret = Web.command('gateway.add', items=params)
    if err:
        Web.flash_error(httpResponse, err, ret, gwpid)
    else:
        Web.command('save')
        msg = 'Gateway "{}" added'.format(gwpid)
        httpResponse.FlashMessage(msg, 'info')

    return httpResponse.WriteResponseRedirect('/gateways')
Example #8
0
def web_rule_add(httpClient, httpResponse, args):
    """ TODO """
    ezPID = args['ezPID']

    params = {'ezPID': ezPID}
    err, ret = Web.command(httpResponse, 'rule.add', items=params)
    if err:
        Web.flash_error(httpResponse, err, ret, ezPID)
    else:
        Web.command(httpResponse, 'save')
        msg = 'Rule "{}" added'.format(ezPID)
        httpResponse.FlashMessage(msg, 'info')
        return httpResponse.WriteResponseRedirect('/rules/edit/' + str(ret))

    return httpResponse.WriteResponseRedirect('/rules')
Example #9
0
def web_rules_list(httpClient, httpResponse):
    """ TODO """

    err, ret = Web.command(httpResponse, 'rule.stage.list')
    if err:
        Web.flash_error(httpResponse, err, ret)
        ret = []

    ret.sort(key=lambda x: x['PNAME'].upper())

    vars = {}
    vars['menu'] = 'rules'
    vars['rule_list'] = ret

    return httpResponse.WriteResponsePyHTMLFile('web/www/rules_list.html',
                                                vars=vars)
Example #10
0
def web_gateways(httpClient, httpResponse):
    """ TODO """

    err, ret = Web.command(httpResponse, 'gateway.list')
    if err:
        Web.flash_error(httpResponse, err, ret)
        ret = []

    ret.sort(key=lambda x: x['NAME'].upper())

    vars = {}
    vars['menu'] = 'gateways'
    vars['gateway_list'] = ret

    return httpResponse.WriteResponsePyHTMLFile('web/www/gateways.html',
                                                vars=vars)
Example #11
0
def web_variable_full_list(httpClient, httpResponse, args=None):
    """ TODO """
    key = ''
    value = ''
    if args:
        act_tick = int(args.get('tick', 0))
    else:
        act_tick = 0

    if httpClient.GetRequestMethod() == 'POST':
        formParams = httpClient.ReadRequestPostedFormData()
    else:  # GET
        formParams = httpClient.GetRequestQueryParams()

    if formParams and 'key' in formParams:
        key = formParams.get('key')
        value = formParams.get('value')
        variable = {}
        variable['key'] = key
        variable['value'] = value
        #variable['source'] = 'WEB-SET'
        err, ret = Web.command(httpResponse, 'variable.set', items=variable)
        if err:
            Web.flash_error(httpResponse, err, ret)

    err, ret = Web.command(httpResponse, 'variable.full.list', index=act_tick)
    if err:
        Web.flash_error(httpResponse, err, ret)
        ret = {}

    vars = {}
    vars['menu'] = 'tools'
    vars['variable_list'] = ret['variables']
    vars['last_tick'] = ret['tick']
    vars['act_tick'] = act_tick
    vars['add_key'] = key
    vars['add_value'] = value

    return httpResponse.WriteResponsePyHTMLFile('web/www/variablesfull.html',
                                                vars=vars)


#######
Example #12
0
def web_rule_edit(httpClient, httpResponse, args):
    """ TODO """
    idx = int(args['idx'])

    err, ret = Web.command(httpResponse, 'rule.getparams', index=idx)
    if err:
        Web.flash_error(httpResponse, err, ret, idx)
        return httpResponse.WriteResponseRedirect('/rules')

    params = {}
    params.update(ret)

    if httpClient.GetRequestMethod() == 'POST':
        formParams = httpClient.ReadRequestPostedFormData()
        if formParams:
            formParams['ENABLE'] = 'ENABLE' in formParams  # checkbox -> bool
            params.update(formParams)
        err, ret = Web.command(httpResponse,
                               'rule.setparams',
                               index=idx,
                               params=formParams)
        if not err:
            err, ret = Web.command(httpResponse, 'save')
        if err:
            Web.flash_error(httpResponse, err, ret, idx)
        else:
            httpResponse.FlashMessage('Settings saved', 'info')
    else:  # GET
        pass

    vars = {}
    vars['menu'] = 'rules'
    vars['index'] = idx
    vars.update(params)

    err, html = Web.command(httpResponse, 'rule.gethtml', index=idx)

    return httpResponse.WriteResponsePyHTMLFile(html, vars=vars)
Example #13
0
def web_rule_edit(httpClient, httpResponse, args):
    """ TODO """
    idx = int(args['idx'])

    err, ret = Web.command('rule.getparam', index=idx)
    if err:
        Web.flash_error(httpResponse, err, ret, idx)
        return httpResponse.WriteResponseRedirect('/rules')

    params = {}
    params.update(ret)

    if httpClient.GetRequestMethod() == 'POST':
        formParams = httpClient.ReadRequestPostedFormData()        
        if formParams:
            formParams['enable'] = 'enable' in formParams   # checkbox -> bool
            formParams['timer'] = int(formParams.get('timer', 0))
            for key, value in params.items():
                if key in formParams:
                    params[key] = formParams.get(key)
        err, ret = Web.command('rule.setparam', index=idx, params=params)
        if err:
            Web.flash_error(httpResponse, err, ret, idx)
        err, ret = Web.command('save')
        httpResponse.FlashMessage('Settings saved', 'info')
    else: # GET
        pass

    vars = {}
    vars['menu'] = 'rules'
    vars['index'] = idx
    vars.update(params)

    err, html = Web.command('rule.gethtml', index=idx)

    return httpResponse.WriteResponsePyHTMLFile(html, vars=vars)