if not localPath: return defer.succeed(None) if not os.path.exists(localPath): # Maybe the file has been moved, so we retry if retry > 0: d = self._callRemote("getReportPath") d.addCallback(self.__updateReportPath) d.addCallback(self.__retrieveReportPath, timeout, retry - 1) return d return defer.succeed(virtPath) def __loadReport(self, localPath): if not localPath: return None if not os.path.exists(localPath): message = ("Transcoder report file not found ('%s')" % localPath) self.warning("%s", message) raise errors.TranscoderError(message) loader = inifile.IniFile() report = transreport.TranscodingReport() try: loader.loadFromFile(report, localPath) except Exception, e: message = ("Failed to load transcoder report file '%s': %s" % (localPath, log.getExceptionMessage(e))) self.warning("%s", message) raise errors.TranscoderError(message) return report component.registerProxy("file-transcoder", TranscoderProxy)
def __cbRetrieveFiles(self, ui): files = [] workerPxy = self.getWorkerProxy() assert ui != None assert workerPxy != None workerCtx = workerPxy.getWorkerContext() local = workerCtx.getLocal() for (p, f), s in ui.get("pending-files", {}).iteritems(): files.append((virtualpath.VirtualPath.virtualize(p, local), f, s)) return files class HttpMonitorProxy(MonitorProxy): implements(IMonitorProxy) properties_factory = filemon.HttpMonitorProperties @classmethod def loadTo(cls, workerPxy, name, label, properties, timeout=None): managerPxy = workerPxy.getManagerProxy() atmoPxy = managerPxy.getAtmosphereProxy() return atmoPxy._loadComponent(adminconsts.HTTP_MONITOR, name, label, workerPxy, properties, timeout) component.registerProxy("file-monitor", MonitorProxy) component.registerProxy("http-monitor", HttpMonitorProxy)