[ SEA-GHOST MINI SHELL]
#!/usr/bin/python -tt
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# 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 Library General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Copyright 2004 Duke University
"""
Exceptions and Errors thrown by yum.
"""
from i18n import to_unicode, to_utf8
class YumBaseError(Exception):
"""
Base Yum Error. All other Errors thrown by yum should inherit from
this.
"""
def __init__(self, value=None):
Exception.__init__(self)
self.value = value
def __str__(self):
return "%s" % to_utf8(self.value)
def __unicode__(self):
return '%s' % to_unicode(self.value)
class YumGPGCheckError(YumBaseError):
pass
class YumDownloadError(YumBaseError):
pass
class YumTestTransactionError(YumBaseError):
pass
class YumRPMCheckError(YumBaseError):
pass
class YumRPMTransError(YumBaseError):
""" This class means rpm's .ts.run() returned known errors. We are compat.
with YumBaseError in that we print nicely, and compat. with traditional
usage of this error from runTransaction(). """
def __init__(self, msg, errors):
self.msg = msg
self.errors = errors
# old YumBaseError raises from runTransaction used to raise just this
self.value = self.errors
def __str__(self):
return "%s" %(self.msg,)
def __unicode__(self):
return '%s' % to_unicode(self.msg)
class LockError(YumBaseError):
def __init__(self, errno, msg, pid=0):
YumBaseError.__init__(self, msg)
self.errno = errno
self.msg = msg
self.pid = pid
class DepError(YumBaseError):
pass
class RepoError(YumBaseError):
pass
class DuplicateRepoError(RepoError):
pass
# Have our own custom .value with all the mirror errors.
class NoMoreMirrorsRepoError(RepoError):
def __init__(self, value=None, errors=None):
Exception.__init__(self)
self._value = value
self.errors = errors
@property
def value(self):
ret = self._value
for url, msg in self.errors or []:
ret += '\n%s: %s' % (url, msg)
return ret
class ConfigError(YumBaseError):
pass
class MiscError(YumBaseError):
pass
class FIPSNonCompliantError(MiscError):
def __init__(self, sumtype):
MiscError.__init__(
self, '%s algorithm is not FIPS compliant' % sumtype)
class GroupsError(YumBaseError):
pass
class InstallError(YumBaseError):
pass
class GroupInstallError(InstallError):
pass
class UpdateError(YumBaseError):
pass
class UpdateMissingNameError(UpdateError):
pass
class RemoveError(YumBaseError):
pass
class ReinstallError(YumBaseError):
pass
class ReinstallRemoveError(ReinstallError):
pass
class ReinstallInstallError(ReinstallError):
def __init__(self, value=None, failed_pkgs=[]):
ReinstallError.__init__(self, value)
self.failed_pkgs = failed_pkgs
class DowngradeError(YumBaseError):
pass
class RepoMDError(YumBaseError):
pass
class PackageSackError(YumBaseError):
pass
class RpmDBError(YumBaseError):
pass
class CompsException(YumBaseError):
pass
class MediaError(YumBaseError):
pass
class PkgTagsError(YumBaseError):
pass
class YumDeprecationWarning(DeprecationWarning):
"""
Used to mark a method as deprecated.
"""
def __init__(self, value=None):
DeprecationWarning.__init__(self, value)
class YumFutureDeprecationWarning(YumDeprecationWarning):
"""
Used to mark a method as deprecated. Unlike YumDeprecationWarning,
YumFutureDeprecationWarnings will not be shown on the console.
"""
def __init__(self, value=None):
YumDeprecationWarning.__init__(self, value)
SEA-GHOST - SHELL CODING BY SEA-GHOST