Skip to content

Commit

Permalink
Support datetimes without microseconds (#37)
Browse files Browse the repository at this point in the history
* Support datetimes without microseconds

* changelog
  • Loading branch information
jake-herrmann authored Jul 29, 2024
1 parent 752c2a3 commit 9c97fbc
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 2 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Removed
- [issues/7](https://github.com/podaac/bignbit/issues/15): Remove the wait for GITC response
### Fixed
- [issues/36](https://github.com/podaac/bignbit/issues/36): Support datetimes without microseconds
### Security

### Added
Expand Down
11 changes: 9 additions & 2 deletions bignbit/generate_image_metadata.py
Original file line number Diff line number Diff line change
Expand Up @@ -268,8 +268,8 @@ def extract_granule_dates(granule_umm_json: dict) -> (str, str, str, str):
"""
time_range_dict = granule_umm_json['TemporalExtent']['RangeDateTime']

beginning_time_dt = datetime.strptime(time_range_dict["BeginningDateTime"], "%Y-%m-%dT%H:%M:%S.%fZ")
ending_time_dt = datetime.strptime(time_range_dict["EndingDateTime"], "%Y-%m-%dT%H:%M:%S.%fZ")
beginning_time_dt = parse_datetime(time_range_dict["BeginningDateTime"])
ending_time_dt = parse_datetime(time_range_dict["EndingDateTime"])
middle_time_dt = beginning_time_dt + (ending_time_dt - beginning_time_dt) / 2

begin = beginning_time_dt.strftime("%Y-%m-%dT%H:%M:%S.%fZ")
Expand All @@ -283,6 +283,13 @@ def extract_granule_dates(granule_umm_json: dict) -> (str, str, str, str):
return begin, mid, end, dataday


def parse_datetime(datetime_str: str) -> datetime:
try:
return datetime.strptime(datetime_str, "%Y-%m-%dT%H:%M:%S.%fZ")
except ValueError:
return datetime.strptime(datetime_str, "%Y-%m-%dT%H:%M:%SZ")


def create_metadata_xml(beginning_time: str, middle_time: str, ending_time: str, dataday: str,
partial_id: str = None) -> ET.ElementTree:
"""
Expand Down

0 comments on commit 9c97fbc

Please sign in to comment.