def getRaw(self, context, aslist=False, **kwargs): """Grab the stored value, and return it directly as UIDs. :param context: context is the object who's schema contains this field. :type context: BaseContent :param aslist: Forces a single-valued field to return a list type. :type aslist: bool :param kwargs: kwargs are passed directly to the underlying get. :type kwargs: dict :return: UID or list of UIDs for multiValued fields. :rtype: string | list[string] """ value = StringField.get(self, context, **kwargs) if self.multiValued: ret = value else: ret = self.get_uid(context, value) if aslist: ret = [ret] return ret
def get(self, context, **kwargs): """Grab the stored value, and resolve object(s) from UID catalog. :param context: context is the object who's schema contains this field. :type context: BaseContent :param kwargs: kwargs are passed directly to the underlying get. :type kwargs: dict :return: object or list of objects for multiValued fields. :rtype: BaseContent | list[BaseContent] """ value = StringField.get(self, context, **kwargs) if self.multiValued: # Only return objects which actually exist; this is necessary here # because there are no BackReferences, or HoldingReferences. # This opens the possibility that deletions leave hanging # references. ret = filter(lambda x: x, [self.get_object(context, uid) for uid in value]) else: ret = self.get_object(context, value) return ret
def get(self, context, **kwargs): """Grab the stored value, and resolve object(s) from UID catalog. :param context: context is the object who's schema contains this field. :type context: BaseContent :param kwargs: kwargs are passed directly to the underlying get. :type kwargs: dict :return: object or list of objects for multiValued fields. :rtype: BaseContent | list[BaseContent] """ value = StringField.get(self, context, **kwargs) if not value: return [] if self.multiValued else None if self.multiValued: # Only return objects which actually exist; this is necessary here # because there are no HoldingReferences. This opens the # possibility that deletions leave hanging references. ret = filter( lambda x: x, [self.get_object(context, uid) for uid in value]) else: ret = self.get_object(context, value) return ret
def getRaw(self, context, aslist=False, **kwargs): """Grab the stored value, and return it directly as UIDs. :param context: context is the object who's schema contains this field. :type context: BaseContent :param aslist: Forces a single-valued field to return a list type. :type aslist: bool :param kwargs: kwargs are passed directly to the underlying get. :type kwargs: dict :return: UID or list of UIDs for multiValued fields. :rtype: string | list[string] """ value = StringField.get(self, context, **kwargs) if not value: return [] if self.multiValued else None if self.multiValued: ret = value else: ret = self.get_uid(context, value) if aslist: ret = [ret] return ret