def nightly_complete_mars(self, branch="trunk"): """Generate the paths to the complete .mar file for all nightly builds (most recent first). """ years = buildutils.remote_glob(rjoin(self.nightly_base_dir, "????")) for year_dir in sorted(years, reverse=True): year = rbasename(year_dir) if not _isint(year): continue months = buildutils.remote_glob(rjoin(year_dir, "??")) for month_dir in sorted(months, reverse=True): month = rbasename(month_dir) if not _isint(month): continue nightlies = buildutils.remote_glob( rjoin(month_dir, "????-??-??-??-"+branch)) for nightly_dir in sorted(nightlies, reverse=True): pat = "%s-%s.*-%s-complete.mar" % ( self.pkg_prefix, self.ver_bits[0], self.platname) complete_mar_paths = buildutils.remote_glob( rjoin(nightly_dir, "updates", pat)) if len(complete_mar_paths) < 1: continue elif len(complete_mar_paths) > 1: log.warn("`%s' has multiple complete update packages " "matching `%s': %r" % (nightly_dir, pat, ", ".join(rbasename(p) for p in complete_mar_paths))) continue yield complete_mar_paths[0]
def nightly_complete_mars(self, branch="trunk"): """Generate the paths to the complete .mar file for all nightly builds (most recent first). """ years = buildutils.remote_glob(rjoin(self.nightly_base_dir, "????")) for year_dir in sorted(years, reverse=True): year = rbasename(year_dir) if not _isint(year): continue months = buildutils.remote_glob(rjoin(year_dir, "??")) for month_dir in sorted(months, reverse=True): month = rbasename(month_dir) if not _isint(month): continue nightlies = buildutils.remote_glob( rjoin(month_dir, "????-??-??-??-" + branch)) for nightly_dir in sorted(nightlies, reverse=True): pat = "%s-%s.*-%s-complete.mar" % ( self.pkg_prefix, self.ver_bits[0], self.platname) complete_mar_paths = buildutils.remote_glob( rjoin(nightly_dir, "updates", pat)) if len(complete_mar_paths) < 1: continue elif len(complete_mar_paths) > 1: log.warn( "`%s' has multiple complete update packages " "matching `%s': %r" % (nightly_dir, pat, ", ".join( rbasename(p) for p in complete_mar_paths))) continue yield complete_mar_paths[0]
def sendCommands(self, data): for path in self.paths: try: data = yield self.client.objStat(path) except: log.err() else: f = FileRecever(rnormpath(rjoin(self.dest, rbasename(path)))) try: yield self.client.get(f, path, data.objSize) except: log.err() yield self.client.sendDisconnect()