summaryrefslogtreecommitdiff
path: root/src/mailman/database/sqlite.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/mailman/database/sqlite.py')
-rw-r--r--src/mailman/database/sqlite.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/mailman/database/sqlite.py b/src/mailman/database/sqlite.py
index 30c4959b7..a68dc1eea 100644
--- a/src/mailman/database/sqlite.py
+++ b/src/mailman/database/sqlite.py
@@ -25,7 +25,10 @@ __all__ = [
]
+import os
+
from pkg_resources import resource_string
+from urlparse import urlparse
from mailman.database.base import StormBaseDatabase
@@ -41,6 +44,16 @@ class SQLiteDatabase(StormBaseDatabase):
store.execute(table_query))
return 'version' in table_names
+ def _prepare(self, url):
+ parts = urlparse(url)
+ assert parts.scheme == 'sqlite', (
+ 'Database url mismatch (expected sqlite prefix): {0}'.format(url))
+ path = os.path.normpath(parts.path)
+ fd = os.open(path, os.O_WRONLY | os.O_NONBLOCK | os.O_CREAT, 0666)
+ # Ignore errors
+ if fd > 0:
+ os.close(fd)
+
def _get_schema(self):
"""See `BaseDatabase`."""
return resource_string('mailman.database.sql', 'sqlite.sql')