from zope.interface import implements from buildbot.interfaces import IStatusLog, ILogFile, LOG_CHANNEL_STDOUT class ExLogFile(): implements(IStatusLog, ILogFile) log = None realname = None @property def finished(self): return self.log.finished @property def length(self): return self.log.length @property def nonHeaderLength(self): return self.log.nonHeaderLength @property def tailLength(self): return self.log.tailLength @property def chunkSize(self): return self.log.chunkSize @property def runLength(self): return self.log.runLength @property def logMaxSize(self): return self.log.logMaxSize @property def logMaxTailSize(self): return self.log.logMaxTailSize @property def maxLengthExceeded(self): return self.log.maxLengthExceeded @property def runEntries(self): return self.log.runEntries @property def entries(self): return self.log.entries @property def BUFFERSIZE(self): return self.log.BUFFERSIZE @property def filename(self): return self.log.filename @property def openfile(self): return self.log.openfile @property def compressMethod(self): return self.log.compressMethod def __init__(self, log, realname): self.log = log self.realname = realname def getName(self): return self.realname def getStep(self): return self.log.getStep() def isFinished(self): return self.log.isFinished() def waitUntilFinished(self): return self.log.waitUntilFinished() def subscribe(self, receiver, catchup): return self.log.subscribe(receiver, catchup) def unsubscribe(self, receiver): return self.log.unsubscribe(receiver) def subscribeConsumer(self, consumer): return self.log.subscribeConsumer(consumer) def hasContents(self): return self.log.hasContents() def getText(self): return self.log.getText() def readlines(self, channel=LOG_CHANNEL_STDOUT): return self.log.readlines(channel) def getTextWithHeaders(self): return self.log.getTextWithHeaders() def getChunks(self): return self.log.getChunks() def addStdout(self,data): return self.log.addStdout(data) def addStderr(self,data): return self.log.addStderr(data) def addHeader(self,data): return self.log.addHeader(data) def finish(self): return self.log.finish()