def user_river_sources(request,owner_name): if request.method == 'GET': owner_profile = request.owner_user.userprofile web_feeds = owner_profile.web_feeds.all()\ .order_by('source__title')\ .select_related("source") if request.user == request.owner_user: other_sources = owner_profile.sources.all() else: other_sources = owner_profile.public_sources.all() other_sources = other_sources.exclude(webfeed__userprofile=owner_profile)\ .order_by("title") def add_tag_to_feed(feed): tag_names = get_item_tag_names(request.owner_user,feed) feed.main_tag_name = tag_names[0] if tag_names else "" return feed web_feeds = [add_tag_to_feed(f) for f in web_feeds.iterator()] web_feeds.sort(key=lambda f:f.main_tag_name) d = add_base_template_context_data({ 'tagged_web_feeds': web_feeds, 'user_tags': get_user_tags(request.owner_user), 'other_sources': other_sources, 'num_sources' : len(web_feeds)+other_sources.count(), 'source_add_bookmarklet': generate_source_add_bookmarklet( request.build_absolute_uri("/"),request.user.username), }, request.user.username, owner_name) expectedFormat = request.GET.get("format","html") if expectedFormat.lower()=="opml": return render_to_response('sources_opml.xml',d, context_instance=RequestContext(request), mimetype="text/xml") else: return render_to_response('sources.html',d, context_instance=RequestContext(request)) elif request.user != request.owner_user: return HttpResponseForbidden() elif request.method == 'POST': try: src_info = simplejson.loads(request.body) except Exception: src_info = {} if not u"url" in src_info: return HttpResponseBadRequest("Only a JSON formatted request with a 'url' parameter is accepted.") q = QueryDict('', mutable=True) q.update(src_info) request.POST = q return user_river_source_add(request, owner_name) # TODO # elif request.method == 'DELETE': # return user_river_source_stop_following(request, owner_name) else: return HttpResponseNotAllowed(['GET','POST'])
def test_get_user_tags(self): tagSet = get_user_tags(self.user_a) self.assertEqual(3, len(tagSet)) self.assertIn(self.tag_mouf, tagSet) self.assertIn(self.tag_glop, tagSet) self.assertIn(self.tag_hop, tagSet)
def test_get_user_tags(self): tagSet = get_user_tags(self.user_a) self.assertEqual(3,len(tagSet)) self.assertIn(self.tag_mouf,tagSet) self.assertIn(self.tag_glop,tagSet) self.assertIn(self.tag_hop,tagSet)