From 65636d5968e938dbcb21e89644577f9d1fed54e4 Mon Sep 17 00:00:00 2001 From: Timo Date: Sat, 21 Feb 2015 16:30:03 +0100 Subject: first commit --- snapdb.py | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100755 snapdb.py (limited to 'snapdb.py') diff --git a/snapdb.py b/snapdb.py new file mode 100755 index 0000000..8bdb2ff --- /dev/null +++ b/snapdb.py @@ -0,0 +1,34 @@ +#!/usr/bin/env python3 + +from mongodict import MongoDict +from blockext import * +from config import config + +class Storage: + def __init__(self): + self.db = MongoDict( + host=config["host"], port=config["port"], + database=config["database"], collection=config["collection"], + auth=(config["username"], config["password"])) + + @predicate("%s from the database") + def get(self, key): + if key in self.db: + return self.db[key] + else: + return "" + + @command("%s as %s into the database") + def put(self, value, key): + self.db[key] = value + +descriptor = Descriptor( + name = "SnapDB", + port = config["localport"], + blocks = get_decorated_blocks_from_class(Storage) +) + +extension = Extension(Storage, descriptor) + +if __name__ == "__main__": + extension.run_forever(debug=True) -- cgit v1.3.1