diff --git a/tclcheck_allfull.py b/tclcheck_allfull.py index 3b4d86a..43fe33c 100644 --- a/tclcheck_allfull.py +++ b/tclcheck_allfull.py @@ -7,9 +7,7 @@ import sys -import tcllib -import tcllib.argparser -from tcllib import ansi, devlist +from tcllib import ansi, argparser, devlist from tcllib.devices import DesktopDevice from tcllib.requests import RequestRunner, CheckRequest, ServerVoteSelector, write_info_if_dumps_found @@ -20,7 +18,7 @@ dpdesc = """ Checks for the latest FULL updates for all PRD numbers or only for the PRD specified as prd. """ -dp = tcllib.argparser.DefaultParser(__file__, dpdesc) +dp = argparser.DefaultParser(__file__, dpdesc) dp.add_argument("-p", "--prd", help="CU Reference # to filter scan results", dest="tocheck", nargs="?", default=None, metavar="PRD") dp.add_argument("-l", "--local", help="Force using local database", dest="local", action="store_true", default=False) args = dp.parse_args(sys.argv[1:]) diff --git a/tclcheck_allota.py b/tclcheck_allota.py index bb04bc1..47c328f 100644 --- a/tclcheck_allota.py +++ b/tclcheck_allota.py @@ -7,9 +7,7 @@ import sys -import tcllib -import tcllib.argparser -from tcllib import ansi, devlist +from tcllib import ansi, argparser, devlist from tcllib.devices import MobileDevice from tcllib.requests import RequestRunner, CheckRequest, ServerVoteSelector, write_info_if_dumps_found @@ -20,7 +18,7 @@ dpdesc = """ Checks for the latest OTA updates for all PRD numbers or only for the PRD specified as prd. Initial software version can be specified with forcever. """ -dp = tcllib.argparser.DefaultParser(__file__, dpdesc) +dp = argparser.DefaultParser(__file__, dpdesc) dp.add_argument("forcever", help="Initial software version to check for OTA updates, e.g. AAM481", nargs="?", default=None) dp.add_argument("-p", "--prd", help="CU Reference # to filter scan results", dest="tocheck", nargs="?", default=None, metavar="PRD") dp.add_argument("-l", "--local", help="Force using local database", dest="local", action="store_true", default=False) diff --git a/tcllib/requests/__init__.py b/tcllib/requests/__init__.py index 550f737..ed3b81e 100644 --- a/tcllib/requests/__init__.py +++ b/tcllib/requests/__init__.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from .tcl import * +from .checkrequest import CheckRequest from .runner import * from .serverselector import * from .dumpmgr import write_info_if_dumps_found diff --git a/tcllib/requests/tcl.py b/tcllib/requests/checkrequest.py similarity index 68% rename from tcllib/requests/tcl.py rename to tcllib/requests/checkrequest.py index 217d878..353b495 100644 --- a/tcllib/requests/tcl.py +++ b/tcllib/requests/checkrequest.py @@ -1,31 +1,9 @@ # -*- coding: utf-8 -*- -from .. import devices -from . import tclresult from collections import OrderedDict -from defusedxml import ElementTree - -class TclRequest: - def __init__(self): - self.uri = "" - self.response = None - self.result = None - self.error = None - self.success = False - - def get_headers(self): - return {} - - def get_params(self): - return {} - - def is_done(self, http_status: int, contents: str): - """Checks if query is done or needs retry.""" - return False - - def get_result(self): - """Returns Result object.""" - return self.result +from .. import devices +from .tclrequest import TclRequest +from .tclresult import CheckResult class CheckRequest(TclRequest): def __init__(self, device: devices.Device): @@ -59,7 +37,7 @@ class CheckRequest(TclRequest): } if http_status == 200: self.response = contents - self.result = tclresult.CheckResult(contents) + self.result = CheckResult(contents) self.success = True return True elif http_status in ok_states: @@ -79,15 +57,3 @@ class CheckRequest(TclRequest): # 2. HTTP 204 - means: no newer update available # 3. HTTP 404 - means: invalid device or firmware version # 4. anything else: server problem (esp. 500, 502, 503) - - - -class DownloadRequest(TclRequest): - def __init__(self, device: devices.Device): - super().__init__() - self.uri = "/download_request.php" - self.method = "POST" - self.device = device - - def get_headers(self): - return {"User-Agent": self.device.ua} diff --git a/tcllib/requests/tclrequest.py b/tcllib/requests/tclrequest.py new file mode 100644 index 0000000..be65f91 --- /dev/null +++ b/tcllib/requests/tclrequest.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- + +from . import tclresult + +class TclRequest: + def __init__(self): + self.uri = "" + self.response = None + self.result = None + self.error = None + self.success = False + + def get_headers(self): + return {} + + def get_params(self): + return {} + + def is_done(self, http_status: int, contents: str): + """Checks if query is done or needs retry.""" + return False + + def get_result(self) -> tclresult.TclResult: + """Returns Result object.""" + return self.result