##// END OF EJS Templates
fix: lfs chunked uploads....
fix: lfs chunked uploads. When testing large file uploads it's found that gunicorn raises NoMoreData instead of returning value. This fixes the problem and doesn't show excesive exceptions for no reason. Previously file upload still worked but spawned errors in logs

File last commit:

r1261:0f8db01d default
r1280:b2259b07 default
Show More
config_utils.py
58 lines | 1.9 KiB | text/x-python | PythonLexer
# Copyright (C) 2010-2023 RhodeCode GmbH
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License, version 3
# (only), as published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# This program is dual-licensed. If you wish to learn more about the
# RhodeCode Enterprise Edition, including its added features, Support services,
# and proprietary license terms, please see https://rhodecode.com/licenses/
import os
import vcsserver
import vcsserver.settings
def get_config(ini_path, **kwargs):
import configparser
parser = configparser.ConfigParser(**kwargs)
parser.read(ini_path)
return parser
def get_app_config_lightweight(ini_path):
parser = get_config(ini_path)
parser.set('app:main', 'here', os.getcwd())
parser.set('app:main', '__file__', ini_path)
return dict(parser.items('app:main'))
def get_app_config(ini_path):
"""
This loads the app context and provides a heavy type iniliaziation of config
"""
from paste.deploy.loadwsgi import appconfig
return appconfig(f'config:{ini_path}', relative_to=os.getcwd())
def configure_and_store_settings(global_config, app_settings):
"""
Configure the settings module.
"""
settings_merged = global_config.copy()
settings_merged.update(app_settings)
binary_dir = app_settings['core.binary_dir']
vcsserver.settings.BINARY_DIR = binary_dir
# Store the settings to make them available to other modules.
vcsserver.PYRAMID_SETTINGS = settings_merged
vcsserver.CONFIG = settings_merged