Load/update/save an Explorer¶
This is an example python code that loads the contents of a
dballe.Explorer
from a JSON file, adds information from various BUFR
files, and saves is back to JSON:
#!/usr/bin/python3
import dballe
import os
import sys
with dballe.Explorer("data.json") as explorer:
with explorer.update() as updater:
# Import files listed on command line
importer = dballe.Importer("BUFR")
for fname in sys.argv[1:]:
print(f"Load {fname}…")
with importer.from_file(fname) as f:
updater.add_messages(f)
Remove the .json
extension to use an indexed on-disk database, if Xapian
support is available.
Create an explorer from a database¶
This is an example python code that creates a new dballe.Explorer
filled with the contents of a from a dballe.DB
, and saves is back to
JSON:
#!/usr/bin/python3
import dballe
import os
import sys
with dballe.Explorer("data.json") as explorer:
with explorer.update() as updater:
with db.transaction() as tr:
updater.add_db(tr)
Remove the .json
extension to use an indexed on-disk database, if Xapian
support is available.
Work with a subset of an Explorer¶
This an example that creates a new dballe.Explorer
with a selection of
the data of an existing one:
with dballe.Explorer() as e:
# …fill e…
e.set_filter(...)
e1 = dballe.Explorer()
with e1.update() as updater:
updater.add_explorer(e)
Merge data from multiple explorers¶
This is an example python code that creates a multiple dballe.Explorer
objects and merges them together into a new one:
#!/usr/bin/python3
import dballe
import os
import sys
with dballe.Explorer("data1.json") as explorer1:
# Data from data1.json is automatically loaded
with dballe.Explorer("data2.json") as explorer2:
# Data from data2.json is automatically loaded
with dballe.Explorer("new.json") as merged:
# new.json is automatically created
with merged.update() as updater:
updater.add_explorer(explorer1)
updater.add_explorer(explorer2)
Remove the .json
extension to use an indexed on-disk databases, if Xapian
support is available.