diff options
Diffstat (limited to 'src/mailman/database/sqlite.py')
| -rw-r--r-- | src/mailman/database/sqlite.py | 13 |
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') |
