File tree Expand file tree Collapse file tree 3 files changed +23
-1
lines changed Expand file tree Collapse file tree 3 files changed +23
-1
lines changed Original file line number Diff line number Diff line change @@ -203,6 +203,10 @@ def get_target_str(self) -> Optional[str]:
203
203
else :
204
204
return None
205
205
206
+ def has_target_href (self ) -> bool :
207
+ """Returns true if this link has a string href in its target information."""
208
+ return self ._target_href is not None
209
+
206
210
def __repr__ (self ) -> str :
207
211
return "<Link rel={} target={}>" .format (self .rel , self .target )
208
212
Original file line number Diff line number Diff line change @@ -158,7 +158,7 @@ def get_self_href(self) -> Optional[str]:
158
158
links have absolute (as opposed to relative) HREFs.
159
159
"""
160
160
self_link = self .get_single_link (pystac .RelType .SELF )
161
- if self_link :
161
+ if self_link and self_link . has_target_href () :
162
162
return self_link .get_target_str ()
163
163
else :
164
164
return None
Original file line number Diff line number Diff line change @@ -95,6 +95,24 @@ def test_resolved_self_href(self) -> None:
95
95
link .resolve_stac_object ()
96
96
self .assertEqual (link .get_absolute_href (), path )
97
97
98
+ def test_target_getter_setter (self ) -> None :
99
+ link = pystac .Link ("my rel" , target = "./foo/bar.json" )
100
+ self .assertEqual (link .target , "./foo/bar.json" )
101
+ self .assertEqual (link .get_target_str (), "./foo/bar.json" )
102
+
103
+ link .target = self .item
104
+ self .assertEqual (link .target , self .item )
105
+ self .assertEqual (link .get_target_str (), self .item .get_self_href ())
106
+
107
+ link .target = "./bar/foo.json"
108
+ self .assertEqual (link .target , "./bar/foo.json" )
109
+
110
+ def test_get_target_str_no_href (self ) -> None :
111
+ self .item .remove_links ("self" )
112
+ link = pystac .Link ("self" , target = self .item )
113
+ self .item .add_link (link )
114
+ self .assertIsNone (link .get_target_str ())
115
+
98
116
99
117
class StaticLinkTest (unittest .TestCase ):
100
118
def setUp (self ) -> None :
You can’t perform that action at this time.
0 commit comments