diff --git a/unitgrade/__init__.py b/unitgrade/__init__.py index f3879d9598bd049e16f5d206fb7a9833074012f6..99989728ac63870fdc5e1b3da76d02f0f320a3d5 100644 --- a/unitgrade/__init__.py +++ b/unitgrade/__init__.py @@ -1,9 +1,9 @@ __version__ = "0.1.1" import os -import compress_pickle - +# DONT't import stuff here since install script requires __version__ def cache_write(object, file_name, verbose=True): + import compress_pickle dn = os.path.dirname(file_name) if not os.path.exists(dn): os.mkdir(dn) @@ -19,6 +19,7 @@ def cache_exists(file_name): def cache_read(file_name): + import compress_pickle # Import here because if you import in top the __version__ tag will fail. # file_name = cn_(file_name) if cache_prefix else file_name if os.path.exists(file_name): with open(file_name, 'rb') as f: diff --git a/unitgrade/__pycache__/__init__.cpython-38.pyc b/unitgrade/__pycache__/__init__.cpython-38.pyc index fe29634741d7164df169bb385cf163de1bb123e7..aad20047d70f9beb019dc28fbd0b324c810fd2da 100644 Binary files a/unitgrade/__pycache__/__init__.cpython-38.pyc and b/unitgrade/__pycache__/__init__.cpython-38.pyc differ diff --git a/unitgrade/__pycache__/unitgrade.cpython-38.pyc b/unitgrade/__pycache__/unitgrade.cpython-38.pyc index 1820044dbeb50acd99e4450a74eb13fb9884584a..4ec517f8d78648f4f3a326106aaf7679cb7f9047 100644 Binary files a/unitgrade/__pycache__/unitgrade.cpython-38.pyc and b/unitgrade/__pycache__/unitgrade.cpython-38.pyc differ diff --git a/unitgrade/__pycache__/unitgrade_helpers.cpython-38.pyc b/unitgrade/__pycache__/unitgrade_helpers.cpython-38.pyc index de94034c741f9ec141918e8686ac6779ae7409eb..c331efa43b502f419b9e03d666adf77bedf29570 100644 Binary files a/unitgrade/__pycache__/unitgrade_helpers.cpython-38.pyc and b/unitgrade/__pycache__/unitgrade_helpers.cpython-38.pyc differ diff --git a/unitgrade/unitgrade.py b/unitgrade/unitgrade.py index 3488f58fb3c23f9cfed47c9742df21d22f107b92..222443fb2187e0338b94e22b36715bfdb83b59ad 100644 --- a/unitgrade/unitgrade.py +++ b/unitgrade/unitgrade.py @@ -114,7 +114,7 @@ class QItem(unittest.TestCase): def test(self, computed, expected): self.testfun(computed, expected) - def get_points(self, verbose=False, show_expected=False, show_computed=False,unmute=False, passall=False, **kwargs): + def get_points(self, verbose=False, show_expected=False, show_computed=False,unmute=False, passall=False, silent=False, **kwargs): possible = 1 computed = None def show_computed_(computed): @@ -132,12 +132,13 @@ class QItem(unittest.TestCase): computed = self.compute_answer(unmute=unmute) except Exception as e: if not passall: - print("\n=================================================================================") - print(f"When trying to run test class '{self.name}' your code threw an error:", e) - show_expected_(correct) - import traceback - print(traceback.format_exc()) - print("=================================================================================") + if not silent: + print("\n=================================================================================") + print(f"When trying to run test class '{self.name}' your code threw an error:", e) + show_expected_(correct) + import traceback + print(traceback.format_exc()) + print("=================================================================================") return (0, possible) if self._computed_answer is None: @@ -153,11 +154,12 @@ class QItem(unittest.TestCase): if not passall: self.test(computed=computed, expected=correct) except Exception as e: - print("\n=================================================================================") - print(f"Test output from test class '{self.name}' does not match expected result. Test error:") - print(e) - show_computed_(computed) - show_expected_(correct) + if not silent: + print("\n=================================================================================") + print(f"Test output from test class '{self.name}' does not match expected result. Test error:") + print(e) + show_computed_(computed) + show_expected_(correct) return (0, possible) return (1, possible) diff --git a/unitgrade/unitgrade_helpers.py b/unitgrade/unitgrade_helpers.py index 4039f0be2affdfe55cb100cb00270e76c378f555..2cd7709757a963218922893d4d9844f87527e025 100644 --- a/unitgrade/unitgrade_helpers.py +++ b/unitgrade/unitgrade_helpers.py @@ -87,7 +87,8 @@ def upack(q): # ws, possible, obtained = (np.asarray(x).squeeze() for x in zip([(i['w'], i['possible'], i['obtained']) for i in q.values()])) # return ws, possible, obtained -def evaluate_report(report, question=None, qitem=None, passall=False, verbose=False, show_expected=False, show_computed=False,unmute=False, show_help_flag=True): +def evaluate_report(report, question=None, qitem=None, passall=False, verbose=False, show_expected=False, show_computed=False,unmute=False, show_help_flag=True, + silent=False): now = datetime.now() ascii_banner = pyfiglet.figlet_format("UnitGrade", font="doom") b = "\n".join( [l for l in ascii_banner.splitlines() if len(l.strip()) > 0] ) @@ -129,7 +130,7 @@ def evaluate_report(report, question=None, qitem=None, passall=False, verbose=Fa sys.stdout.flush() import time start = time.time() - (current, possible) = item.get_points(show_expected=show_expected, show_computed=show_computed,unmute=unmute, passall=passall) + (current, possible) = item.get_points(show_expected=show_expected, show_computed=show_computed,unmute=unmute, passall=passall, silent=silent) q_[j] = {'w': iw, 'possible': possible, 'obtained': current, 'hidden': hidden, 'computed': str(item._computed_answer), 'title': item.title} tsecs = np.round(time.time()-start, 2)