from data.database import db, db_transaction class DataModelException(Exception): pass class BlobDoesNotExist(DataModelException): pass class TorrentInfoDoesNotExist(DataModelException): pass class InvalidBlobUpload(DataModelException): pass class InvalidEmailAddressException(DataModelException): pass class InvalidOrganizationException(DataModelException): pass class InvalidPasswordException(DataModelException): pass class InvalidRobotException(DataModelException): pass class InvalidUsernameException(DataModelException): pass class TooManyUsersException(DataModelException): pass class InvalidRepositoryBuildException(DataModelException): pass class InvalidBuildTriggerException(DataModelException): pass class InvalidTokenException(DataModelException): pass class InvalidNotificationException(DataModelException): pass class InvalidImageException(DataModelException): pass class UserAlreadyInTeam(DataModelException): pass class InvalidTeamException(DataModelException): pass class InvalidTeamMemberException(DataModelException): pass class InvalidManifestException(DataModelException): pass class ServiceKeyDoesNotExist(DataModelException): pass class ServiceKeyAlreadyApproved(DataModelException): pass class TooManyLoginAttemptsException(Exception): def __init__(self, message, retry_after): super(TooManyLoginAttemptsException, self).__init__(message) self.retry_after = retry_after class Config(object): def __init__(self): self.app_config = None self.store = None config = Config() # There MUST NOT be any circular dependencies between these subsections. If there are fix it by # moving the minimal number of things to _basequery # TODO document the methods and modules for each one of the submodules below. from data.model import (blob, build, image, log, notification, oauth, organization, permission, repository, storage, tag, team, token, user, release, modelutil)