add wizard for config of data gateway

This commit is contained in:
KF7EEL 2021-10-30 10:56:31 -07:00
parent 665ee6f1a7
commit 48e2d812b3
3 changed files with 149 additions and 7 deletions

View File

@ -1719,15 +1719,16 @@ class OBP(OPENBRIDGE):
_dtype_vseq = (_bits & 0xF) # data, 1=voice header, 2=voice terminator; voice, 0=burst A ... 5=burst F
_stream_id = _data[16:20]
print(int_id(_peer_id))
print(int_id(_rf_src))
print(int_id(_dst_id))
print((_dtype_vseq))
print(ahex(bptc_decode(_data)))
## print(int_id(_peer_id))
## print(int_id(_rf_src))
## print(int_id(_dst_id))
## print((_dtype_vseq))
## print(ahex(bptc_decode(_data)))
if _mode == b'MDAT' or _mode == b'DATA':
print('MDAT')
## self.dmrd_received(_peer_id, _rf_src, _dst_id, _seq, _slot, _call_type, _frame_type, _dtype_vseq, _stream_id, _data)
if _rf_src not in PACKET_MATCH:
PACKET_MATCH[_rf_src] = [_seq, time()]
if _seq == PACKET_MATCH[_rf_src][0] and time() - 1 < PACKET_MATCH[_rf_src][1]:
print('matched, dropping')
pass

View File

@ -937,6 +937,12 @@ def hbnet_web_service():
def gateway_help_page():
return render_template('data_gateway_help.html')
@app.route('/data_wizard/<add_server>')
@roles_required('Admin')
@login_required
def gateway_wiz_page(add_server):
return render_template('data_gateway_wizard.html', server = add_server)
@app.route('/generate_passphrase/pi-star', methods = ['GET'])
@login_required
def gen_pi_star():
@ -3939,9 +3945,15 @@ Name: <strong>''' + p.name + '''</strong>&nbsp; -&nbsp; Port: <strong>''' + str(
db.session.delete(dr)
db.session.commit()
def add_data_options(_name, _options):
print(_name)
s = ServerList.query.filter_by(name=_name).first()
s.other_options = _options
db.session.commit()
def server_edit(_name, _secret, _ip, _global_path, _global_ping_time, _global_max_missed, _global_use_acl, _global_reg_acl, _global_sub_acl, _global_tg1_acl, _global_tg2_acl, _ai_subscriber_file, _ai_try_download, _ai_path, _ai_peer_file, _ai_tgid_file, _ai_peer_url, _ai_subs_url, _ai_stale, _um_shorten_passphrase, _um_burn_file, _report_enable, _report_interval, _report_port, _report_clients, _unit_time, _notes, _dash_url, _public_notes, _other_options):
print(_public_notes)
## print(_public_notes)
s = ServerList.query.filter_by(name=_name).first()
# print(_name)
if _secret == '':
@ -4426,6 +4438,17 @@ Name: <strong>''' + p.name + '''</strong>&nbsp; -&nbsp; Port: <strong>''' + str(
content = '''<h3 style="text-align: center;">Server deleted.</h3>
<p style="text-align: center;">Redirecting in 3 seconds.</p>
<meta http-equiv="refresh" content="3; URL=manage_servers" />'''
elif request.args.get('add_data_options'):
## s = ServerList.query.filter_by(name=request.args.get('add_data_options')).first()
print(request.form)
print(request.form.get('user_settings'))
add_data_options(request.args.get('add_data_options'), 'DATA_GATEWAY:data_id=' + request.form.get('data_id') + ':call_type=' + request.form.get('call_type') + ':aprs_login_call=' + request.form.get('aprs_login_call') + ':aprs_login_passcode=' + request.form.get('aprs_login_passcode') + ':aprs_server=' + request.form.get('aprs_server') + ':aprs_port=' + request.form.get('aprs_port') + ':default_ssid=' + request.form.get('default_ssid') + ':default_comment=' + request.form.get('default_comment') + ':aprs_filter=' + request.form.get('aprs_filter') + ':user_settings=' + request.form.get('user_settings') + ':igate_time=' + request.form.get('igate_time') + ':igate_icon=' + request.form.get('igate_icon') + ':igate_comment=' + request.form.get('igate_comment') + ':igate_lat=' + request.form.get('igate_lat') + ':igate_lon=' + request.form.get('igate_lon') + '')
content = '''<h3 style="text-align: center;">Added data gateway options.</h3>
<p style="text-align: center;">Redirecting in 3 seconds.</p>
<meta http-equiv="refresh" content="3; URL=manage_servers" />'''
elif request.args.get('edit_server'):
s = ServerList.query.filter_by(name=request.args.get('edit_server')).first()
@ -4436,6 +4459,9 @@ Name: <strong>''' + p.name + '''</strong>&nbsp; -&nbsp; Port: <strong>''' + str(
<p style="text-align: center;"><strong><a href="/import_rules/''' + str(s.name) + '''">Import Rules</a></strong></p>
<p style="text-align: center;"><strong><a href="/data_wizard/''' + str(s.name) + '''">Add options for Data Gateway</a></strong></p>
<form action="manage_servers?save_mode=edit&server=''' + str(s.name) + '''" method="post">
<p style="text-align: center;">&nbsp;</p>
<h3 style="text-align: center;"><strong>Server<br /></strong></h3>

View File

@ -0,0 +1,115 @@
{% extends 'flask_user/_public_base.html' %}
{% block content %}
<h1 style="text-align: center;">Add Data Gatweay Options</h1>
<br />
<strong>Note: </strong> Setting the APRS Login Call to <strong>N0CALL</strong> will disable APRS features. You will still be able to see station positions on the map though.
<br />
<br />
<div class="card">
<div class="card-header">Add Options</div>
<div class="card-body">
<form action="/manage_servers?add_data_options={{server}}" method="post">
<div class="input-group mb-3">
<span class="input-group-text" id="basic-addon1">Data ID(s)</span>
<input type="text" id="data_id" name="data_id" class="form-control" aria-describedby="basic-addon1" value="9099, 9098">
</div>
<select class="form-select" aria-label="Call Type" name="call_type" id="call_type">
<option value="both" selected>Call Type - Both</option>
<option value="unit">Unit</option>
<option value="group">Group</option>
</select>
<br />
<br />
<div class="input-group mb-3">
<span class="input-group-text" id="basic-addon1">APRS Login Call</span>
<input type="text" id="aprs_login_call" name="aprs_login_call" class="form-control" aria-describedby="basic-addon1" value="N0CALL">
</div>
<div class="input-group mb-3">
<span class="input-group-text" id="basic-addon1">APRS Passcode</span>
<input type="text" id="aprs_login_passcode" name="aprs_login_passcode" class="form-control" aria-describedby="basic-addon1" value="123456">
</div>
<div class="input-group mb-3">
<span class="input-group-text" id="basic-addon1">APRS Server</span>
<input type="text" id="aprs_server" name="aprs_server" class="form-control" aria-describedby="basic-addon1" value="aprs.hbnet.xyz">
</div>
<div class="input-group mb-3">
<span class="input-group-text" id="basic-addon1">APRS Port</span>
<input type="text" id="aprs_port" name="aprs_port" class="form-control" aria-describedby="basic-addon1" value="14580">
</div>
<div class="input-group mb-3">
<span class="input-group-text" id="basic-addon1">APRS Filter</span>
<input type="text" id="aprs_filter" name="aprs_filter" class="form-control" aria-describedby="basic-addon1" value="t/m r/100">
</div>
<div class="input-group mb-3">
<span class="input-group-text" id="basic-addon1">Default SSID</span>
<input type="text" id="default_ssid" name="default_ssid" class="form-control" aria-describedby="basic-addon1" value="15">
</div>
<div class="input-group mb-3">
<span class="input-group-text" id="basic-addon1">Default Comment</span>
<input type="text" id="default_comment" name="default_comment" class="form-control" aria-describedby="basic-addon1" value="HBNet APRS Gateway - ">
</div>
<div class="input-group mb-3">
<span class="input-group-text" id="basic-addon1">User Settings File</span>
<input type="text" id="user_settings" name="user_settings" class="form-control" aria-describedby="basic-addon1" value="./user_settings.txt">
</div>
<br />
<br />
<div class="input-group mb-3">
<span class="input-group-text" id="basic-addon1">iGate Comment</span>
<input type="text" id="igate_comment" name="igate_comment" class="form-control" aria-describedby="basic-addon1" value="HBNet APRS Gateway">
</div>
<div class="input-group mb-3">
<span class="input-group-text" id="basic-addon1">iGate Time</span>
<input type="text" id="igate_time" name="igate_time" class="form-control" aria-describedby="basic-addon1" value="30">
</div>
<div class="input-group mb-3">
<span class="input-group-text" id="basic-addon1">iGate Icon</span>
<input type="text" id="igate_icon" name="igate_icon" class="form-control" aria-describedby="basic-addon1" value="/I">
</div>
<div class="input-group mb-3">
<span class="input-group-text" id="basic-addon1">iGate Latitude</span>
<input type="text" id="igate_lat" name="igate_lat" class="form-control" aria-describedby="basic-addon1" value="0000.00N">
</div>
<div class="input-group mb-3">
<span class="input-group-text" id="basic-addon1">iGate Longitude</span>
<input type="text" id="igate_lon" name="igate_lon" class="form-control" aria-describedby="basic-addon1" value="00000.00W">
</div>
<br />
<p style="text-align: center;"><input class="btn btn-primary" type="submit" value="Save" /></form></p>
</div>
<div class="card-footer"></div>
</div>
{% endblock %}