1 # GNU MediaGoblin -- federated, autonomous media hosting
2 # Copyright (C) 2011 Free Software Foundation, Inc
4 # This program is free software: you can redistribute it and/or modify
5 # it under the terms of the GNU Affero General Public License as published by
6 # the Free Software Foundation, either version 3 of the License, or
7 # (at your option) any later version.
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU Affero General Public License for more details.
14 # You should have received a copy of the GNU Affero General Public License
15 # along with this program. If not, see <http://www.gnu.org/licenses/>.
18 from paste
.deploy
.converters
import asint
19 from mediagoblin
.db
import models
22 def connect_database_from_config(app_config
):
23 """Connect to the main database, take config from app_config"""
24 port
= app_config
.get('db_port')
27 connection
= mongokit
.Connection(
28 app_config
.get('db_host'), port
)
31 def setup_connection_and_db_from_config(app_config
):
32 connection
= connect_database_from_config(app_config
)
33 database_path
= app_config
.get('db_name', 'mediagoblin')
34 db
= connection
[database_path
]
35 models
.register_models(connection
)
36 # Could configure indexes here on db
37 return (connection
, db
)