コード例 #1
0
    def get(self, request, *args, **kwargs):
        empty_manifest = render_to_string(self.template_name,
                                          dictionary={
                                              'version': 0,
                                              'date': '-',
                                              'network_urls': ['*']
                                          })
        manifest = None
        if not get_setting("DISABLE"):
            appcache_registry.setup(request, self.template_name)
            if self.appcache_update:
                manifest = self._do_update(request, appcache_registry)
                if not manifest:
                    return HttpResponseForbidden(
                        _("Current user is not authorized for this action"))
            else:
                manifest = appcache_registry.get_manifest()
        if manifest and request.user.is_authenticated():
            manifest += "\n# version %s" % "auth"

        if (not manifest or self.force_empty_manifest
                or kwargs.get("parameter", False) == 'empty'):
            manifest = empty_manifest
        return HttpResponse(content=manifest,
                            content_type="text/cache-manifest")
コード例 #2
0
 def test_context_sitemap_en(self):
     with self.settings(HTML5_APPCACHE_USE_SITEMAP=True, LANGUAGE_CODE="en"):
         request = self.get_request('/')
         appcache_registry.setup(request, "")
         urls = appcache_registry.get_cached_urls()
         for url in urls:
             self.assertTrue(url.startswith("/en"))
コード例 #3
0
 def test_context_network(self):
     with self.settings(HTML5_APPCACHE_USE_SITEMAP=False,
                        HTML5_APPCACHE_NETWORK_URL=['/en/list/']):
         request = self.get_request('/')
         appcache_registry.setup(request, "")
         urls = appcache_registry.get_network_urls()
         self.assertEqual(len(urls), 4)
         self.assertIn('/en/list/', urls)
コード例 #4
0
 def test_context_exclude(self):
     with self.settings(HTML5_APPCACHE_USE_SITEMAP=False,
                        HTML5_APPCACHE_EXCLUDE_URL=['/en/list/']):
         request = self.get_request('/')
         appcache_registry.setup(request, "")
         urls = appcache_registry.get_cached_urls()
         self.assertEqual(len(urls), 2)
         self.assertNotIn('/en/list/', urls)
コード例 #5
0
 def test_context_exclude(self):
     with self.settings(HTML5_APPCACHE_USE_SITEMAP=False,
                        HTML5_APPCACHE_EXCLUDE_URL=['/en/list/']):
         request = self.get_request('/')
         appcache_registry.setup(request, "")
         urls = appcache_registry.get_cached_urls()
         self.assertEqual(len(urls), 2)
         self.assertNotIn('/en/list/', urls)
コード例 #6
0
 def test_context_sitemap_en(self):
     with self.settings(HTML5_APPCACHE_USE_SITEMAP=True,
                        LANGUAGE_CODE="en"):
         request = self.get_request('/')
         appcache_registry.setup(request, "")
         urls = appcache_registry.get_cached_urls()
         for url in urls:
             self.assertTrue(url.startswith("/en"))
コード例 #7
0
 def test_context_network(self):
     with self.settings(HTML5_APPCACHE_USE_SITEMAP=False,
                        HTML5_APPCACHE_NETWORK_URL=['/en/list/']):
         request = self.get_request('/')
         appcache_registry.setup(request, "")
         urls = appcache_registry.get_network_urls()
         self.assertEqual(len(urls), 4)
         self.assertIn('/en/list/', urls)
コード例 #8
0
 def test_context_fallback(self):
     with self.settings(HTML5_APPCACHE_USE_SITEMAP=False,
                        HTML5_APPCACHE_FALLBACK_URL={'/en/list/': '/other/'}):
         request = self.get_request('/')
         appcache_registry.setup(request, "")
         urls = appcache_registry.get_fallback_urls()
         self.assertEqual(len(urls), 1)
         self.assertEqual(urls['/en/list/'], '/other/')
コード例 #9
0
 def handle(self, *args, **options):
     self.language = "en"
     request = RequestFactory().get('/')
     request.LANGUAGE_CODE = self.language
     appcache_registry.setup(request, "html5_appcache/manifest")
     if get_setting("OVERRIDE_URLCONF"):
         return self.get_overridden_urls()
     else:
         return self.get_urls()
コード例 #10
0
 def test_context_fallback(self):
     with self.settings(
             HTML5_APPCACHE_USE_SITEMAP=False,
             HTML5_APPCACHE_FALLBACK_URL={'/en/list/': '/other/'}):
         request = self.get_request('/')
         appcache_registry.setup(request, "")
         urls = appcache_registry.get_fallback_urls()
         self.assertEqual(len(urls), 1)
         self.assertEqual(urls['/en/list/'], '/other/')
コード例 #11
0
 def get(self, request, *args, **kwargs):
     if request.is_ajax():
         appcache_registry.setup(request, self.template_name)
         manifest = self._do_update(request, appcache_registry)
         if manifest:
             content = {
                 'text': "OK",
                 'success': True
             }
         else:
             content = {
                 'text': unicode(_("Current user is not authorized for this action")),
                 'success': False
             }
         return HttpResponse(content=json.dumps(content), content_type="text/plain")
     return HttpResponseBadRequest(_("Method not allowed for this view"))
コード例 #12
0
 def get(self, request, *args, **kwargs):
     if request.is_ajax():
         appcache_registry.setup(request, self.template_name)
         manifest = self._do_update(request, appcache_registry)
         if manifest:
             content = {'text': "OK", 'success': True}
         else:
             content = {
                 'text':
                 unicode(
                     _("Current user is not authorized for this action")),
                 'success':
                 False
             }
         return HttpResponse(content=json.dumps(content),
                             content_type="text/plain")
     return HttpResponseBadRequest(_("Method not allowed for this view"))
コード例 #13
0
    def get(self, request, *args, **kwargs):
        empty_manifest = render_to_string(self.template_name, dictionary={
            'version': 0, 'date': '-', 'network_urls': ['*']
        })
        manifest = None
        if not get_setting("DISABLE"):
            appcache_registry.setup(request, self.template_name)
            if self.appcache_update:
                manifest = self._do_update(request, appcache_registry)
                if not manifest:
                    return HttpResponseForbidden(
                        _("Current user is not authorized for this action"))
            else:
                manifest = appcache_registry.get_manifest()
        if manifest and request.user.is_authenticated():
            manifest += "\n# version %s" % "auth"

        if (not manifest or self.force_empty_manifest or
                kwargs.get("parameter", False) == 'empty'):
            manifest = empty_manifest
        return HttpResponse(content=manifest, content_type="text/cache-manifest")
コード例 #14
0
 def test_context_no_sitemap(self):
     with self.settings(HTML5_APPCACHE_USE_SITEMAP=False):
         request = self.get_request('/')
         appcache_registry.setup(request, "")
         urls = appcache_registry.get_cached_urls()
         self.assertEqual(len(urls), 3)
コード例 #15
0
 def test_include_external_reference(self):
     with self.settings(HTML5_APPCACHE_DISCARD_EXTERNAL=False):
         request = self.get_request('/')
         appcache_registry.setup(request, "")
         urls = appcache_registry.get_cached_urls()
         self.assertEqual(len(urls), 6)
コード例 #16
0
 def test_include_external_reference(self):
     with self.settings(HTML5_APPCACHE_DISCARD_EXTERNAL=False):
         request = self.get_request('/')
         appcache_registry.setup(request, "")
         urls = appcache_registry.get_cached_urls()
         self.assertEqual(len(urls), 6)
コード例 #17
0
 def test_context_no_sitemap(self):
     with self.settings(HTML5_APPCACHE_USE_SITEMAP=False):
         request = self.get_request('/')
         appcache_registry.setup(request, "")
         urls = appcache_registry.get_cached_urls()
         self.assertEqual(len(urls), 3)