@@ -97,32 +97,34 @@ class AstroQuantity(TraitType):
9797
9898 def __init__ (self , physical_type = None , ** kwargs ):
9999 super ().__init__ (** kwargs )
100- if physical_type is not None :
101- if isinstance (physical_type , u .PhysicalType ):
102- self .physical_type = physical_type
103- elif isinstance (physical_type , u .UnitBase ):
104- self .physical_type = u .get_physical_type (physical_type )
105- else :
106- raise TraitError (
107- "Given physical type must be either of type"
108- " astropy.units.PhysicalType or a subclass of"
109- f" astropy.units.UnitBase, was { type (physical_type )} ."
110- )
111- else :
100+ if physical_type is None :
101+ self .physical_type = None
102+ elif isinstance (physical_type , u .PhysicalType ):
112103 self .physical_type = physical_type
104+ elif isinstance (physical_type , u .UnitBase ):
105+ self .physical_type = u .get_physical_type (physical_type )
106+ else :
107+ raise TraitError (
108+ "Given physical type must be either of type"
109+ " astropy.units.PhysicalType or a subclass of"
110+ f" astropy.units.UnitBase, was { type (physical_type )} ."
111+ )
113112
114113 if self .default_value is not Undefined and self .default_value is not None :
115- if self .physical_type is not None :
116- default_type = u .get_physical_type (self .default_value )
117- if default_type != self .physical_type :
118- raise TraitError (
119- f"Given physical type { self .physical_type } does not match"
120- f" physical type of the default value, { default_type } ."
121- )
122- else :
123- if not isinstance (self .default_value , u .Quantity ):
124- self .default_value = u .Quantity (self .default_value )
125- self .physical_type = u .get_physical_type (self .default_value )
114+ self ._validate_default_value ()
115+
116+ def _validate_default_value (self ):
117+ if self .physical_type is not None :
118+ default_type = u .get_physical_type (self .default_value )
119+ if default_type != self .physical_type :
120+ raise TraitError (
121+ f"Given physical type { self .physical_type } does not match"
122+ f" the default value's physical type { default_type } ."
123+ )
124+ else :
125+ if not isinstance (self .default_value , u .Quantity ):
126+ self .default_value = u .Quantity (self .default_value )
127+ self .physical_type = u .get_physical_type (self .default_value )
126128
127129 @property
128130 def info_text (self ):
0 commit comments