%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 <Python_Bot@openeuler.org> - 0.3.2-1
- Package Spec generated