Caveman er en Python pakke som analyserer og validerer HTML5 cache manifesterer. HTML5-applikasjoner er notorisk kresen om sine cache manifesterer, og det er vanskelig å kontrollere at alle komponentene er som de burde være.
Caveman gir en kommandolinjeskriptet, check_manifest, som trekker en HTML-side, skraper det til brukte ressurser, analyserer sin cache manifest, og validerer ressursene mot manifestet:
& Nbsp; check_manifest URL
Problemer med manifestet er skrevet til standard ut. Flere detaljer om prosessen er utgang hvis du sette loggnivået til en annen alvorlighetsgrad med --level = nivåbryter, der nivået er DEBUG, INFO, ADVARSEL eller FEIL.
programma bruk
Caveman er designet for å kunne brukes fra din egen kode, for eksempel som en del av en større valideringsprosessen, eller som en del av enhet tester i din webapplikasjon.
Caveman arbeid er gjort av ManifestChecker klassen. Du instantiate det med to hjelpere: en get_url funksjon som data fra nettadresser henter og logger objekt som får innloggede meldinger:
fra huleboer import ManifestChecker
def get_url (url): ...
logger = ...
man_checker = ManifestChecker (get_url = get_url, logger = logger)
Deretter kaller sin check_manifest metoden med nettadressen til HTML-siden:
man_checker.check_manifest (url)
Ingen verdi returneres: produksjonen er logget til loggeren objektet. Se docstrings i kildekoden for detaljer.
Django enhet tester
Som et eksempel på programma bruk, her er en måte å bruke Caveman i en Django test suite:
fra huleboer import ManifestChecker
klasse TestManifest (django.test.TestCase):
& Nbsp; def Setup (egen-):
& Nbsp; self.checker = ManifestChecker (get_url = self.get_url, logger = selv)
& Nbsp; self.caveman_log = []
& Nbsp; def get_url (selv, url):
& Nbsp; "" ". En get_url funksjon for` caveman.ManifestChecker` "" "
& Nbsp; # Bruk Django testklient for å hente URL.
& Nbsp; respons = self.client.get (url)
& Nbsp; avkastning response.status_code, response.content, respons
& Nbsp; # Record de alvorlige Caveman meldinger i `self.caveman_log`.
& Nbsp; def debug (selv, msg): pass
& Nbsp; def info (selv, msg): pass
& Nbsp; def advarsel (selv, msg): self.caveman_log.append (msg)
& Nbsp; def feil (selv, msg): self.caveman_log.append (msg)
& Nbsp; def test_my_manifest (egen-):
& Nbsp; "" "Caveman produserer ingen advarsler eller feil for cache manifest." ""
& Nbsp; self.checker.check_manifest ("/")
& Nbsp; self.assertEqual ([], self.caveman_log)
Mer informasjon
Caveman kan lastes ned fra PyPI: http://pypi.python.org/pypi/caveman
HTML5 cache manifest spec er på http://www.w3.org/TR/html5/offline.html
Dokumenter på http://nedbatchelder.com/code/caveman.
. Koden depot og saksporeren er på bitbucket.org
Krav
- Python
Begrensninger
- Caveman trekker bare HTML-siden du angir. Selv om det validerer lenker til andre HTML-sider mot manifestet, det trekker ikke de blir lenket til sider og verifisere sine ressurser.
- Visse regler fra HTML5 spec er ikke validert.
Kommentarer ikke funnet