Files
poky/bitbake/lib/toaster/contrib/tts/urlcheck.py
Richard Purdie 654eadfa30 bitbake: bitbake: Update logger.warn() -> logger.warning()
python deprecated logger.warn() in favour of logger.warning(). This is only
used in bitbake code so we may as well just translate everything to avoid
warnings under python 3. Its safe for python 2.7.

(Bitbake rev: 676a5f592e8507e81b8f748d58acfea7572f8796)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-11 10:34:30 +01:00

54 lines
1.6 KiB
Python

from __future__ import print_function
import sys
import httplib2
import config
import urllist
config.logger.info("Testing %s with %s", config.TOASTER_BASEURL, config.W3C_VALIDATOR)
def validate_html5(url):
http_client = httplib2.Http(None)
status = "Failed"
errors = -1
warnings = -1
urlrequest = config.W3C_VALIDATOR+url
# pylint: disable=broad-except
# we disable the broad-except because we want to actually catch all possible exceptions
try:
resp, _ = http_client.request(urlrequest, "HEAD")
if resp['x-w3c-validator-status'] != "Abort":
status = resp['x-w3c-validator-status']
errors = int(resp['x-w3c-validator-errors'])
warnings = int(resp['x-w3c-validator-warnings'])
if status == 'Invalid':
config.logger.warning("Failed %s is %s\terrors %s warnings %s (check at %s)", url, status, errors, warnings, urlrequest)
else:
config.logger.debug("OK! %s", url)
except Exception as exc:
config.logger.warning("Failed validation call: %s", exc)
return (status, errors, warnings)
def print_validation(url):
status, errors, warnings = validate_html5(url)
config.logger.error("url %s is %s\terrors %s warnings %s (check at %s)", url, status, errors, warnings, config.W3C_VALIDATOR+url)
def main():
print("Testing %s with %s" % (config.TOASTER_BASEURL, config.W3C_VALIDATOR))
if len(sys.argv) > 1:
print_validation(sys.argv[1])
else:
for url in urllist.URLS:
print_validation(config.TOASTER_BASEURL+url)
if __name__ == "__main__":
main()