def extract_releases(self): stmts = self.ast.find_all(ReleaseStmt) for relstmt in stmts: relname = relstmt.get_release_name() logging.debug('Processing release %s' % relname) rel = Release(relname) reldate = date.parseProjectDate(rel.get_name()) logging.info("Release date: %s" % reldate) rel.set_date(reldate) for id in relstmt.get_content(): se = self.find_specific_enabler(id) if se is None: logging.warning('%s refers to unknown/invalid SE "%s" - Ignored!' % (rel, id)) continue # TODO: ensure se to be a specific enabler rel.add_se(se) self.releases.append(rel) cmp_date = lambda r: r.get_date() self.releases.sort(key=cmp_date)
def validate_timing(self, timing): if timing is None: logging.info('Lacking of timeframe for uptake!') return False d = date.parseProjectDate(timing) if d is None: logging.info('Unknown format of timeframe "%s" for uptake!' % timing) return False if d < date.projectbegin: logging.info('Timeframe for uptake "%s" out of project duration!' % timing) return False if date.projectend < d: logging.info('Timeframe for uptake "%s" out of project duration!' % timing) return False if d < date.today(): logging.info('Timeframe for uptake "%s" has passed!' % timing) return False return True