def check_sopel(self): info = requests.get(self.sopel["version_url"], verify=botconfig.core.verify_ssl).json() if self.sopel["version_local"].releaselevel == 'final': self.sopel["version_online_num"] = info['version'] self.sopel["notes"] = info['release_notes'] else: self.sopel["version_online_num"] = info['unstable'] self.sopel["notes"] = info.get('unstable_notes', '') if self.sopel["notes"]: self.sopel["notes"] = 'Full release notes at ' + self.sopel["notes"] self.sopel["version_online"] = sopel._version_info(self.sopel["version_online_num"])
def check_version(bot): version = version_info success = False try: r = requests.get(version_url, timeout=(5, 5)) except requests.exceptions.RequestException: _check_failed(bot) else: success = True try: if success: info = r.json() except ValueError: # TODO: use JSONDecodeError when dropping Pythons < 3.5 _check_failed(bot) success = False if not success: if bot.memory.get('update_failures', 0) <= max_failures: # not enough failures to worry; silently ignore this one return # too many failures to ignore; notify owner bot.say( "[update] I haven't been able to check for updates in a while. " "Please verify that {} is working and I can reach it.".format( version_url), bot.config.core.owner) bot.say( "[update] If this issue persists, please alert the Sopel dev team " "in #sopel on Libera Chat, or open a GitHub issue: " "https://github.com/sopel-irc/sopel/issues", bot.config.core.owner) return _check_succeeded(bot) if version.releaselevel == 'final': latest = info['version'] notes = info['release_notes'] message = stable_message else: latest = info['unstable'] notes = info.get('unstable_notes', '') if notes: notes = ' Full release notes at ' + notes message = unstable_message latest_version = _version_info(latest) if version < latest_version: msg = message.format(latest, current_version, notes) bot.say('[update] ' + msg, bot.config.core.owner)
def check_version(bot): version = sopel.version_info info = requests.get(version_url).json() if version.releaselevel == 'final': latest = info['version'] notes = info['release_notes'] else: latest = info['unstable'] notes = info.get('unstable_notes', '') if notes: notes = 'Full release notes at ' + notes latest_version = sopel._version_info(latest) msg = message.format(latest, sopel.__version__, notes) if version < latest_version: bot.msg(bot.config.core.owner, msg)
def check_version(bot): version = sopel.version_info info = json.loads(sopel.web.get(version_url)) if version.releaselevel == 'final': latest = info['version'] notes = info['release_notes'] else: latest = info['unstable'] notes = info.get('unstable_notes', '') if notes: notes = 'Full release notes at ' + notes latest_version = sopel._version_info(latest) msg = message.format(latest, sopel.__version__, notes) if version < latest_version: bot.msg(bot.config.core.owner, msg)
def check_version(bot): """Check latest sopel version. Notify bot owner if there is an update.""" version = sopel.version_info info = requests.get(version_url).json() if version.releaselevel == 'final': latest = info['version'] notes = info['release_notes'] else: latest = info['unstable'] notes = info.get('unstable_notes', '') if notes: notes = 'Full release notes at ' + notes latest_version = sopel._version_info(latest) msg = message.format(latest, sopel.__version__, notes) if version < latest_version: bot.say(msg, bot.config.core.owner)
def check_version(bot): version = sopel.version_info success = False try: r = requests.get(version_url, timeout=(5, 5)) except requests.exceptions.RequestException: _check_failed(bot) else: success = True try: if success: info = r.json() except ValueError: # TODO: use JSONDecodeError when dropping Pythons < 3.5 _check_failed(bot) if not success and bot.memory.get('update_failures', 0) > 4: bot.say( "I haven't been able to check for updates in a while. " "Please verify that {} is working and I can reach it.".format( version_url), bot.config.core.owner) bot.say( "If this issue persists, please alert the Sopel dev team in " "#sopel on freenode, or open a GitHub issue: " "https://github.com/sopel-irc/sopel/issues", bot.config.core.owner) return _check_succeeded(bot) if version.releaselevel == 'final': latest = info['version'] notes = info['release_notes'] else: latest = info['unstable'] notes = info.get('unstable_notes', '') if notes: notes = 'Full release notes at ' + notes latest_version = sopel._version_info(latest) msg = message.format(latest, sopel.__version__, notes) if version < latest_version: bot.say(msg, bot.config.core.owner)
def check_version(bot): version = sopel.version_info # TODO: Python3 specific. Disable urllib warning from config file. # requests.packages.urllib3.disable_warnings() info = requests.get(version_url, verify=bot.config.core.verify_ssl).json() if version.releaselevel == 'final': latest = info['version'] notes = info['release_notes'] else: latest = info['unstable'] notes = info.get('unstable_notes', '') if notes: notes = 'Full release notes at ' + notes latest_version = sopel._version_info(latest) msg = message.format(latest, sopel.__version__, notes) if version < latest_version: bot.msg(bot.config.core.owner, msg)
def check_version(bot): version = sopel.version_info # TODO: Python3 specific. Disable urllib warning from config file. # requests.packages.urllib3.disable_warnings() info = requests.get(version_url, verify=bot.config.core.verify_ssl).json() if version.releaselevel == "final": latest = info["version"] notes = info["release_notes"] else: latest = info["unstable"] notes = info.get("unstable_notes", "") if notes: notes = "Full release notes at " + notes latest_version = sopel._version_info(latest) msg = message.format(latest, sopel.__version__, notes) if version < latest_version: bot.msg(bot.config.core.owner, msg)
def check_version(bot): version = sopel.version_info # TODO: Python3 specific. Disable urllib warning from config file. # requests.packages.urllib3.disable_warnings() info = requests.get(version_url, verify=bot.config.core.verify_ssl).json() if version.releaselevel == 'final': latest = info['version'] notes = info['release_notes'] else: latest = info['unstable'] notes = info.get('unstable_notes', '') if notes: notes = 'Full release notes at ' + notes latest_version = sopel._version_info(latest) msg = message.format(latest, sopel.__version__, notes) if version < latest_version: bot.say(msg, bot.config.core.owner)