def test_time_manipulation(): round_tripped_datetime = utils.datetime_to_iso( utils.from_unix_epoch_time_secs( utils.to_unix_epoch_time_secs( utils.iso_to_datetime("2014-12-10T19:09:34.000Z")))) print(round_tripped_datetime) assert "2014-12-10T19:09:34.000Z" == round_tripped_datetime, round_tripped_datetime round_tripped_datetime = utils.datetime_to_iso( utils.from_unix_epoch_time_secs( utils.to_unix_epoch_time_secs( utils.iso_to_datetime("1969-04-28T23:48:34.123Z")))) print(round_tripped_datetime) assert "1969-04-28T23:48:34.123Z" == round_tripped_datetime, round_tripped_datetime ## check that rounding to milliseconds works round_tripped_datetime = utils.datetime_to_iso( utils.from_unix_epoch_time_secs( utils.to_unix_epoch_time_secs( utils.iso_to_datetime("1969-04-28T23:48:34.999499Z")))) print(round_tripped_datetime) assert "1969-04-28T23:48:34.999Z" == round_tripped_datetime, round_tripped_datetime ## check that rounding to milliseconds works round_tripped_datetime = utils.datetime_to_iso( utils.from_unix_epoch_time_secs( utils.to_unix_epoch_time_secs( utils.iso_to_datetime("1969-04-27T23:59:59.999999Z")))) print(round_tripped_datetime) assert "1969-04-28T00:00:00.000Z" == round_tripped_datetime, round_tripped_datetime
def test_time_manipulation(): round_tripped_datetime = utils.datetime_to_iso( utils.from_unix_epoch_time_secs( utils.to_unix_epoch_time_secs( utils.iso_to_datetime("2014-12-10T19:09:34.000Z")))) assert_equals("2014-12-10T19:09:34.000Z", round_tripped_datetime) round_tripped_datetime = utils.datetime_to_iso( utils.from_unix_epoch_time_secs( utils.to_unix_epoch_time_secs( utils.iso_to_datetime("1969-04-28T23:48:34.123Z")))) assert_equals("1969-04-28T23:48:34.123Z", round_tripped_datetime) # check that rounding to milliseconds works round_tripped_datetime = utils.datetime_to_iso( utils.from_unix_epoch_time_secs( utils.to_unix_epoch_time_secs( utils.iso_to_datetime("1969-04-28T23:48:34.999499Z")))) assert_equals("1969-04-28T23:48:34.999Z", round_tripped_datetime) # check that rounding to milliseconds works round_tripped_datetime = utils.datetime_to_iso( utils.from_unix_epoch_time_secs( utils.to_unix_epoch_time_secs( utils.iso_to_datetime("1969-04-27T23:59:59.999999Z")))) assert_equals("1969-04-28T00:00:00.000Z", round_tripped_datetime)
def purge(self, before_date, dry_run=False): """ Purge the cache. Use with caution. Delete files whose cache maps were last updated prior to the given date. Deletes .cacheMap files and files stored in the cache.cache_root_dir, but does not delete files stored outside the cache. """ if isinstance(before_date, datetime.datetime): before_date = utils.to_unix_epoch_time_secs(epoch_time) count = 0 for cache_dir in self._cache_dirs(): ## _get_modified_time returns None if the cache map file doesn't ## exist and n > None evaluates to True (wtf?). I'm guessing it's ## OK to purge directories in the cache that have no .cacheMap file if before_date > _get_modified_time(os.path.join(cache_dir, self.cache_map_file_name)): if dry_run: print cache_dir else: shutil.rmtree(cache_dir) count += 1 return count
def iso_time_to_epoch(iso_time): """ Convert an ISO formatted time into seconds since unix epoch """ return None if iso_time is None else utils.to_unix_epoch_time_secs(utils.iso_to_datetime(iso_time))