def get_property_and_language(self, name, language=None): value, language = ShopFolder.get_property_and_language(self, name, language) # Default properties first (we need "product_model") if name in self.get_metadata_schema(): return value, language # Fallback on dynamic property if defined dynamic_schema = self.get_dynamic_schema() if name in dynamic_schema: return self.get_dynamic_property_and_language(name, dynamic_schema, language) # Just to detect errors raise ValueError, name
def get_property_and_language(self, name, language=None): value, language = ShopFolder.get_property_and_language( self, name, language) # Default properties first (we need "product_model") if name in self.get_metadata_schema(): return value, language # Fallback on dynamic property if defined dynamic_schema = self.get_dynamic_schema() if name in dynamic_schema: return self.get_dynamic_property_and_language( name, dynamic_schema, language) # Just to detect errors raise ValueError, name
def get_dynamic_property_and_language(self, name, dynamic_schema, language=None): value, language = ShopFolder.get_property_and_language(self, name, language) datatype = dynamic_schema[name] # Default value if value is None: value = datatype.get_default() elif getattr(datatype, "multiple", False): if not isinstance(value, list): # Decode the property # Only support list of strings value = list(Tokens.decode(value)) # Else a list was already set by "set_property" else: value = datatype.decode(value) return value, language
def get_dynamic_property_and_language(self, name, dynamic_schema, language=None): value, language = ShopFolder.get_property_and_language( self, name, language) datatype = dynamic_schema[name] # Default value if value is None: value = datatype.get_default() elif getattr(datatype, 'multiple', False): if not isinstance(value, list): # Decode the property # Only support list of strings value = list(Tokens.decode(value)) # Else a list was already set by "set_property" else: value = datatype.decode(value) return value, language