%global _empty_manifest_terminate_build 0 Name: python-pyjack Version: 0.3.2 Release: 1 Summary: Tools to reversibly replace functions / objects with proxy functions / objects for debug, testing, monkey-patching. License: MIT URL: http://packages.python.org/pyjack/ Source0: https://mirrors.aliyun.com/pypi/web/packages/1a/8f/b51bba149c353b55a5ccea1d7c3040be22913d2d5bb9057f992e1e87784e/pyjack-0.3.2.tar.gz BuildArch: noarch %description pyjack is a debug/test/monkey-patching toolset that allows you to reversibly replace *all* references to a function or object in memory with a proxy function or object. pyjack has two major functions: * function "connect" can connect a 'proxy' function to almost any python function/method. This proxy function is called instead of the original function. However, the original function is passed to the proxy function along with all args, kwargs so you can do things like: - Modify the args, kwargs first, print a debug message, then call the original function - Not call the function, rather just log it and print a debug message etc. etc. -- it's all up to you. * function "replace_all_refs" can be used to replace all references to a object with references to another object. This replaces all references in the _entire_ memory space. You get one final reference to the original reference, so it is possible to call this function again to restore the memory state back to it's original state. %package -n python3-pyjack Summary: Tools to reversibly replace functions / objects with proxy functions / objects for debug, testing, monkey-patching. Provides: python-pyjack BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-pyjack pyjack is a debug/test/monkey-patching toolset that allows you to reversibly replace *all* references to a function or object in memory with a proxy function or object. pyjack has two major functions: * function "connect" can connect a 'proxy' function to almost any python function/method. This proxy function is called instead of the original function. However, the original function is passed to the proxy function along with all args, kwargs so you can do things like: - Modify the args, kwargs first, print a debug message, then call the original function - Not call the function, rather just log it and print a debug message etc. etc. -- it's all up to you. * function "replace_all_refs" can be used to replace all references to a object with references to another object. This replaces all references in the _entire_ memory space. You get one final reference to the original reference, so it is possible to call this function again to restore the memory state back to it's original state. %package help Summary: Development documents and examples for pyjack Provides: python3-pyjack-doc %description help pyjack is a debug/test/monkey-patching toolset that allows you to reversibly replace *all* references to a function or object in memory with a proxy function or object. pyjack has two major functions: * function "connect" can connect a 'proxy' function to almost any python function/method. This proxy function is called instead of the original function. However, the original function is passed to the proxy function along with all args, kwargs so you can do things like: - Modify the args, kwargs first, print a debug message, then call the original function - Not call the function, rather just log it and print a debug message etc. etc. -- it's all up to you. * function "replace_all_refs" can be used to replace all references to a object with references to another object. This replaces all references in the _entire_ memory space. You get one final reference to the original reference, so it is possible to call this function again to restore the memory state back to it's original state. %prep %autosetup -n pyjack-0.3.2 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-pyjack -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Tue Jun 20 2023 Python_Bot - 0.3.2-1 - Package Spec generated