You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

49 lines
1.5 KiB

from steam.enums import EResult
class SteamError(Exception):
""" General error that also carries EResult code """
def __init__(self, message, eresult=EResult.Fail):
Exception.__init__(self, message, eresult)
self.message = message
self.eresult = EResult(eresult) #: :class:`.EResult`
def __str__(self):
return "(%s) %s" % (self.eresult, self.message)
class ManifestError(SteamError):
"""
Raised when there a problem getting a manifest by :class:`CDNClient`
Encapsulates original exception in :attr:`.error` and includes manifest details
"""
def __init__(self, message, app_id, depot_id, manifest_gid, error=None):
self.message = message
self.app_id = app_id
self.depot_id = depot_id
self.manifest_gid = manifest_gid
self.error = error
if isinstance(error, SteamError):
self.eresult = error.eresult
else:
self.eresult = EResult.Fail
def __repr__(self):
return "%s(%s, app=%s, depot=%s, manifest=%s, error=%s)" % (
self.__class__.__name__,
repr(self.message),
self.app_id,
self.depot_id,
self.manifest_gid,
repr(self.error),
)
def __str__(self):
return "(%s) %s (app=%s depot=%s manifest=%s)" % (
self.eresult,
self.message,
self.app_id,
self.depot_id,
self.manifest_gid,
)