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")
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"))
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)
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)
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/')
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()
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/')
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"))
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"))
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)
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)