From 21adc312bc64eacbfd17270a59a9aeff69fa14d1 Mon Sep 17 00:00:00 2001 From: Darrell Schiebel Date: Sun, 4 Feb 2024 22:37:05 -0500 Subject: [PATCH] restore copydoc (for Python 3.8 & 3.10) just without type hints --- casagui/apps/__init__.py | 2 +- casagui/utils/_copydoc.py | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/casagui/apps/__init__.py b/casagui/apps/__init__.py index 6117f1d..14baec4 100644 --- a/casagui/apps/__init__.py +++ b/casagui/apps/__init__.py @@ -35,7 +35,7 @@ from ..utils import copydoc initialize_session() -#@copydoc(InteractiveClean) +@copydoc(InteractiveClean) def run_iclean( *args, **kwargs ): ic = InteractiveClean( *args, **kwargs ) return ic( ) diff --git a/casagui/utils/_copydoc.py b/casagui/utils/_copydoc.py index 8f1b416..610829c 100644 --- a/casagui/utils/_copydoc.py +++ b/casagui/utils/_copydoc.py @@ -26,14 +26,16 @@ # ######################################################################## '''Reuse doc string''' +import os +#-------------------------------------------------- # ParamSpec is available with Python >= 3.10 +#-------------------------------------------------- #from typing import Callable, TypeVar, ParamSpec # #P = ParamSpec("P") #T = TypeVar("T") # -def copydoc(src): #def copydoc(src: Callable[P, T]): # """Copy documentation from src""" # @@ -42,4 +44,12 @@ def copydoc(src): # return dest # # return decorator - pass + +def copydoc(src): + """Copy documentation from src""" + + def decorator(dest): + dest.__doc__ = src.__doc__ + return dest + + return decorator