Example #1
0
def show_results_all_hr(master_id, slave_id):
    TEMPLATES.clear()
    master = APP.get_master(master_id)
    requests = APP._db.get_hr_requests_for_slave(master_id, slave_id)
    name = 'Slave {0} - Function {1}'.format(slave_id, 3)
    friendly_name = 'Slave {0} - Function {1} - All Registers'.format(
        slave_id, 3)
    url = "/modbus-read-all-hr/{0}/{1}".format(master_id, slave_id)
    all_results = {}
    try:
        for req in requests:
            i = int(req['address'])
            #print "%s, %s, %s"%(int(slave_id), int(req['address']), int(req['length']))
            results = master.modbus.execute(int(slave_id), int(3),
                                            int(req['address']),
                                            int(req['length']))
            for result in results:
                all_results[i] = {'result': result, 'register_hex': hex(i)}
                i += 1
        return template('templates/master_results_all_hr',
                        results=all_results,
                        url=url,
                        name=name,
                        master=master,
                        friendly_name=friendly_name)
    except modbus.ModbusError, msg:
        return template('templates/modbus_error',
                        msg=msg,
                        name=name,
                        url=url,
                        master=master,
                        friendly_name=friendly_name)
Example #2
0
def show_results(master_id, slave_id, function_code, start_address, length):
    TEMPLATES.clear()
    master = APP.get_master(master_id)
    name = 'Slave {0} - Function {1}'.format(slave_id, function_code)
    friendly_name = 'Slave {0} - Function {1} - Address {2} - Count {3}'.format(
        slave_id, function_code, start_address, length)
    url = "/modbus-read/{0}/{1}/{2}/{3}/{4}".format(master_id, slave_id,
                                                    function_code,
                                                    start_address, length)
    try:
        results = master.modbus.execute(int(slave_id), int(function_code),
                                        int(start_address), int(length))
        lines = [
            i * 16
            for i in range(int(len(results) % 16 > 0) + len(results) // 16)
        ]
        return template('templates/master_results',
                        results=results,
                        start=int(start_address),
                        lines=lines,
                        name=name,
                        url=url,
                        master=master,
                        friendly_name=friendly_name)
    except modbus.ModbusError, msg:
        return template('templates/modbus_error',
                        msg=msg,
                        name=name,
                        url=url,
                        master=master,
                        friendly_name=friendly_name)
Example #3
0
def __update_template_path():
    # Sometimes, when caching templates bottle doesn't clear the faulty
    # templates and the error persists even upon restarting the app.
    # The solution is to clear the templates explicitly with this statement:
    TEMPLATES.clear()

    for m in registered_methods:
        method_path = unicode('./{0}/{1}/'.format(config.FP_SUBDIR, m.subdir))
        if method_path not in TEMPLATE_PATH:
            TEMPLATE_PATH.insert(0, method_path)

    logger.info('updated TEMPLATE_PATH')
Example #4
0
def show_results(master_id, slave_id, function_code, start_address, length):
    TEMPLATES.clear()
    master = APP.get_master(master_id)
    name = 'Slave {0} - Function {1}'.format(slave_id, function_code)
    friendly_name = 'Slave {0} - Function {1} - Address {2} - Count {3}'.format(slave_id, function_code, start_address, length)
    url = "/modbus-read/{0}/{1}/{2}/{3}/{4}".format(master_id, slave_id, function_code, start_address, length)
    try:
        results = master.modbus.execute(int(slave_id), int(function_code), int(start_address), int(length))
        lines = [i*16 for i in range(int(len(results)%16>0)+len(results)//16)]
        return template('templates/master_results', results=results, start=int(start_address), 
                        lines=lines, name=name, url=url, master=master, friendly_name=friendly_name)
    except modbus.ModbusError, msg:
        return template('templates/modbus_error', msg=msg, name=name, url=url, master=master, friendly_name=friendly_name)
Example #5
0
def main():

    # start worker
    threads=[]
    t=threading.Thread(target=worker.main)
    t.setDaemon(True)
    threads.append(t)
    t.start();
    time.sleep(5) # quick 'hack' to get worker going (reading settings, etc...)

    TEMPLATES.clear()
    run(host='0.0.0.0', port=48963, debug=True)

    print "Oops server crashed!!"

    while True:
        # dont want things to end - for now this stupidity
        time.sleep(10)
Example #6
0
def main():

    # start worker
    threads = []
    t = threading.Thread(target=worker.main)
    t.setDaemon(True)
    threads.append(t)
    t.start()
    time.sleep(
        5)  # quick 'hack' to get worker going (reading settings, etc...)

    TEMPLATES.clear()
    run(host='0.0.0.0', port=48963, debug=True)

    print "Oops server crashed!!"

    while True:
        # dont want things to end - for now this stupidity
        time.sleep(10)
Example #7
0
def show_results_all_hr(master_id, slave_id):
    TEMPLATES.clear()
    master = APP.get_master(master_id)
    requests = APP._db.get_hr_requests_for_slave(master_id, slave_id)
    name = 'Slave {0} - Function {1}'.format(slave_id, 3)
    friendly_name = 'Slave {0} - Function {1} - All Registers'.format(slave_id, 3)
    url = "/modbus-read-all-hr/{0}/{1}".format(master_id, slave_id)
    all_results = {}
    try:
        for req in requests:
            i = int(req['address'])
            #print "%s, %s, %s"%(int(slave_id), int(req['address']), int(req['length']))
            results = master.modbus.execute(int(slave_id), int(3), int(req['address']), int(req['length']))
            for result in results:
                all_results[i] = {'result': result, 'register_hex': hex(i)}
                i += 1
        return template('templates/master_results_all_hr', results=all_results, url=url,
                name=name, master=master, friendly_name=friendly_name)
    except modbus.ModbusError, msg:
        return template('templates/modbus_error', msg=msg, name=name, url=url, master=master, friendly_name=friendly_name)
def MainPage():
    # Create a new guid for fun!
    guid = str(uuid.uuid1())
    TEMPLATES.clear()
    # Use mainpage.html as a template with the value GUID set to the guid.
    return template(ScriptDir + '/templates/mainpage.html', GUID=guid)
Example #9
0
def master_detail(id):
    TEMPLATES.clear()
    return template('templates/master_index', master=APP.get_master(id))
Example #10
0
def delete_master(id):
    TEMPLATES.clear()
    APP.delete_master(id)
    return redirect('/masters')
Example #11
0
def network():
    TEMPLATES.clear()
    return template('network', host=hostname)
Example #12
0
def master_list():
    TEMPLATES.clear()
    return template('templates/masters_list', masters=APP.get_masters())
def ErrorPage(ErrorNum, ErrorMessage):
    TEMPLATES.clear()
    return template(ScriptDir + '/templates/error.html',
                    ERROR=ErrorNum,
                    MESSAGE=ErrorMessage)
Example #14
0
def greet():
    TEMPLATES.clear()
    return template('index', host=hostname)
Example #15
0
def network():
    TEMPLATES.clear()
    return template('network',host=hostname)
Example #16
0
def clearCache():
    """
	Clear All html generated cached files from bottle.
	"""
    TEMPLATES.clear()
Example #17
0
def master_list():
    TEMPLATES.clear()
    return template('templates/masters_list', masters=APP.get_masters())
Example #18
0
def delete_master(id):
    TEMPLATES.clear()
    APP.delete_master(id)
    return redirect('/masters')
Example #19
0
def master_detail(id):
    TEMPLATES.clear()
    return template('templates/master_index', master=APP.get_master(id))
Example #20
0
def greet():
    TEMPLATES.clear()
    return template('index',host=hostname)
Example #21
0
def clearCache():
	"""
	Clear All html generated cached files from bottle.
	"""
	TEMPLATES.clear();