def testCmpifyVersion(self): self.assertEqual(cmpify_version("1.2a.a-3.four"), ((1, ''), (2, 'a'), ('a-3', ), ('four', ))) self.assertEqual(cmpify_version("000.000.000"), cmpify_version("0.0.0")) self.assertNotEqual(cmpify_version("0.0.0"), cmpify_version("0.0")) self.assertTrue(cmpify_version("SVN") > cmpify_version("999.9.9")) self.assertTrue(cmpify_version("10.0") > cmpify_version("2.9.1"))
def belowMinimumVersion(self): if not self.version: return False min_v, new_v, url = self.version min_vc = cmpify_version(min_v) if self.override_vc < min_vc: self.main.shutdown(reconnect='no') text = ( " ", "Your version of Dtella (%s) is too old to be used on this " "network. Please upgrade to the latest version (%s)." % (local.version, new_v), " ", "[If unusual circumstances prevent you from upgrading, " "type !VERSION_OVERRIDE to attempt to connect using this " "unsupported client.]", " ", "Download link: %s" % url ) for par in text: for line in word_wrap(par): self.main.showLoginStatus(line) return True return False
def belowMinimumVersion(self): if not self.version: return False min_v, new_v, url = self.version min_vc = cmpify_version(min_v) if self.override_vc < min_vc: self.main.shutdown(reconnect='no') text = ( " ", "Your version of Dtella (%s) is too old to be used on this " "network. Please upgrade to the latest version (%s)." % (local.version, new_v), " ", "[If unusual circumstances prevent you from upgrading, " "type !VERSION_OVERRIDE to attempt to connect using this " "unsupported client.]", " ", "Download link: %s" % url) for par in text: for line in word_wrap(par): self.main.showLoginStatus(line) return True return False
def testCmpifyVersion(self): self.assertEqual( cmpify_version("1.2a.a-3.four"), ((1, ''), (2, 'a'), ('a-3',), ('four',))) self.assertEqual( cmpify_version("000.000.000"), cmpify_version("0.0.0")) self.assertNotEqual( cmpify_version("0.0.0"), cmpify_version("0.0")) self.assertTrue( cmpify_version("SVN") > cmpify_version("999.9.9")) self.assertTrue( cmpify_version("10.0") > cmpify_version("2.9.1"))
def overrideVersion(self): # User requested skipping of the minimum version control if self.version: min_v, new_v, url = self.version min_vc = cmpify_version(min_v) if not (self.override_vc < min_vc): return False self.override_vc = min_vc return True
def __init__(self, main): self.main = main self.override_vc = cmpify_version(local.version) self.resetReportedVersion() self.cfg_lastUpdate = None self.cfg_busy = False self.cfg_cb = None # Increases logarithmically until we get a first reply self.fail_delay = 10.0 self.cfgRefresh_dcall = None self.minshare = 1 self.version = None
def reportNewVersion(self): if not self.version: return min_v, new_v, url = self.version new_vc = cmpify_version(new_v) if self.reported_vc < new_vc: if self.main.dch: say = self.main.dch.bot.say say("You have Dtella version %s. " "A newer version (%s) is available." % (local.version, new_v)) say("Download link: %s" % url) self.reported_vc = new_vc
def resetReportedVersion(self): self.reported_vc = cmpify_version(local.version)