##// END OF EJS Templates
merged default branch into stable
merged default branch into stable

File last commit:

r5095:aa627a5f default
r5342:5c131067 merge stable
Show More
registry.py
36 lines | 1.3 KiB | text/x-python | PythonLexer
copyrights: updated for 2023
r5088 # Copyright (C) 2012-2023 RhodeCode GmbH
dan
integrations: add integration support...
r411 #
# 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 logging
integrations: expose EE integrations as dummy objects to show...
r2138 import collections
dan
integrations: add integration support...
r411
Martin Bornhold
logging: Use __name__ when requesting a logger
r504 log = logging.getLogger(__name__)
dan
integrations: add integration support...
r411
integrations: expose EE integrations as dummy objects to show...
r2138 class IntegrationTypeRegistry(collections.OrderedDict):
dan
integrations: add integration support...
r411 """
Registry Class to hold IntegrationTypes
"""
def register_integration_type(self, IntegrationType):
key = IntegrationType.key
if key in self:
integrations: reduce logging on override integration from warn to debug.
r2476 log.debug(
logging: use lazy parameter evaluation in log calls.
r3061 'Overriding existing integration type %s (%s) with %s',
core: change from homebrew plugin system into pyramid machinery....
r3240 self[key].__class__, key, IntegrationType)
dan
integrations: add integration support...
r411
self[key] = IntegrationType