class MrClean(Collector): """ delete articles older than 1 week """ def __init__(self): super(MrClean, self).__init__() self.storage = Storage() def run(self, **kwargs): articles = self.storage.get_articles() week_before = datetime.date.today() - datetime.timedelta( 7) # 1 week delta removed_articles = [] for article in articles: for ref_date in article.ref_dates: year = ref_date['date'][0] month = ref_date['date'][1] or 12 day = ref_date['date'][2] or calendar.monthrange(year, month)[1] r_date = datetime.date(year, month, day) if r_date >= week_before: break else: removed_articles.append(article.__dict__) self.storage.remove_article(article._id) self.set_report(status="done", count=len(removed_articles), removed_articles=removed_articles) self.storage.save_report(self.get_report())
class MrClean(Collector): """ delete articles older than 1 week """ def __init__(self): super(MrClean, self).__init__() self.storage = Storage() def run(self, **kwargs): articles = self.storage.get_articles() week_before = datetime.date.today() - datetime.timedelta(7) # 1 week delta removed_articles = [] for article in articles: for ref_date in article.ref_dates: year = ref_date['date'][0] month = ref_date['date'][1] or 12 day = ref_date['date'][2] or calendar.monthrange(year, month)[1] r_date = datetime.date(year, month, day) if r_date >= week_before: break else: removed_articles.append(article.__dict__) self.storage.remove_article(article._id) self.set_report( status = "done", count = len(removed_articles), removed_articles = removed_articles) self.storage.save_report(self.get_report())