Show More
@@ -6,18 +6,18 b' import logging' | |||
|
6 | 6 | from mako.lookup import TemplateLookup |
|
7 | 7 | from pylons.configuration import PylonsConfig |
|
8 | 8 | from pylons.error import handle_mako_error |
|
9 | from sqlalchemy import engine_from_config | |
|
10 | 9 | |
|
11 | 10 | import rhodecode.lib.app_globals as app_globals |
|
12 | 11 | import rhodecode.lib.helpers |
|
13 | 12 | |
|
14 | 13 | from rhodecode.config.routing import make_map |
|
15 | 14 | from rhodecode.lib import celerypylons |
|
15 | from rhodecode.lib import engine_from_config | |
|
16 | from rhodecode.lib.timerproxy import TimerProxy | |
|
16 | 17 | from rhodecode.lib.auth import set_available_permissions |
|
17 | 18 | from rhodecode.lib.utils import repo2db_mapper, make_ui, set_rhodecode_config |
|
18 | 19 | from rhodecode.model import init_model |
|
19 | 20 | from rhodecode.model.scm import ScmModel |
|
20 | from rhodecode.lib.timerproxy import TimerProxy | |
|
21 | 21 | |
|
22 | 22 | log = logging.getLogger(__name__) |
|
23 | 23 |
@@ -79,3 +79,22 b" def safe_unicode(_str, from_encoding='ut" | |||
|
79 | 79 | u_str = unicode(_str, from_encoding, 'replace') |
|
80 | 80 | |
|
81 | 81 | return u_str |
|
82 | ||
|
83 | ||
|
84 | def engine_from_config(configuration, prefix='sqlalchemy.', **kwargs): | |
|
85 | """ | |
|
86 | Custom engine_from_config functions that makes sure we use NullPool for | |
|
87 | file based sqlite databases. This prevents errors on sqlite. | |
|
88 | ||
|
89 | """ | |
|
90 | from sqlalchemy import engine_from_config as efc | |
|
91 | from sqlalchemy.pool import NullPool | |
|
92 | ||
|
93 | url = configuration[prefix + 'url'] | |
|
94 | ||
|
95 | if url.startswith('sqlite'): | |
|
96 | kwargs.update({'poolclass':NullPool}) | |
|
97 | ||
|
98 | return efc(configuration, prefix, **kwargs) | |
|
99 | ||
|
100 |
General Comments 0
You need to be logged in to leave comments.
Login now