def humanize_attrs(cls, obj): humanized_attrs = {} for attr in cls.DATETIME_ATTRIBUTES: humanized_attrs[attr] = humanize_timesince(getattr(obj, attr)) for attr in cls.PERCENT_ATTRIBUTES: humanized_attrs[attr] = to_percentage(getattr(obj, attr), cls.ROUNDING) for attr in cls.MEM_SIZE_ATTRIBUTES: humanized_attrs[attr] = to_unit_memory(getattr(obj, attr)) return humanized_attrs
def humanize_attrs(key, value, rounding=2): if key in [ "created_at", "updated_at", "started_at", "finished_at", "last_update_time", "last_transition_time", ]: return humanize_timesince(value) if key in ["cpu_percentage"]: return to_percentage(value, rounding) if key in ["memory_free", "memory_used", "memory_total"]: return to_unit_memory(value) return value
def test_humanize_timesince_few_seconds(self): self.assertEqual( u"Last update: " + humanize_timesince(local_datetime(now())), u"Last update: a few seconds ago", )
def test_humanize_times_in_the_future(self): self.assertEqual( humanize_timesince( local_datetime(now()) + datetime.timedelta(minutes=1)), "a few seconds ago", )
def test_humanize_timesince(self): self.assertEqual(humanize_timesince(local_datetime(now())), "a few seconds ago") self.assertEqual( humanize_timesince( local_datetime(now()) - datetime.timedelta(minutes=1)), "1 minute ago", ) self.assertEqual( humanize_timesince( local_datetime(now()) - datetime.timedelta(minutes=10)), "10 minutes ago", ) self.assertEqual( humanize_timesince( local_datetime(now()) - datetime.timedelta(hours=1)), "1 hour ago", ) self.assertEqual( humanize_timesince( local_datetime(now()) - datetime.timedelta(hours=10)), "10 hours ago", ) self.assertEqual( humanize_timesince( local_datetime(now()) - datetime.timedelta(hours=24)), "1 day ago", ) self.assertEqual( humanize_timesince( local_datetime(now()) - datetime.timedelta(hours=72)), "3 days ago", ) self.assertEqual( humanize_timesince( local_datetime(now()) - datetime.timedelta(hours=168)), "1 week ago", ) self.assertEqual( humanize_timesince( local_datetime(now()) - datetime.timedelta(weeks=1)), "1 week ago", ) self.assertEqual( humanize_timesince( local_datetime(now()) - datetime.timedelta(weeks=3)), "3 weeks ago", ) self.assertEqual( humanize_timesince( local_datetime(now()) - datetime.timedelta(weeks=53)), "1 year ago", ) self.assertEqual( humanize_timesince( local_datetime(now()) - datetime.timedelta(days=365)), "1 year ago", ) self.assertEqual( humanize_timesince( local_datetime(now()) - datetime.timedelta(days=800)), "2 years ago", )