summaryrefslogtreecommitdiffstats
path: root/lib/mongo.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/mongo.py')
-rw-r--r--lib/mongo.py14
1 files changed, 13 insertions, 1 deletions
diff --git a/lib/mongo.py b/lib/mongo.py
index 0c4c71e..275f740 100644
--- a/lib/mongo.py
+++ b/lib/mongo.py
@@ -7,6 +7,7 @@ from datetime import datetime
connection = pymongo.Connection('localhost', 27017)
+
def _build_thread(emails):
thread = {}
for email in emails:
@@ -30,6 +31,7 @@ def _build_thread(emails):
{'email': None, 'child': [email['Message-ID']]})
return thread
+
def _tree_to_list(tree, mailid, level, thread_list):
start = tree[mailid]
start.level = level
@@ -40,6 +42,7 @@ def _tree_to_list(tree, mailid, level, thread_list):
level + 1, thread_list)
return thread_list
+
def get_thread_list(table, threadid):
db = connection[table]
thread = list(db.mails.find({'ThreadID': int(threadid)},
@@ -53,6 +56,7 @@ def get_thread_list(table, threadid):
else:
return []
+
def get_thread_name(table, threadid):
db = connection[table]
thread = list(db.mails.find({'ThreadID': int(threadid)},
@@ -62,6 +66,14 @@ def get_thread_name(table, threadid):
else:
return ''
+
+def get_email(table, emailid):
+ db = connection[table]
+ db.mails.create_index('Message-ID')
+ db.mails.ensure_index('Message-ID')
+ return db.mails.find_one({'Message-ID': emailid})
+
+
def get_emails_thread(table, start_email, thread):
db = connection[table]
db.mails.create_index('Date')
@@ -154,4 +166,4 @@ def search_archives(table, query):
db.mails.ensure_index(str(el))
return list(db.mails.find(query, sort=[('Date',
pymongo.DESCENDING)]))
-
+