def import_from_rss(rss_as_bytes): rss = objectify.fromstring(rss_as_bytes) current_site = Site.objects.get_current() for item in rss.channel.item: blob = unicode(item['{%s}encoded' % item.nsmap['content']]) category, _ = Category.objects.get_or_create( slug=my_slugify(unicode(item.category.text)), title=unicode(item.category.text) ) entry = Entry() cms_content = Content() cms_content.save() process_html_blob(blob, cms_content) entry.content_ptr = cms_content entry.title = unicode(item.title.text) entry.creation_date = parse_rss_date(unicode(item.pubDate)) entry.slug = my_slugify(entry.title) entry.save() entry.sites.add(current_site) entry.categories.add(category) link = unicode(item.link.text) _url_cache[link] = entry.get_absolute_url() _url_cache[re.sub("^https", "http", link)] = entry.get_absolute_url() add_redirect(link, entry.get_absolute_url())