def to_json_dict(self): """ Return a JSON-serializable dictionary representation of this object. :return: A JSON-serializable dictionary """ config = OrderedDict({ 'name': self._name, 'meta_data': { 'temporal_coverage': TimeRangeLike.format(self._temporal_coverage) if self._temporal_coverage else None, 'spatial_coverage': PolygonLike.format(self._spatial_coverage) if self._spatial_coverage else None, 'variables': VarNamesLike.format(self._variables) if self._variables else None, 'reference_type': self._reference_type, 'reference_name': self._reference_name }, 'files': [[item[0], item[1][0], item[1][1]] if item[1] else [item[0]] for item in self._files.items()] }) return config
def generate_title(cls, title: str, time_range: Optional[TimeRange] = None, region: Optional[shapely.geometry.Polygon] = None, var_names: Optional[VarNames] = None) -> str: if time_range: title += " [TimeRange:{}]".format(TimeRangeLike.format(time_range)) if region: title += " [Region:{}]".format(PolygonLike.format(region)) if var_names: title += " [Variables:{}]".format(VarNamesLike.format(var_names)) return title
def generate_uuid(cls, ref_id: str, time_range: Optional[TimeRange] = None, region: Optional[shapely.geometry.Polygon] = None, var_names: Optional[VarNames] = None) -> str: if time_range: ref_id += TimeRangeLike.format(time_range) if region: ref_id += PolygonLike.format(region) if var_names: ref_id += VarNamesLike.format(var_names) return str(uuid.uuid3(_NAMESPACE, ref_id))
def generate_title(cls, title: str, time_range: Optional[TimeRange] = None, region: Optional[shapely.geometry.Polygon] = None, var_names: Optional[VarNames] = None) -> str: if time_range: title += " [TimeRange:{}]".format(TimeRangeLike.format(time_range)) if region: title += " [Region:{}]".format(PolygonLike.format(region)) if var_names: title += " [Variables:{}]".format(VarNamesLike.format(var_names)) return title
def generate_uuid(cls, ref_id: str, time_range: Optional[TimeRange] = None, region: Optional[shapely.geometry.Polygon] = None, var_names: Optional[VarNames] = None) -> str: if time_range: ref_id += TimeRangeLike.format(time_range) if region: ref_id += PolygonLike.format(region) if var_names: ref_id += VarNamesLike.format(var_names) return str(uuid.uuid3(_NAMESPACE, ref_id))
def test_format(self): self.assertEqual(VarNamesLike.format(['aa', 'bb', 'cc']), "aa, bb, cc") self.assertEqual(VarNamesLike.format(['aa']), "aa") self.assertEqual(VarNamesLike.format([]), "") self.assertEqual(VarNamesLike.format(None), "")
def test_format(self): actual = VarNamesLike.format(HTML('abc')) self.assertIsInstance(actual, str) self.assertEqual(actual, 'abc')
def test_format(self): self.assertEqual(VarNamesLike.format(['aa', 'bb', 'cc']), "['aa', 'bb', 'cc']")
def test_format(self): self.assertEqual(VarNamesLike.format(['aa', 'bb', 'cc']), "aa, bb, cc") self.assertEqual(VarNamesLike.format(['aa']), "aa") self.assertEqual(VarNamesLike.format([]), "") self.assertEqual(VarNamesLike.format(None), "")
def test_format(self): actual = VarNamesLike.format(HTML('abc')) self.assertIsInstance(actual, str) self.assertEqual(actual, 'abc')