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

44 lines
1.1 KiB
Python

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# pylint: disable=C0111,C0326,C0103
"""Return checksum for given firmware."""
import random
import sys
import tcllib
import tcllib.argparser
from tcllib.xmltools import pretty_xml
fc = tcllib.FotaCheck()
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 = tcllib.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"
chksum_xml = fc.do_checksum(random.choice(encslaves), fileurl, fileurl)
print(pretty_xml(chksum_xml))
file_addr, sha1_body, sha1_enc_footer, sha1_footer = fc.parse_checksum(chksum_xml)