1
0
mirror of https://github.com/mbirth/tcl_ota_check.git synced 2024-09-19 22:33:25 +01:00
tcl_ota_check/tclchksum.py

44 lines
1.1 KiB
Python
Raw Normal View History

2018-02-02 02:05:31 +00:00
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# pylint: disable=C0111,C0326,C0103
2018-02-03 21:25:26 +00:00
"""Return checksum for given firmware."""
2018-02-02 02:05:31 +00:00
import random
import sys
2018-02-03 20:24:36 +00:00
2018-02-02 02:05:31 +00:00
import tcllib
2018-02-02 02:33:53 +00:00
import tcllib.argparser
from tcllib.xmltools import pretty_xml
2018-02-03 20:24:36 +00:00
2018-02-02 02:05:31 +00:00
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.
"""
2018-02-02 02:33:53 +00:00
dp = tcllib.argparser.DefaultParser(__file__, dpdesc)
2018-02-02 02:05:31 +00:00
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))
2018-02-02 02:05:31 +00:00
file_addr, sha1_body, sha1_enc_footer, sha1_footer = fc.parse_checksum(chksum_xml)