config: Move initial repo scan up to the pyramid layer.
It is now subscribed to the ApplicationCreated event from pyramid.
This commit is contained in:
parent
8d70188a1f
commit
9cf62f5f92
3 changed files with 20 additions and 3 deletions
|
|
@ -165,9 +165,6 @@ def load_environment(global_conf, app_conf, initial=False,
|
|||
if vcs_server_enabled:
|
||||
connect_vcs(vcs_server_uri, utils.get_vcs_server_protocol(config))
|
||||
|
||||
import_on_startup = str2bool(config.get('startup.import_repos', False))
|
||||
if vcs_server_enabled and import_on_startup:
|
||||
repo2db_mapper(ScmModel().repo_scan(repos_path), remove_obsolete=False)
|
||||
return config
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@ from pyramid.settings import asbool, aslist
|
|||
from pyramid.wsgi import wsgiapp
|
||||
from pyramid.httpexceptions import HTTPError, HTTPInternalServerError
|
||||
from pylons.controllers.util import abort, redirect
|
||||
from pyramid.events import ApplicationCreated
|
||||
import pyramid.httpexceptions as httpexceptions
|
||||
from pyramid.renderers import render_to_response, render
|
||||
from routes.middleware import RoutesMiddleware
|
||||
|
|
@ -51,6 +52,7 @@ from rhodecode.lib.middleware.disable_vcs import DisableVCSPagesWrapper
|
|||
from rhodecode.lib.middleware.https_fixup import HttpsFixup
|
||||
from rhodecode.lib.middleware.vcs import VCSMiddleware
|
||||
from rhodecode.lib.plugins.utils import register_rhodecode_plugin
|
||||
from rhodecode.subscribers import scan_repositories_if_enabled
|
||||
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
|
@ -257,6 +259,9 @@ def includeme(config):
|
|||
config.add_route(
|
||||
'rhodecode_support', 'https://rhodecode.com/help/', static=True)
|
||||
|
||||
# Add subscribers.
|
||||
config.add_subscriber(scan_repositories_if_enabled, ApplicationCreated)
|
||||
|
||||
# Set the authorization policy.
|
||||
authz_policy = ACLAuthorizationPolicy()
|
||||
config.set_authorization_policy(authz_policy)
|
||||
|
|
|
|||
|
|
@ -53,3 +53,18 @@ def add_localizer(event):
|
|||
|
||||
request.localizer = localizer
|
||||
request.translate = auto_translate
|
||||
|
||||
|
||||
def scan_repositories_if_enabled(event):
|
||||
"""
|
||||
This is subscribed to the `pyramid.events.ApplicationCreated` event. It
|
||||
does a repository scan if enabled in the settings.
|
||||
"""
|
||||
from rhodecode.model.scm import ScmModel
|
||||
from rhodecode.lib.utils import repo2db_mapper, get_rhodecode_base_path
|
||||
settings = event.app.registry.settings
|
||||
vcs_server_enabled = settings['vcs.server.enable']
|
||||
import_on_startup = settings['startup.import_repos']
|
||||
if vcs_server_enabled and import_on_startup:
|
||||
repositories = ScmModel().repo_scan(get_rhodecode_base_path())
|
||||
repo2db_mapper(repositories, remove_obsolete=False)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue