Source code for bbarchivist.linkgen
#!/usr/bin/env python3
import hashlib
[docs]def doMagic(osversion, radioversion, softwareversion):
"""
Generate debrick/core/radio links for given OS, radio, software release.
:param osversion: OS version, 10.x.y.zzzz.
:type osversion: str
:param radioversion: Radio version, 10.x.y.zzzz.
:type radioversion: str
:param softwareversion: Software version, 10.x.y.zzzz.
:type softwareversion: str
"""
# Hash software version
swhash = hashlib.sha1(softwareversion.encode('utf-8'))
hashedsoftwareversion = swhash.hexdigest()
# Root of all urls
baseurl = "http://cdn.fs.sl.blackberry.com/fs/qnx/production/"
baseurl += hashedsoftwareversion
# List of debrick urls
osurls = ["STL100-1: " + baseurl +
"/winchester.factory_sfi.desktop-" +
osversion + "-nto+armle-v7+signed.bar",
"QC8960: " + baseurl +
"/qc8960.factory_sfi.desktop-" +
osversion + "-nto+armle-v7+signed.bar",
"Z3: " + baseurl +
"/qc8960.factory_sfi_hybrid_qc8x30.desktop-" +
osversion + "-nto+armle-v7+signed.bar",
"PASSPORT: " + baseurl +
"/qc8960.factory_sfi_hybrid_qc8974.desktop-" +
osversion + "-nto+armle-v7+signed.bar"]
# List of core urls
coreurls = ["STL100-1: " + baseurl +
"/winchester.factory_sfi-" +
osversion + "-nto+armle-v7+signed.bar",
"QC8960: " + baseurl +
"/qc8960.factory_sfi-" +
osversion + "-nto+armle-v7+signed.bar",
"Z3: " + baseurl +
"/qc8960.factory_sfi_hybrid_qc8x30-" +
osversion + "-nto+armle-v7+signed.bar",
"PASSPORT: " + baseurl +
"/qc8960.factory_sfi_hybrid_qc8974-" +
osversion + "-nto+armle-v7+signed.bar"]
# List of radio urls
radiourls = ["STL100-1: " + baseurl + "/m5730-" + radioversion +
"-nto+armle-v7+signed.bar",
"STL100-X/P9982: " + baseurl + "/qc8960-" + radioversion +
"-nto+armle-v7+signed.bar",
"STL100-4: " + baseurl + "/qc8960.omadm-" + radioversion +
"-nto+armle-v7+signed.bar",
"Q10/Q5/P9983: " + baseurl + "/qc8960.wtr-" + radioversion +
"-nto+armle-v7+signed.bar",
"Z30/LEAP/CLASSIC: " + baseurl + "/qc8960.wtr5-" +
radioversion +
"-nto+armle-v7+signed.bar",
"Z3: " + baseurl + "/qc8930.wtr5-" + radioversion +
"-nto+armle-v7+signed.bar",
"PASSPORT: " + baseurl + "/qc8974.wtr2-" + radioversion +
"-nto+armle-v7+signed.bar"]
with open(softwareversion + ".txt", "w") as target:
target.write("OS VERSION: " + osversion)
target.write("RADIO VERSION: " + radioversion)
target.write("SOFTWARE RELEASE: " + softwareversion)
target.write("\n!!EXISTENCE NOT GUARANTEED!!\n")
target.write("DEBRICK URLS:")
for i in osurls:
target.write(i + "\n")
target.write("\nCORE URLS:")
for i in coreurls:
target.write(i + "\n")
target.write("\nRADIO URLS:")
for i in radiourls:
target.write(i + "\n")