1
0
mirror of https://github.com/mbirth/tcl_ota_check.git synced 2024-11-09 22:06:47 +00:00
tcl_ota_check/tclchksum.py
2018-02-10 20:38:38 -05:00

47 lines
1.1 KiB
Python

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# pylint: disable=C0111,C0326,C0103
"""Return checksum for given firmware."""
import sys
from tcllib import argparser
from tcllib.requests import ChecksumRequest, RequestRunner, ServerSelector
encslaves = [
"54.238.56.196",
"46.51.183.28",
"75.101.149.79",
"54.249.227.45",
"54.249.227.54",
"54.225.78.202",
"54.225.87.236",
"54.195.239.239",
"54.195.240.212",
]
dpdesc = """
Returns the checksum for a given firmware URI.
"""
dp = argparser.DefaultParser(__file__, dpdesc)
dp.add_argument("uri", help="URI to firmware, starts with '/body/...'")
args = dp.parse_args(sys.argv[1:])
fileurl = args.uri
# /body/ce570ddc079e2744558f191895e524d02a60476f/32/268932
#fileurl = "/body/ce570ddc079e2744558f191895e524d02a60476f/2c23717bb747f3c321195419f451de52efa8ea51/263790/268932"
runner = RequestRunner(ServerSelector(encslaves), https=False)
cks = ChecksumRequest(fileurl, fileurl)
runner.run(cks)
if not cks.success:
print("{}".format(cks.error))
sys.exit(4)
cksres = cks.get_result()
print(cksres.pretty_xml())