def test_auto_sync(self): # test documents with ids already in place with EssentialDB(filepath=SYNC_DB_FILE).get_collection() as db: docs = self.docs db.insert_many(docs) with EssentialDB(filepath=SYNC_DB_FILE).get_collection() as db2: find = db2.find_one({"_id": docs[5]["_id"]}) self.assertEqual(find["_id"], docs[5]["_id"])
def test_sync_load(self): docs = self.docs db = EssentialDB(filepath=SYNC_DB_FILE).get_collection() db.insert_many(docs) db.sync() del (db) db2 = EssentialDB(filepath=SYNC_DB_FILE).get_collection() find = db2.find_one({"_id": docs[5]["_id"]}) self.assertEqual(find["_id"], docs[5]["_id"])
def _init_db(self): #first, see if already exists if not os.path.isfile(self.db_path): print("creating db...") from quotes import initial_quotes with EssentialDB(filepath=self.db_path) as db: db.set("quotes", initial_quotes)
async def weather(self, request): with EssentialDB(filepath=self.db_path) as db: weather = db.get("weather") do_update = False try: delta = datetime.datetime.now() - weather["updated"] if delta > datetime.timedelta( minutes=mm_config["weather"]["update_minutes"]): do_update = True except: # probably not an error - just no weather update yet. do_update = True pass if do_update: new_weather = weather_connector.get_weather() db.set("weather", new_weather) weather = new_weather return {'weather': weather}
def setUp(self): self.collection = EssentialDB().get_collection() generator = DocumentGenerator() def make_nested(): nested_gen = DocumentGenerator() nested_gen.set_template({"n0": 'word', "n1": 'word', "n2": 10}) return nested_gen.gen_doc() template = { "field 0": 'word', "field 1": 'word', "field 2": 'word', "number": 10, "nested": make_nested } generator.set_template(template) self.docs = generator.gen_docs(10)
async def quote(self, request): with EssentialDB(filepath=self.db_path) as db: quote = random.choice(db.get("quotes")) return {'quote': quote}
def __init__(self, filepath): self.db = EssentialDB(filepath=filepath) self.db.sync()
def test_with(self): with EssentialDB().adhoc as col: self.assertIsInstance(col, Collection)
def test_adhoc_collection(self): db = EssentialDB() col = db.adhoc self.assertIsInstance(col, Collection)
def do_use(self, args): self.db = EssentialDB(filepath=args.strip()) print(self.db)