summaryrefslogtreecommitdiff
path: root/alot/db.py
diff options
context:
space:
mode:
Diffstat (limited to 'alot/db.py')
-rw-r--r--alot/db.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/alot/db.py b/alot/db.py
new file mode 100644
index 00000000..41aa95d9
--- /dev/null
+++ b/alot/db.py
@@ -0,0 +1,29 @@
+from notmuch import Database
+
+
+class DBManager():
+ def __init__(self, path=None, ro=False):
+ self.ro = ro
+ self.path = path
+
+ def count_messages(self, querystring):
+ q = self.query(querystring)
+ return q.count_messages()
+
+ def search_threads(self, querystring):
+ q = self.query(querystring)
+ return q.search_threads()
+
+ def query(self, querystring):
+ mode = Database.MODE.READ_ONLY
+ db = Database(path=self.path, mode=mode)
+ return db.create_query(querystring)
+
+ def update(self, updatestring):
+ if self.ro:
+ self.logger.error('I\'m in RO mode')
+ else:
+ self.logger.error('DB updates not implemented yet')
+ mode = Database.MODE.READ_WRITE
+ db = Database(path=self.path, mode=mode)
+ return None # do stuff