__init__.py
104 lines
| 3.1 KiB
| text/x-python
|
PythonLexer
/ rhodecode / __init__.py
r5608 | # Copyright (C) 2010-2024 RhodeCode GmbH | |||
r1 | # | |||
# 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 | ||||
r4949 | import datetime | |||
r4998 | import collections | |||
r5228 | import logging | |||
r4321 | ||||
r5086 | now = datetime.datetime.now() | |||
r5095 | now = now.strftime("%Y-%m-%d %H:%M:%S") + '.' + f"{int(now.microsecond/1000):03d}" | |||
r4949 | ||||
r5228 | log = logging.getLogger(__name__) | |||
log.debug(f'{now} Starting RhodeCode imports...') | ||||
r1 | ||||
VERSION = tuple(open(os.path.join( | ||||
r5566 | os.path.dirname(__file__), 'VERSION')).read().strip().split('.')) | |||
r1 | ||||
r4998 | BACKENDS = collections.OrderedDict() | |||
r4321 | ||||
BACKENDS['hg'] = 'Mercurial repository' | ||||
BACKENDS['git'] = 'Git repository' | ||||
BACKENDS['svn'] = 'Subversion repository' | ||||
r1 | ||||
CELERY_ENABLED = False | ||||
CELERY_EAGER = False | ||||
r2358 | # link to config for pyramid | |||
r1 | CONFIG = {} | |||
r5647 | class NotGivenMeta: | |||
def __repr__(self): | ||||
return 'NotGivenObject()' | ||||
__str__ = __repr__ | ||||
NotGiven = NotGivenMeta() | ||||
r5086 | ||||
class ConfigGet: | ||||
r5647 | @classmethod | |||
def _get_val_or_missing(cls, key, missing): | ||||
r5086 | if key not in CONFIG: | |||
r5647 | if missing != NotGiven: | |||
r5086 | return missing | |||
# we don't get key, we don't get missing value, return nothing similar as config.get(key) | ||||
return None | ||||
else: | ||||
val = CONFIG[key] | ||||
return val | ||||
def get_str(self, key, missing=NotGiven): | ||||
from rhodecode.lib.str_utils import safe_str | ||||
val = self._get_val_or_missing(key, missing) | ||||
return safe_str(val) | ||||
def get_int(self, key, missing=NotGiven): | ||||
from rhodecode.lib.str_utils import safe_int | ||||
val = self._get_val_or_missing(key, missing) | ||||
return safe_int(val) | ||||
def get_bool(self, key, missing=NotGiven): | ||||
from rhodecode.lib.type_utils import str2bool | ||||
val = self._get_val_or_missing(key, missing) | ||||
return str2bool(val) | ||||
r5647 | def get_list(self, key, missing=NotGiven): | |||
from rhodecode.lib.type_utils import aslist | ||||
val = self._get_val_or_missing(key, missing) | ||||
return aslist(val, sep=',') | ||||
Martin Bornhold
|
r626 | # Populated with the settings dictionary from application init in | ||
# rhodecode.conf.environment.load_pyramid_environment | ||||
PYRAMID_SETTINGS = {} | ||||
r1 | # Linked module for extensions | |||
EXTENSIONS = {} | ||||
__version__ = ('.'.join((str(each) for each in VERSION[:3]))) | ||||
r5458 | __dbversion__ = 115 # defines current db version for migrations | |||
r1 | __license__ = 'AGPLv3, and Commercial License' | |||
__author__ = 'RhodeCode GmbH' | ||||
r1233 | __url__ = 'https://code.rhodecode.com' | |||
r1 | ||||
r5351 | is_test = os.getenv('RC_TEST', '0') == '1' | |||
r736 | disable_error_handler = False | |||