6
6
from pystac import utils
7
7
8
8
if TYPE_CHECKING :
9
- from pystac .provider import Provider
10
- from pystac .asset import Asset
11
- from pystac .item import Item
9
+ from pystac .provider import Provider as Provider_Type
10
+ from pystac .asset import Asset as Asset_Type
11
+ from pystac .item import Item as Item_Type
12
12
13
13
14
14
P = TypeVar ("P" )
@@ -23,17 +23,17 @@ class CommonMetadata:
23
23
properties : Dictionary of attributes that is the Item's properties
24
24
"""
25
25
26
- object : Union ["Asset " , "Item " ]
26
+ object : Union ["Asset_Type " , "Item_Type " ]
27
27
"""The object from which common metadata is obtained."""
28
28
29
- def __init__ (self , object : Union ["Asset " , "Item " ]):
29
+ def __init__ (self , object : Union ["Asset_Type " , "Item_Type " ]):
30
30
self .object = object
31
31
32
32
def _set_field (self , prop_name : str , v : Optional [Any ]) -> None :
33
33
if hasattr (self .object , prop_name ):
34
34
setattr (self .object , prop_name , v )
35
35
elif hasattr (self .object , "properties" ):
36
- item = cast ("Item " , self .object )
36
+ item = cast ("Item_Type " , self .object )
37
37
if v is None :
38
38
item .properties .pop (prop_name , None )
39
39
else :
@@ -54,7 +54,7 @@ def _get_field(self, prop_name: str, _typ: Type[P]) -> Optional[P]:
54
54
if hasattr (self .object , prop_name ):
55
55
return cast (Optional [P ], getattr (self .object , prop_name ))
56
56
elif hasattr (self .object , "properties" ):
57
- item = cast ("Item " , self .object )
57
+ item = cast ("Item_Type " , self .object )
58
58
return item .properties .get (prop_name )
59
59
elif hasattr (self .object , "extra_fields" ) and isinstance (
60
60
self .object .extra_fields , Dict
@@ -117,15 +117,15 @@ def license(self, v: Optional[str]) -> None:
117
117
118
118
# Providers
119
119
@property
120
- def providers (self ) -> Optional [List ["Provider " ]]:
120
+ def providers (self ) -> Optional [List ["Provider_Type " ]]:
121
121
"""Get or set a list of the object's providers."""
122
122
return utils .map_opt (
123
123
lambda providers : [pystac .Provider .from_dict (d ) for d in providers ],
124
124
self ._get_field ("providers" , List [Dict [str , Any ]]),
125
125
)
126
126
127
127
@providers .setter
128
- def providers (self , v : Optional [List ["Provider " ]]) -> None :
128
+ def providers (self , v : Optional [List ["Provider_Type " ]]) -> None :
129
129
self ._set_field (
130
130
"providers" ,
131
131
utils .map_opt (lambda providers : [p .to_dict () for p in providers ], v ),
0 commit comments