Oops -- NOW adding the new jsonrpclib/ files (jsonclass, config, history, __init__)
[invirt/packages/python-jsonrpclib.git] / jsonrpclib / history.py
1
2 class History(object):
3     """
4     This holds all the response and request objects for a
5     session. A server using this should call "clear" after
6     each request cycle in order to keep it from clogging 
7     memory.
8     """
9     requests = []
10     responses = []
11
12     def add_response(self, response_obj):
13         self.responses.append(response_obj)
14     
15     def add_request(self, request_obj):
16         self.requests.append(request_obj)
17
18     @property
19     def request(self):
20         if len(self.requests) == 0:
21             return None
22         else:
23             return self.requests[-1]
24
25     @property
26     def response(self):
27         if len(self.responses) == 0:
28             return None
29         else:
30             return self.responses[-1]
31
32     def clear(self):
33         del self.requests[:]
34         del self.responses[:]
35
36 history = History()