Reverting r4: Adding back dependency on lxml (for OPML importing)

This commit is contained in:
Samuel Clay 2009-06-18 12:54:20 +00:00
parent cdf395d4b2
commit f258ee6589

View file

@ -4,7 +4,7 @@ from django.template import RequestContext
from apps.rss_feeds.models import Feed, Story
from apps.reader.models import UserSubscription, ReadStories, UserSubscriptionFolders
from utils.json import json_encode
# import utils.opml as opml
import utils.opml as opml
from django.contrib.auth.models import User
from django.http import HttpResponse, HttpRequest
from django.core import serializers
@ -18,27 +18,27 @@ def opml_import(request):
context_instance=RequestContext(request))
def process(request):
# context = None
# outline = opml.from_string(request.POST['opml'])
context = None
outline = opml.from_string(request.POST['opml'])
feeds = []
# for folder in outline:
# for feed in folder:
# feed_data = dict(feed_address=feed.xmlUrl, feed_link=feed.htmlUrl, feed_title=feed.title)
# feeds.append(feed_data)
# new_feed = Feed(**feed_data)
# try:
# new_feed.save()
# except:
# new_feed = Feed.objects.get(**feed_data)
# us = UserSubscription(feed=new_feed, user=request.user)
# try:
# us.save()
# except:
# us = UserSubscription.objects.get(feed=new_feed, user=request.user)
# user_sub_folder = UserSubscriptionFolders(user=request.user, feed=new_feed, user_sub=us, folder=folder.text)
# try:
# user_sub_folder.save()
# except:
# pass
for folder in outline:
for feed in folder:
feed_data = dict(feed_address=feed.xmlUrl, feed_link=feed.htmlUrl, feed_title=feed.title)
feeds.append(feed_data)
new_feed = Feed(**feed_data)
try:
new_feed.save()
except:
new_feed = Feed.objects.get(**feed_data)
us = UserSubscription(feed=new_feed, user=request.user)
try:
us.save()
except:
us = UserSubscription.objects.get(feed=new_feed, user=request.user)
user_sub_folder = UserSubscriptionFolders(user=request.user, feed=new_feed, user_sub=us, folder=folder.text)
try:
user_sub_folder.save()
except:
pass
data = json_encode(feeds)
return HttpResponse(data, mimetype='application/json')