Source code for eprc.database

import redis
import json

import utils


[docs]class Database(object): def __init__(self, host, port, db): self.redis = redis.StrictRedis(host=host, port=port, db=db) @staticmethod
[docs] def name_version_to_key(name, version): return "{}:{}".format(utils.normalize(name), utils.normalize(version))
[docs] def set(self, name, version, data): self.redis.set( self.name_version_to_key(name, version), json.dumps(data) )
[docs] def get(self, name, version): string = self.redis.get(self.name_version_to_key(name, version)) if string: return json.loads(string) else: return None
[docs] def all_versions(self, name): return [ key.split(":")[1] for key in self.redis.keys("{}:*".format(utils.normalize(name))) ]