Пример #1
0
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())
Пример #2
0
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())