app: ensure largefile dirs are created on application startup.
This commit is contained in:
parent
6b2cf3a69b
commit
b42a7f0e20
2 changed files with 29 additions and 1 deletions
|
|
@ -54,7 +54,7 @@ from rhodecode.lib.plugins.utils import register_rhodecode_plugin
|
|||
from rhodecode.lib.utils2 import aslist as rhodecode_aslist
|
||||
from rhodecode.subscribers import (
|
||||
scan_repositories_if_enabled, write_metadata_if_needed,
|
||||
write_js_routes_if_enabled)
|
||||
write_js_routes_if_enabled, create_largeobjects_dirs_if_needed)
|
||||
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
|
@ -303,6 +303,7 @@ def includeme(config):
|
|||
settings['default_locale_name'] = settings.get('lang', 'en')
|
||||
|
||||
# Add subscribers.
|
||||
config.add_subscriber(create_largeobjects_dirs_if_needed, ApplicationCreated)
|
||||
config.add_subscriber(scan_repositories_if_enabled, ApplicationCreated)
|
||||
config.add_subscriber(write_metadata_if_needed, ApplicationCreated)
|
||||
config.add_subscriber(write_js_routes_if_enabled, ApplicationCreated)
|
||||
|
|
|
|||
|
|
@ -229,6 +229,33 @@ def write_js_routes_if_enabled(event):
|
|||
f.write(jsroutes_file_content)
|
||||
|
||||
|
||||
def create_largeobjects_dirs_if_needed(event):
|
||||
"""
|
||||
This is subscribed to the `pyramid.events.ApplicationCreated` event. It
|
||||
does a repository scan if enabled in the settings.
|
||||
"""
|
||||
from rhodecode.lib.utils import get_rhodecode_base_path
|
||||
from rhodecode.lib.vcs.backends.hg import largefiles_store
|
||||
from rhodecode.lib.vcs.backends.git import lfs_store
|
||||
|
||||
repo_store_path = get_rhodecode_base_path()
|
||||
|
||||
paths = [
|
||||
largefiles_store(repo_store_path),
|
||||
lfs_store(repo_store_path)]
|
||||
|
||||
for path in paths:
|
||||
if os.path.isdir(path):
|
||||
continue
|
||||
if os.path.isfile(path):
|
||||
continue
|
||||
# not a file nor dir, we try to create it
|
||||
try:
|
||||
os.makedirs(path)
|
||||
except Exception:
|
||||
log.warning('Failed to create largefiles dir:%s', path)
|
||||
|
||||
|
||||
class Subscriber(object):
|
||||
"""
|
||||
Base class for subscribers to the pyramid event system.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue