def get_feed(self, extra_params=None):

        if extra_params:
            try:
                obj = self.get_object(extra_params.split('/'))
            except (__HOLE__, LookupError):
                raise LookupError('Feed does not exist')
        else:
            obj = None

        feed = AtomFeed(
            atom_id=self.__get_dynamic_attr('feed_id', obj),
            title=self.__get_dynamic_attr('feed_title', obj),
            updated=self.__get_dynamic_attr('feed_updated', obj),
            icon=self.__get_dynamic_attr('feed_icon', obj),
            logo=self.__get_dynamic_attr('feed_logo', obj),
            rights=self.__get_dynamic_attr('feed_rights', obj),
            subtitle=self.__get_dynamic_attr('feed_subtitle', obj),
            authors=self.__get_dynamic_attr('feed_authors', obj, default=[]),
            categories=self.__get_dynamic_attr('feed_categories', obj, default=[]),
            contributors=self.__get_dynamic_attr('feed_contributors', obj, default=[]),
            links=self.__get_dynamic_attr('feed_links', obj, default=[]),
            extra_attrs=self.__get_dynamic_attr('feed_extra_attrs', obj),
            hide_generator=self.__get_dynamic_attr('hide_generator', obj, default=False)
        )

        items = self.__get_dynamic_attr('items', obj)
        if items is None:
            raise LookupError('Feed has no items field')

        for item in items:
            feed.add_item(
                atom_id=self.__get_dynamic_attr('item_id', item),
                title=self.__get_dynamic_attr('item_title', item),
                updated=self.__get_dynamic_attr('item_updated', item),
                content=self.__get_dynamic_attr('item_content', item),
                published=self.__get_dynamic_attr('item_published', item),
                rights=self.__get_dynamic_attr('item_rights', item),
                source=self.__get_dynamic_attr('item_source', item),
                summary=self.__get_dynamic_attr('item_summary', item),
                authors=self.__get_dynamic_attr('item_authors', item, default=[]),
                categories=self.__get_dynamic_attr('item_categories', item, default=[]),
                contributors=self.__get_dynamic_attr('item_contributors', item, default=[]),
                links=self.__get_dynamic_attr('item_links', item, default=[]),
                extra_attrs=self.__get_dynamic_attr('item_extra_attrs', None, default={}),
            )

        if self.VALIDATE:
            feed.validate()
        return feed
dataset/ETHPy150Open llazzaro/django-scheduler/schedule/feeds/atom.py/Feed.get_feed