============================== Creating or loading a database ============================== From a file ----------- Creating a new database is this simple:: db = BTEdb.Database("filename.json") This will create the file ``filename.json`` in the current working directory. If it already exists, it will be loaded. You don't need to specify a database to create an object, for example:: db = BTEdb.Database() db.OpenDatabase("filename.json") This allows you to recycle the same object when modifying different databases JsonDB also supports pretty-print. Specify any number of spaces for the database to use, for example:: db = BTEdb.Database("filename.json", 4) or:: db = BTEdb.Database() db.OpenDatabase("filename.json", 4) From an object -------------- This piece of code would also create a valid database:: class MyClass: def seek(self,position,mode): pass def truncate(self): return False def __init__(self): self.data = "" def write(self,data): self.data = data def flush(self): pass def read(self): return self.data def close(self): pass MyObject = MyClass() db = BTEdb.Database(MyObject) Any object with those functions is valid Destroying a database --------------------- Databases can be destroyed like so:: db.Destroy() This will save your data and safely close the file descriptor, then reset the object to a state as if you created the object but did not specify a filename. This allows you to reuse the same object to modify multiple databases Writing out ------------ BTEdb will automatically write out to a file after making any changes, but if you really like to be safe you can use this method:: db.Vacuum() This will force a write to the disk