Skip to content

Commit b79076b

Browse files
authored
Merge pull request #109 from cs50/add-version-check
update version check
2 parents 2672e0c + 097fe2a commit b79076b

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

compare50/__main__.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
import traceback
1313
import time
1414
import tempfile
15+
import requests
16+
import packaging.version
1517

1618
import attr
1719
import lib50
@@ -362,6 +364,18 @@ def main():
362364

363365
args = parser.parse_args()
364366

367+
# Check for newer version
368+
if __version__:
369+
try:
370+
latest = max(requests.get("https://pypi.org/pypi/compare50/json", timeout=30).json()["requests"], key=packaging.version.parse)
371+
if latest > __version__:
372+
termcolor.cprint(
373+
"A newer version of compare50 is available. Run pip3 install --upgrade compare50 to upgrade.", "magenta")
374+
except requests.ConnectionError: # don't error if running offline
375+
pass
376+
except Exception as e:
377+
termcolor.cprint(f"Version check failed: {e}", "red")
378+
365379
excepthook.verbose = args.verbose
366380

367381
# Set max file size in bytes

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,6 @@
2222
packages=find_packages(exclude=["tests"]),
2323
scripts=["bin/compare50"],
2424
url="https://github.com/cs50/compare50",
25-
version="1.2.8",
25+
version="1.2.9",
2626
include_package_data=True,
2727
)

0 commit comments

Comments
 (0)