From 4dd2e14cd15ad2840cfc3636251802f8eb0bc9ba Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Sun, 14 Jul 2019 16:13:10 +0300 Subject: Change: get and use tokens --- ick2/trans.py | 40 +++++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 19 deletions(-) (limited to 'ick2/trans.py') diff --git a/ick2/trans.py b/ick2/trans.py index c5dc22f..20e38ed 100644 --- a/ick2/trans.py +++ b/ick2/trans.py @@ -19,12 +19,13 @@ import ick2 class TransactionalResource: - def __init__(self, state, kind, rid): + def __init__(self, token, state, kind, rid): + self.token = token self.state = state self.kind = kind self.rid = rid - if state.has_resource(kind, rid): - self.resource = state.get_resource(kind, rid) + if state.has_resource(self.token, kind, rid): + self.resource = state.get_resource(self.token, kind, rid) else: self.resource = ick2.resource_from_dict({}) @@ -43,7 +44,8 @@ class TransactionalResource: def __exit__(self, exc_type, value, traceback): if exc_type is None: - self.state.write_resource(self.kind, self.rid, self.resource) + self.state.write_resource( + self.token, self.kind, self.rid, self.resource) class TransactionalState: @@ -51,25 +53,25 @@ class TransactionalState: def __init__(self, state): self.state = state - def new(self, kind, rid): - return TransactionalResource(self.state, kind, rid) + def new(self, token, kind, rid): + return TransactionalResource(token, self.state, kind, rid) - def modify(self, kind, rid): - if not self.state.has_resource(kind, rid): + def modify(self, token, kind, rid): + if not self.state.has_resource(token, kind, rid): raise ick2.NotFound(kind=kind, rid=rid) - return TransactionalResource(self.state, kind, rid) + return TransactionalResource(token, self.state, kind, rid) - def get_resource_ids(self, kind): - return self.state.get_resource_ids(kind) + def get_resource_ids(self, token, kind): + return self.state.get_resource_ids(token, kind) - def has_resource(self, kind, rid): - return self.state.has_resource(kind, rid) + def has_resource(self, token, kind, rid): + return self.state.has_resource(token, kind, rid) - def get_resource(self, kind, rid): - return self.state.get_resource(kind, rid) + def get_resource(self, token, kind, rid): + return self.state.get_resource(token, kind, rid) - def get_resources(self, kind): - return self.state.get_resources(kind) + def get_resources(self, token, kind): + return self.state.get_resources(token, kind) - def remove_resource(self, kind, rid): - self.state.remove_resource(kind, rid) + def remove_resource(self, token, kind, rid): + self.state.remove_resource(token, kind, rid) -- cgit v1.2.1