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 ServiceNameInvalid(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, service_keys, storage, tag, team, token, user, release, modelutil)