Created safeword_db_open() to handle opening the db connection and handle error checking; this reduces code throughout the commands.
Refactored add, ls, and tag commands to use safeword_db_open().
Implemented safeword_db_open() to check for file existence.
Implemented safeword to use return codes from command execute().
Fixed segfault bug in ls command dealing with freeing sql string.
Fixed bug in tag command where 0 was returned every time.
Added --delete and --force options to tag command; not implemented yet.
Initial implementation of --delete and --force options. User is prompted to delete each tag if --force option is not present.
Init will check for file existence in execute() and remove if --force option enabled.
Added 10 test credentials.
Added a base implmentation blackbox python script to handle populating a safeword db with test data.
Added query function to prompt user for yes/no reply.
Added safeword_db_exists function to check for a safeword database and query user to create it if it does not exist.
Added requires_safeword_db function to allow commands to require a database to exist.
Added help command.
Refactored safeword_db_file to be global and renamed to safeword_db.
Set SAFEWORD_DB env var if safeword_db exists.
Implemented populate to call safeword as a system command.
Added checks for JSON keys message, username, and password before creating commandline string.
blackbox.py populate will tag credentials if a tags key exists in JSON data.