def get(cls, ip): if not db.sismember("ips", ip): raise NotFound("IP address %s not registered" % ip) db_values = db.get("ip:%s" % ip) if not db_values: raise NotFound("IP address %s not registered" % ip) ip_info = json.loads(db_values) return cls(ip=ip, created=ip_info["created"])
def add(cls, ip): created = "%s" % now() new_ip = cls(ip=ip, created=created) if db.sismember("ips", ip): raise BadRequest("IP address %s already registered" % ip) db.sadd("ips", ip) db.set("ip:%s" % ip, json.dumps({"created": created})) return new_ip