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}
Esempio n. 7
0
 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)
Esempio n. 10
0
 def do_use(self, args):
     self.db = EssentialDB(filepath=args.strip())
     print(self.db)