diff --git a/dsi/backends/sqlite.py b/dsi/backends/sqlite.py index 8c664aa6..1f0ceb36 100644 --- a/dsi/backends/sqlite.py +++ b/dsi/backends/sqlite.py @@ -186,7 +186,7 @@ def put_artifacts(self, collection, isVerbose=False): # Returns text list from query def get_artifacts(self, query, isVerbose=False, dict_return = False): - if query[:6].lower() == "select": + if query[:6].lower() == "select" or query[:6].lower() == "pragma" : try: data = self.cur.execute(query).fetchall() if isVerbose: @@ -194,7 +194,7 @@ def get_artifacts(self, query, isVerbose=False, dict_return = False): except: raise ValueError("Error in get_artifacts handler: Incorrect SELECT query on the data. Please try again") else: - raise ValueError("Error in get_artifacts handler: Can only run SELECT queries on the data") + raise ValueError("Error in get_artifacts handler: Can only run SELECT or PRAGMA queries on the data") if dict_return: query_cols = [description[0] for description in self.cur.description] diff --git a/examples/wildfire/wildfire_terminal.py b/examples/wildfire/wildfire_terminal.py new file mode 100644 index 00000000..cb90e0b4 --- /dev/null +++ b/examples/wildfire/wildfire_terminal.py @@ -0,0 +1,17 @@ +#Loading using plugins and backends +from dsi.core import Terminal + +'''Example access workflow once database has been generated''' + +a=Terminal(debug_flag=True) +a.load_module('backend','Sqlite','back-read', filename='wildfire.db') +a.transload() +cnames = a.artifact_handler(interaction_type='get', query = "PRAGMA table_info(wfdata);") +data = a.artifact_handler(interaction_type='get', query = "SELECT * FROM wfdata;")#, isVerbose = True) + +# a.artifact_handler(interaction_type="read") +clist = [i[1] for i in cnames] +dlist = list(data) +print(clist) +print(dlist) +# a.unload_module('backend', 'Sqlite', 'back-write')