diff --git a/abicheck/binhandler.py b/abicheck/binhandler.py index 26211ea239ec639080c9c58765d5920cdcc393f4..9d0b56925a40ae8d7400e06b492f1bb75f5793e2 100644 --- a/abicheck/binhandler.py +++ b/abicheck/binhandler.py @@ -639,7 +639,8 @@ class ABI: html_file = os.path.join(self.output_dir, self.EXPORT_HTML_FILE) self.logger.info(f"The check result is {os.path.abspath(html_file)}") - def clean_cache(self): + @staticmethod + def clean_cache(): cache_dir = '/tmp/abi-info-check-cache' if os.path.exists(cache_dir): shutil.rmtree(cache_dir) diff --git a/abicheck/main.py b/abicheck/main.py index e8a5e417afe561c2814aaf981a3918b96d226ca4..56a68e8fe6b2b88baf83c4e03557fa6dd8922788 100644 --- a/abicheck/main.py +++ b/abicheck/main.py @@ -14,6 +14,7 @@ # along with this program. If not, see . import logging +import signal import sys import os @@ -75,9 +76,15 @@ def main(): # show result checker.show_html() - checker.clean_cache() + +def sigint_handler(sig, frame): + print('You pressed Ctrl+C!') + binhandler.ABI.clean_cache() + sys.exit(0) if __name__ == "__main__": + binhandler.ABI.clean_cache() + signal.signal(signal.SIGINT, sigint_handler) sys.exit(main())