예제 #1
0
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
예제 #2
0
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)
예제 #3
0
    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
예제 #4
0
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))