From bbc1b6644ed13972da4fca8b1c9c0bc66924eba1 Mon Sep 17 00:00:00 2001
From: Markus Birth <mbirth@gmail.com>
Date: Sun, 11 Feb 2018 01:30:24 +0100
Subject: [PATCH] Updated tclcheck_gapfill.py to new style.

---
 tclcheck_gapfill.py | 33 +++++++++++++++++----------------
 1 file changed, 17 insertions(+), 16 deletions(-)

diff --git a/tclcheck_gapfill.py b/tclcheck_gapfill.py
index b695c3c..6fe7e93 100644
--- a/tclcheck_gapfill.py
+++ b/tclcheck_gapfill.py
@@ -6,20 +6,18 @@
 """Query existence of missing OTAs."""
 
 import json
-
 import requests
-from requests.exceptions import RequestException
 
-import tcllib
-from tcllib.devices import DesktopDevice, MobileDevice
+from tcllib import ansi
+from tcllib.devices import MobileDevice
+from tcllib.requests import RequestRunner, CheckRequest, ServerVoteSelector, \
+        write_info_if_dumps_found
 
 
 # 1. Fetch list of missing OTAs (e.g. from ancient versions to current)
 # 2. Query updates from FOTA servers (and store XML)
 # (3. Upload will be done manually with upload_logs.py)
 
-dev = MobileDevice()
-fc = tcllib.FotaCheck()
 
 print("Loading list of missing OTAs.")
 versions_json = requests.get("https://tclota.birth-online.de/json_otaversions.php").text
@@ -30,22 +28,25 @@ for i in versions:
 
 print("Got {} devices and a total of {} missing OTAs.".format(len(versions), num_versions))
 
+dev = MobileDevice()
+
+runner = RequestRunner(ServerVoteSelector())
+runner.max_tries = 20
+
 num_item = 1
 for prd, data in versions.items():
     print("{}:".format(prd), end="", flush=True)
     for ver in data["missing_froms"]:
         print(" {}".format(ver), end="", flush=True)
-        try:
-            dev.curef = prd
-            dev.fwver = ver
-            fc.reset_session(dev)
-            check_xml = fc.do_check(dev, max_tries=20)
-            curef, fv, tv, fw_id, fileid, fn, fsize, fhash = fc.parse_check(check_xml)
+        dev.curef = prd
+        dev.fwver = ver
+        chk = CheckRequest(dev)
+        runner.run(chk)
+        if chk.success:
             print("✔", end="", flush=True)
-        except RequestException as e:
+            num_item += 1
+        else:
             print("✖", end="", flush=True)
-            continue
-        num_item += 1
     print("")
 
-tcllib.FotaCheck.write_info_if_dumps_found()
+write_info_if_dumps_found()