Esempio n. 1
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]
Esempio n. 2
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]
Esempio n. 3
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()