Beispiel #1
0
 def _get_end_date(self, filename):
     from cis.parse_datetime import parse_datetimestr_to_std_time
     metadata_dict = hdf.get_hdf4_file_metadata(filename)
     date = self._parse_datetime(metadata_dict, 'RANGEENDINGDATE')
     time = self._parse_datetime(metadata_dict, 'RANGEENDINGTIME')
     datetime_str = date + " " + time
     return parse_datetimestr_to_std_time(datetime_str)
Beispiel #2
0
 def _get_end_date(self, filename):
     from cis.parse_datetime import parse_datetimestr_to_std_time
     metadata_dict = hdf.get_hdf4_file_metadata(filename)
     date = self._parse_datetime(metadata_dict, 'RANGEENDINGDATE')
     time = self._parse_datetime(metadata_dict, 'RANGEENDINGTIME')
     datetime_str = date + " " + time
     return parse_datetimestr_to_std_time(datetime_str)
Beispiel #3
0
def check_valid_min_max_args(min_val, max_val, step, parser, range_axis):
    """
    If a val range was specified, checks that they are valid numbers and the min is less than the max
    """
    from cis.parse_datetime import parse_as_number_or_datetime, parse_as_float_or_time_delta, \
        parse_datetimestr_to_std_time
    from cis.time_util import convert_datetime_to_std_time
    import datetime

    ax_range = {}

    if min_val is not None:
        dt = parse_as_number_or_datetime(min_val, range_axis + "min", parser)
        if isinstance(dt, datetime.datetime):
            ax_range[range_axis + "min"] = convert_datetime_to_std_time(dt)
        else:
            ax_range[range_axis + "min"] = dt

    if max_val is not None:
        dt = parse_as_number_or_datetime(max_val, range_axis + "max", parser)
        if isinstance(dt, datetime.datetime):
            ax_range[range_axis + "max"] = parse_datetimestr_to_std_time(str(datetime.datetime(*dt)))
        else:
            ax_range[range_axis + "max"] = dt
    if step is not None:
        ax_range[range_axis + "step"] = parse_as_float_or_time_delta(step, range_axis + "step", parser)

    return ax_range
Beispiel #4
0
    def _get_start_date(self, filename):
        from cis.parse_datetime import parse_datetimestr_to_std_time

        metadata_dict = hdf.get_hdf4_file_metadata(filename)
        date = self._parse_datetime(metadata_dict, "RANGEBEGINNINGDATE")
        time = self._parse_datetime(metadata_dict, "RANGEBEGINNINGTIME")
        datetime_str = date + " " + time
        return parse_datetimestr_to_std_time(datetime_str)
Beispiel #5
0
def test_that_can_parse_datetimestr_to_obj():
    # when not specifying the hours, minutes or seconds, 0 is used
    eq_(parse_datetimestr_to_std_time("2010-02-05 02:15:45"),
        convert_datetime_to_std_time(dt.datetime(2010, 02, 05, 02, 15, 45)))
    eq_(parse_datetimestr_to_std_time("2010-02-05 02:15"),
        convert_datetime_to_std_time(dt.datetime(2010, 02, 05, 02, 15, 0)))
    eq_(parse_datetimestr_to_std_time("2010-02-05 02"),
        convert_datetime_to_std_time(dt.datetime(2010, 02, 05, 02, 0, 0)))
    eq_(parse_datetimestr_to_std_time("2010-02-05"),
        convert_datetime_to_std_time(dt.datetime(2010, 02, 05, 0, 0, 0)))

    # GOTCHA: when not specifying an element of a date (i.e. the year, month or day), the current date is used
    now = dt.datetime.now()
    eq_(parse_datetimestr_to_std_time("2010-02-05"),
        convert_datetime_to_std_time(dt.datetime(2010, 02, 05)))
    eq_(parse_datetimestr_to_std_time("2010-12"),
        convert_datetime_to_std_time(dt.datetime(2010, 12, now.day)))
    eq_(parse_datetimestr_to_std_time("2010-"),
        convert_datetime_to_std_time(dt.datetime(2010, now.month, now.day)))
    eq_(parse_datetimestr_to_std_time(""),
        convert_datetime_to_std_time(dt.datetime(now.year, now.month, now.day)))
Beispiel #6
0
def test_that_can_parse_datetimestr_to_obj():
    from cis.time_util import convert_datetime_to_std_time
    import datetime as dt
    # when not specifying the hours, minutes or seconds, 0 is used
    eq_(parse_datetimestr_to_std_time("2010-02-05 02:15:45"),
        convert_datetime_to_std_time(dt.datetime(2010, 2, 5, 2, 15, 45)))
    eq_(parse_datetimestr_to_std_time("2010-02-05 02:15"),
        convert_datetime_to_std_time(dt.datetime(2010, 2, 5, 2, 15, 0)))
    eq_(parse_datetimestr_to_std_time("2010-02-05 02"),
        convert_datetime_to_std_time(dt.datetime(2010, 2, 5, 2, 0, 0)))
    eq_(parse_datetimestr_to_std_time("2010-02-05"),
        convert_datetime_to_std_time(dt.datetime(2010, 2, 5, 0, 0, 0)))

    # GOTCHA: when not specifying an element of a date (i.e. the year, month or day), the current date is used
    now = dt.datetime.now()
    eq_(parse_datetimestr_to_std_time("2010-02-05"),
        convert_datetime_to_std_time(dt.datetime(2010, 2, 5)))
    eq_(parse_datetimestr_to_std_time("2010-12"),
        convert_datetime_to_std_time(dt.datetime(2010, 12, now.day)))
    eq_(parse_datetimestr_to_std_time("2010-"),
        convert_datetime_to_std_time(dt.datetime(2010, now.month, now.day)))