##// END OF EJS Templates
shadow-repos: use safer way to destroy shadow repositories....
shadow-repos: use safer way to destroy shadow repositories. we had reported errors on removal of shadow repos. Not reproduced, however suspecting are filesystem sync/symlink race-conditions on shared storage. End result were existing shadow-repo directories that tricked rhodecode into thinking shadow repos is existing, but infact it was a dummy structure semi-removed. Using shutil.move we ENSURE rhodecode doesn't read those back even if removal fails.

File last commit:

r2487:fcee5614 default
r2777:f1cc2e3d default
Show More
interfaces.py
43 lines | 1.5 KiB | text/x-python | PythonLexer
# Copyright (C) 2016-2018 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/
from zope.interface import Attribute, Interface
class IUserRegistered(Interface):
"""
An event type that is emitted whenever a new user registers a user
account.
"""
user = Attribute('The user object.')
session = Attribute('The session while processing the register form post.')
class IUserPreCreate(Interface):
"""
An event type that is emitted before a new user object is created.
"""
user_data = Attribute('Data used to create the new user')
class IUserPreUpdate(Interface):
"""
An event type that is emitted before a user object is updated.
"""
user = Attribute('The not yet updated user object')
user_data = Attribute('Data used to update the user')