1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-06-04 06:54:39 -04:00

ScriptsAPI: fixed dump.py and config.py to match v7 requirements

This commit is contained in:
f4exb
2022-08-16 14:53:02 +02:00
parent 0a2fd88ffd
commit 2c3930680f
2 changed files with 38 additions and 87 deletions
+9 -33
View File
@@ -18,7 +18,6 @@ from optparse import OptionParser
base_url = "http://127.0.0.1:8091/sdrangel"
app_gui = False
nb_devicesets = 0
nb_featuresets = 0
requests_methods = {
"GET": requests.get,
@@ -35,7 +34,7 @@ def getInputOptions():
parser.add_option("-a", "--address", dest="address", help="Address and port. Default: 127.0.0.1:8091", metavar="ADDRESS", type="string")
parser.add_option("-j", "--json-file", dest="json_file", help="JSON file containing commands. Mandatory", metavar="FILE", type="string")
parser.add_option("-i", "--init", dest="initialize", help="Initialize instance before running script", action="store_true")
parser.add_option("-1", "--ignore-first-posts", dest="ignore_first_posts", help="Ignore first deviceset or featureset post in sequence", action="store_true")
parser.add_option("-1", "--ignore-first-posts", dest="ignore_first_posts", help="Ignore first deviceset post in sequence", action="store_true")
parser.add_option("-d", "--delay", dest="delay_ms", help="force delay after each command (ms)", metavar="TIME", type="int")
(options, args) = parser.parse_args()
@@ -49,40 +48,23 @@ def getInputOptions():
def get_instance_details():
global app_gui
global nb_devicesets
global nb_featuresets
r = requests_methods["GET"](url=base_url)
if r.status_code // 100 == 2:
app_gui = r.json()["appname"] == "SDRangel"
nb_devicesets = r.json()["devicesetlist"]["devicesetcount"]
nb_featuresets = r.json()["featuresetlist"]["featuresetcount"]
# ======================================================================
def initialize():
global nb_devicesets
global nb_featuresets
for i_ds in reversed(range(nb_devicesets)):
if app_gui and i_ds == 0:
r_ds = requests_methods["GET"](url=f"{base_url}/deviceset/0")
if r_ds.status_code // 100 == 2:
nb_channels = r_ds.json()["channelcount"]
for i_chan in reversed(range(nb_channels)):
requests_methods["DELETE"](url=f"{base_url}/deviceset/0/channel/{i_chan}")
else:
r_del = requests_methods["DELETE"](url=f"{base_url}/deviceset")
if r_del.status_code // 100 == 2:
nb_devicesets -= 1
for i_fs in reversed(range(nb_featuresets)):
if app_gui and i_fs == 0:
r_fs = requests_methods["GET"](url=f"{base_url}/featureset/0")
if r_fs.status_code // 100 == 2:
nb_features = r_fs.json()["featurecount"]
for i_feat in reversed(range(nb_features)):
requests_methods["DELETE"](url=f"{base_url}/featureset/0/feature/{i_feat}")
else:
r_del = requests_methods["DELETE"](url=f"{base_url}/featureset")
if r_del.status_code // 100 == 2:
nb_featuresets -= 1
r_del = requests_methods["DELETE"](url=f"{base_url}/deviceset")
if r_del.status_code // 100 == 2:
nb_devicesets -= 1
r_fs = requests_methods["GET"](url=f"{base_url}/featureset")
if r_fs.status_code // 100 == 2:
nb_features = r_fs.json()["featurecount"]
for i_feat in reversed(range(nb_features)):
requests_methods["DELETE"](url=f"{base_url}/featureset/feature/{i_feat}")
# ======================================================================
def main():
@@ -97,7 +79,6 @@ def main():
if options.initialize:
initialize()
nb_featureset_posts = 0
nb_deviceset_posts = 0
with open(options.json_file) as json_file:
@@ -113,11 +94,6 @@ def main():
if nb_deviceset_posts == 1 and options.ignore_first_posts:
print("First deviceset creation ignored")
continue
if endpoint == "/featureset" and http_method == "POST":
nb_featureset_posts += 1
if nb_featureset_posts == 1 and options.ignore_first_posts:
print("First featureset creation ignored")
continue
method = requests_methods.get(http_method, None) if http_method is not None else None
if method is not None:
request_params = command.get('params', None)