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, )