Beispiel #1
0
    def test_queryset(self):
        """
        Compatible listing views must return normalized querysets.

        """
        view = CompatibleListingView()
        view.request = self.factory.get('/')
        view.kwargs = {}
        self.assertTrue(isinstance(view.get_queryset(), NormalizedVideoList))
Beispiel #2
0
    def test_paginate_by(self):
        """
        Compatible listing views support the 'count' parameter to modify
        pagination.

        """
        view = CompatibleListingView()
        view.request = self.factory.get('/', {'count': 1})
        self.assertEqual(view.get_paginate_by(None), 1)
    def test_queryset(self):
        """
        Compatible listing views must return normalized querysets.

        """
        view = CompatibleListingView()
        view.request = self.factory.get('/')
        view.kwargs = {}
        self.assertTrue(isinstance(view.get_queryset(), NormalizedVideoList))
    def test_paginate_by(self):
        """
        Compatible listing views support the 'count' parameter to modify
        pagination.

        """
        view = CompatibleListingView()
        view.request = self.factory.get('/', {'count': 1})
        self.assertEqual(view.get_paginate_by(None), 1)
    def test_get_context_data(self):
        """
        Compatible listing views should include 'query' and 'video_list'.

        """
        view = CompatibleListingView()
        view.request = self.factory.get('/')
        view.kwargs = {}
        context = view.get_context_data(object_list=view.get_queryset())
        self.assertTrue('query' in context)
        self.assertTrue('video_list' in context)
        for f in context['form'].filter_fields():
            self.assertFalse(f.name in context)
Beispiel #6
0
    def test_get_form_data(self):
        """
        Compatible listing views support 'query' as an alterative to 'q'
        iff 'q' is not also supplied, and allow 'latest' as an alias for
        'newest'.

        """
        view = CompatibleListingView()
        data = view.get_form_data({'query': 'foo'})
        self.assertEqual(data.get('q'), 'foo')

        data = view.get_form_data({'query': 'foo', 'q': 'bar'})
        self.assertEqual(data.get('q'), 'bar')

        data = view.get_form_data({'sort': 'latest'})
        self.assertEqual(data.get('sort'), 'newest')
    def test_get_form_data(self):
        """
        Compatible listing views support 'query' as an alterative to 'q'
        iff 'q' is not also supplied, and allow 'latest' as an alias for
        'newest'.

        """
        view = CompatibleListingView()
        data = view.get_form_data({'query': 'foo'})
        self.assertEqual(data.get('q'), 'foo')

        data = view.get_form_data({'query': 'foo', 'q': 'bar'})
        self.assertEqual(data.get('q'), 'bar')

        data = view.get_form_data({'sort': 'latest'})
        self.assertEqual(data.get('sort'), 'newest')
Beispiel #8
0
    def test_get_form_data(self):
        """
        Compatible listing views support 'query' as an alterative to 'q'
        iff 'q' is not also supplied, and allow 'latest' as an alias for
        'newest'.

        """
        view = CompatibleListingView()
        data = view.get_form_data({"query": "foo"})
        self.assertEqual(data.get("q"), "foo")

        data = view.get_form_data({"query": "foo", "q": "bar"})
        self.assertEqual(data.get("q"), "bar")

        data = view.get_form_data({"sort": "latest"})
        self.assertEqual(data.get("sort"), "newest")
Beispiel #9
0
    def test_get_context_data(self):
        """
        Compatible listing views should include 'query' and 'video_list'.

        """
        view = CompatibleListingView()
        view.request = self.factory.get('/')
        view.kwargs = {}
        context = view.get_context_data(object_list=view.get_queryset())
        self.assertTrue('query' in context)
        self.assertTrue('video_list' in context)
        for f in context['form'].filter_fields():
            self.assertFalse(f.name in context)
urlpatterns = patterns(
    'localtv.views',
    url(r'^$', IndexView.as_view(), name='localtv_index'),
    url(r'^about/$', 'about', name='localtv_about'),
    url(r'^share/(\d+)/(\d+)', 'share_email', name='email-share'),
    url(r'^video/(?P<video_id>[0-9]+)(?:/(?P<slug>[\w~-]+))?/?$',
        VideoView.as_view(),
        name='localtv_view_video'),
    url(r'^api/', include(api_v1.urls)))

# Listing patterns
# This has to be importable for now because of a hack in the view_video view
# which imports this view to check whether the referer was a category page.
category_videos = CompatibleListingView.as_view(
    template_name='localtv/category.html',
    filter_name='category',
    filter_kwarg='slug'
)
urlpatterns += patterns(
    'localtv.listing.views',
    url(r'^search/$', CompatibleListingView.as_view(
                        template_name='localtv/video_listing_search.html',
                    ), name='localtv_search'),
    url(r'^category/$', SiteListView.as_view(
                        template_name='localtv/categories.html',
                        queryset=Category.objects.filter(level=0),
                        paginate_by=15
                    ), name='localtv_category_index'),
    url(r'^category/(?P<slug>[-\w]+)/$', category_videos,
                    name='localtv_category'),
    url(r'^author/$', ListView.as_view(
Beispiel #11
0
    'localtv.views',
    url(r'^$', IndexView.as_view(), name='localtv_index'),
    url(r'^about/$', 'about', name='localtv_about'),
    url(r'^share/(\d+)/(\d+)', 'share_email', name='email-share'),
    url(r'^video/(?P<video_id>[0-9]+)(?:/(?P<slug>[\w-]+))?/?$',
        VideoView.as_view(),
        name='localtv_view_video'),
    url(r'^newsletter/$', 'newsletter', name='localtv_newsletter'),
    url(r'^api/', include(api_v1.urls)))

# Listing patterns
# This has to be importable for now because of a hack in the view_video view
# which imports this view to check whether the referer was a category page.
category_videos = CompatibleListingView.as_view(
    template_name='localtv/category.html',
    filter_name='category',
    filter_kwarg='slug'
)
urlpatterns += patterns(
    'localtv.listing.views',
    url(r'^search/$', CompatibleListingView.as_view(
                        template_name='localtv/video_listing_search.html',
                    ), name='localtv_search'),
    url(r'^category/$', SiteListView.as_view(
                        template_name='localtv/categories.html',
                        queryset=Category.objects.filter(level=0),
                        paginate_by=15
                    ), name='localtv_category_index'),
    url(r'^category/(?P<slug>[-\w]+)/$', category_videos,
                    name='localtv_category'),
    url(r'^author/$', ListView.as_view(
Beispiel #12
0
import datetime

from django.conf.urls.defaults import patterns, url
from django.views.generic.base import TemplateView

from localtv.listing.views import CompatibleListingView

urlpatterns = patterns(
    'localtv.listing.views',
    url(r'^$',
        TemplateView.as_view(template_name="localtv/browse.html"),
        name='localtv_list_index'),
    url(r'^new/$',
        CompatibleListingView.as_view(
            template_name='localtv/video_listing_new.html', ),
        name='localtv_list_new'),
    url(r'^this-week/$',
        CompatibleListingView.as_view(
            template_name='localtv/video_listing_new.html',
            approved_since=datetime.timedelta(days=7),
            sort='approved',
        ),
        name='localtv_list_this_week'),
    url(r'^popular/$',
        CompatibleListingView.as_view(
            template_name='localtv/video_listing_popular.html',
            sort='popular'),
        name='localtv_list_popular'),
    url(r'^featured/$',
        CompatibleListingView.as_view(
            template_name='localtv/video_listing_featured.html',
import datetime

from django.conf.urls.defaults import patterns, url
from django.views.generic.base import TemplateView

from localtv.listing.views import CompatibleListingView


urlpatterns = patterns(
    'localtv.listing.views',
    url(r'^$', TemplateView.as_view(template_name="localtv/browse.html"),
                name='localtv_list_index'),
    url(r'^new/$', CompatibleListingView.as_view(
                    template_name='localtv/video_listing_new.html',
                ), name='localtv_list_new'),
    url(r'^this-week/$', CompatibleListingView.as_view(
                    template_name='localtv/video_listing_new.html',
                    approved_since=datetime.timedelta(days=7),
                    sort='approved',
                ), name='localtv_list_this_week'),
    url(r'^popular/$', CompatibleListingView.as_view(
                    template_name='localtv/video_listing_popular.html',
                    sort='popular'
                ), name='localtv_list_popular'),
    url(r'^featured/$', CompatibleListingView.as_view(
                    template_name='localtv/video_listing_featured.html',
                    sort='featured',
                    filter_name='featured',
                    filter_kwarg='value',
                ), {'value': True}, name='localtv_list_featured'),
    url(r'^tag/(?P<name>.+)/$', CompatibleListingView.as_view(
Beispiel #14
0
from localtv.views import IndexView, VideoView

# "Base" patterns
urlpatterns = patterns(
    'localtv.views', url(r'^$', IndexView.as_view(), name='localtv_index'),
    url(r'^about/$', 'about', name='localtv_about'),
    url(r'^share/(\d+)/(\d+)', 'share_email', name='email-share'),
    url(r'^video/(?P<video_id>[0-9]+)(?:/(?P<slug>[\w~-]+))?/?$',
        VideoView.as_view(),
        name='localtv_view_video'), url(r'^api/', include(api_v1.urls)))

# Listing patterns
# This has to be importable for now because of a hack in the view_video view
# which imports this view to check whether the referer was a category page.
category_videos = CompatibleListingView.as_view(
    template_name='localtv/category.html',
    filter_name='category',
    filter_kwarg='slug')
urlpatterns += patterns(
    'localtv.listing.views',
    url(r'^search/$',
        CompatibleListingView.as_view(
            template_name='localtv/video_listing_search.html', ),
        name='localtv_search'),
    url(r'^category/$',
        SiteListView.as_view(template_name='localtv/categories.html',
                             queryset=Category.objects.filter(level=0),
                             paginate_by=15),
        name='localtv_category_index'),
    url(r'^category/(?P<slug>[-\w]+)/$',
        category_videos,
        name='localtv_category'),