def check_new_release(self, print_output=False):
checker = LastVersion(
cache_dir=program_config.get_dir("cache_dir"),
cache_expiry={"general": 604800}
)
try:
checker.load_data()
except LastVersionCheckingError as e:
if print_output:
print(str(e))
else:
logging.warning(str(e))
return
last_version = checker.last_version
if not last_version:
msg = "Can't understand the latest version: empty response"
if print_output:
print(msg)
else:
logging.warning(msg)
return
try:
version.parse(last_version)
except Exception as e:
msg = "Can't understand the latest version: {}".format(str(e))
if print_output:
print(msg)
else:
logging.warning(msg)
new_rel = version.parse(last_version) > version.parse(__version__)
url = "https://github.com/pierky/arouteserver/releases"
if print_output:
if new_rel:
print("A new release of ARouteServer is available")
print("Details at " + url)
else:
print("No new releases are available")
print("")
print("Current version: {}".format(__version__))
print("Latest version : {}".format(last_version))
else:
if new_rel:
logging.warning("A new release is available: {} "
"(running version: {}) - "
"Details at {}".format(
last_version, __version__, url
))
评论列表
文章目录