diff --git a/setup.py b/setup.py index b4d078d..1c49faf 100644 --- a/setup.py +++ b/setup.py @@ -16,5 +16,5 @@ package_dir={"": "src"}, packages=["cs50"], url="https://github.com/cs50/python-cs50", - version="2.1.1" + version="2.2.0" ) diff --git a/src/cs50/cs50.py b/src/cs50/cs50.py index 5661aa9..b03cf04 100644 --- a/src/cs50/cs50.py +++ b/src/cs50/cs50.py @@ -117,7 +117,8 @@ def get_string(prompt=None): Read a line of text from standard input and return it as a string, sans trailing line ending. Supports CR (\r), LF (\n), and CRLF (\r\n) as line endings. If user inputs only a line ending, returns "", not None. - Returns None upon error or no input whatsoever (i.e., just EOF). + Returns None upon error or no input whatsoever (i.e., just EOF). Exits + from Python altogether on SIGINT. """ try: if prompt is not None: @@ -126,5 +127,7 @@ def get_string(prompt=None): if not s: return None return re.sub(r"(?:\r|\r\n|\n)$", "", s) + except KeyboardInterrupt: + sys.exit("") except ValueError: return None diff --git a/tests/python2.py b/tests/python2.py index 69de822..c132c20 100644 --- a/tests/python2.py +++ b/tests/python2.py @@ -1,3 +1,7 @@ +import sys + +sys.path.insert(0, "../src") + import cs50 l = cs50.get_long() diff --git a/tests/python3.py b/tests/python3.py index b545b98..452b421 100644 --- a/tests/python3.py +++ b/tests/python3.py @@ -1,3 +1,7 @@ +import sys + +sys.path.insert(0, "../src") + import cs50 i = cs50.get_int() diff --git a/tests/sqltests.py b/tests/sqltests.py index c1f3c0e..c2af662 100644 --- a/tests/sqltests.py +++ b/tests/sqltests.py @@ -3,6 +3,8 @@ import unittest import warnings +sys.path.insert(0, "../src") + from cs50.sql import SQL class SQLTests(unittest.TestCase):