~didrocks/unity/altf10

« back to all changes in this revision

Viewing changes to grackle/store.py

  • Committer: Curtis Hovey
  • Date: 2012-02-29 23:55:28 UTC
  • Revision ID: curtis.hovey@canonical.com-20120229235528-7wphq02b2y9vt7ni
Implemented a partial put into the MemoryStore.

Show diffs side-by-side

added added

removed removed

Lines of Context:
36
36
    return threads.values()
37
37
 
38
38
 
 
39
def make_json_message(message_id, body='body', headers=None, hidden=False):
 
40
    if headers is None:
 
41
        headers = {}
 
42
    headers['Message-Id'] = message_id
 
43
    message = {
 
44
        'message_id': message_id,
 
45
        'headers': headers,
 
46
        'thread_id': message_id,
 
47
        'date': headers.get('date', '2005-01-01'),
 
48
        'subject': headers.get('subject', 'subject'),
 
49
        'author': headers.get('author', 'author'),
 
50
        'hidden': hidden,
 
51
        'attachments': [],
 
52
        'replies': headers.get('in-reply-to', None),
 
53
        'body': body,
 
54
        }
 
55
    return message
 
56
 
 
57
 
39
58
class MemoryStore:
40
59
    """A memory-backed message store."""
41
60
 
47
66
    def is_multipart(message):
48
67
        return isinstance(message['body'], list)
49
68
 
 
69
    def put_message(self, archive_id, message_id, message):
 
70
        # Make a json message.
 
71
        messages = self.message_archives[archive_id]
 
72
        json_message = make_json_message(message_id, body=message)
 
73
        messages.append(json_message)
 
74
 
50
75
    def get_messages(self, archive_id, query_string):
51
76
        """Return matching messages.
52
77