From ff5980dfcab9f7ee5cddf6d509611dca93ef220b Mon Sep 17 00:00:00 2001 From: jobevers Date: Tue, 21 Feb 2017 09:36:08 -0600 Subject: [PATCH] fix broken version check --- lbrynet/lbrynet_daemon/Daemon.py | 18 ++++++++++-------- tests/unit/lbrynet_daemon/test_Daemon.py | 7 +++++-- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/lbrynet/lbrynet_daemon/Daemon.py b/lbrynet/lbrynet_daemon/Daemon.py index 2e3ea843e..b40d0c9d1 100644 --- a/lbrynet/lbrynet_daemon/Daemon.py +++ b/lbrynet/lbrynet_daemon/Daemon.py @@ -124,6 +124,7 @@ class CheckInternetConnection(object): class CheckRemoteVersion(object): + URL = 'https://api.github.com/repos/lbryio/lbry-electron/releases/latest' def __init__(self): self.version = None @@ -163,14 +164,7 @@ class CheckRemoteVersion(object): def _get_version_from_release(self, release): """Return the latest released version from github.""" tag = release['tag_name'] - return self._get_version_from_tag(tag) - - def _get_version_from_tag(self, tag): - match = re.match('v([\d.]+)', tag) - if match: - return match.group(1) - else: - raise Exception('Failed to parse version from tag {}'.format(tag)) + return get_version_from_tag(tag) def is_update_available(self): try: @@ -2828,3 +2822,11 @@ def get_blob_payment_rate_manager(session, payment_rate_manager=None): payment_rate_manager = rate_managers[payment_rate_manager] log.info("Downloading blob with rate manager: %s", payment_rate_manager) return payment_rate_manager or session.payment_rate_manager + + +def get_version_from_tag(tag): + match = re.match('v([\d.]+)', tag) + if match: + return match.group(1) + else: + raise Exception('Failed to parse version from tag {}'.format(tag)) diff --git a/tests/unit/lbrynet_daemon/test_Daemon.py b/tests/unit/lbrynet_daemon/test_Daemon.py index 9509fb122..8d4c08778 100644 --- a/tests/unit/lbrynet_daemon/test_Daemon.py +++ b/tests/unit/lbrynet_daemon/test_Daemon.py @@ -28,7 +28,9 @@ class MiscTests(unittest.TestCase): } with mock.patch('lbrynet.lbrynet_daemon.Daemon.requests') as req: req.get.return_value = response - self.assertEqual('0.3.8', Daemon.get_lbry_electron_client_version_from_github()) + rv = Daemon.CheckRemoteVersion() + rv._get_lbry_electron_client_version() + self.assertEqual('0.3.8', rv.version) def test_error_is_thrown_if_prerelease(self): response = mock.create_autospec(requests.Response) @@ -38,8 +40,9 @@ class MiscTests(unittest.TestCase): } with mock.patch('lbrynet.lbrynet_daemon.Daemon.requests') as req: req.get.return_value = response + rv = Daemon.CheckRemoteVersion() with self.assertRaises(Exception): - Daemon.get_lbrynet_version_from_github() + rv._get_lbry_electron_client_version() def test_error_is_thrown_when_version_cant_be_parsed(self): with self.assertRaises(Exception):