%global _empty_manifest_terminate_build 0 Name: python-pspring-rest-client Version: 0.2.3 Release: 1 Summary: A rest client for easier life License: TBD URL: https://github.com/vasudevan-palani/pspring-rest-client Source0: https://mirrors.nju.edu.cn/pypi/web/packages/04/53/cdd1cad8a45904834229cb668d64e0314c391e750a870b9826fed019d586/pspring-rest-client-0.2.3.tar.gz BuildArch: noarch Requires: python3-pspring %description # pspring-rest-client This framework is member of pspring based family of frameworks. It provides a means to create rest clients with minimal code. `requests` library is used internally for http requests. Annotations / Decorators that come along with this framework are listed below * `@RestClient(url="")` This decorator will add few boiler plate code that is required to interact with any rest endpoint. The methods significant are `send`, `getUrl`, `addHeader`. The `send` method would accept all arguments that `requests.request` method would. This method will throw `PayloadException` for all not HTTP 200 responses. The `PayloadException` has `response` and `statusCode` attributes which can be further used for error handling. The `addHeader(name,value)` method would add an header The `getUrl` will get the url that is configured along with `@RestClient` decorator. The `handleError` method is exists on the object will be invoked when received a non http 200 response. * `@Mapping(method="",url="")` This decorator will take care of replacing parameters in the url from arguments passed, send the request and return the response Useful classes in this framework `RegExResponseMapper` - this class can be used to tranform one dictionary to another using regex. An example is shown below. The source dictionary fields can be accessed using `$` notation. In the below example `message` is a field inside the `response dictionary. ```python regexmapper = RegExResponseMapper({ ".*Customer does not exist.*" : { "statusCode" : "404", "code" : "APS-1001", "message" : "$response.message" }, ".*" : { "statusCode" : "500", "code" : "APS-1002", "message" : "$response.message" } }) @RestClient(url="https://myapi.com") class MyRestClient(): @Mapping(method="GET",url="/user/{firstName}") def getCustomer(self,firstName): pass @Mapping(method="POST",url="/user/",data=json) def saveCustomer(self): pass @Mapping(method="POST",url="/user/") def saveCustomer(self,customer): self.json=customer def handleError(self,response): return regexmapper.map(response) ``` Documentation at [pspring-rest-client](https://vasudevan-palani.github.io/pspring-rest-client/) To do: * To return objects based on the return type from the response received. %package -n python3-pspring-rest-client Summary: A rest client for easier life Provides: python-pspring-rest-client BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-pspring-rest-client # pspring-rest-client This framework is member of pspring based family of frameworks. It provides a means to create rest clients with minimal code. `requests` library is used internally for http requests. Annotations / Decorators that come along with this framework are listed below * `@RestClient(url="")` This decorator will add few boiler plate code that is required to interact with any rest endpoint. The methods significant are `send`, `getUrl`, `addHeader`. The `send` method would accept all arguments that `requests.request` method would. This method will throw `PayloadException` for all not HTTP 200 responses. The `PayloadException` has `response` and `statusCode` attributes which can be further used for error handling. The `addHeader(name,value)` method would add an header The `getUrl` will get the url that is configured along with `@RestClient` decorator. The `handleError` method is exists on the object will be invoked when received a non http 200 response. * `@Mapping(method="",url="")` This decorator will take care of replacing parameters in the url from arguments passed, send the request and return the response Useful classes in this framework `RegExResponseMapper` - this class can be used to tranform one dictionary to another using regex. An example is shown below. The source dictionary fields can be accessed using `$` notation. In the below example `message` is a field inside the `response dictionary. ```python regexmapper = RegExResponseMapper({ ".*Customer does not exist.*" : { "statusCode" : "404", "code" : "APS-1001", "message" : "$response.message" }, ".*" : { "statusCode" : "500", "code" : "APS-1002", "message" : "$response.message" } }) @RestClient(url="https://myapi.com") class MyRestClient(): @Mapping(method="GET",url="/user/{firstName}") def getCustomer(self,firstName): pass @Mapping(method="POST",url="/user/",data=json) def saveCustomer(self): pass @Mapping(method="POST",url="/user/") def saveCustomer(self,customer): self.json=customer def handleError(self,response): return regexmapper.map(response) ``` Documentation at [pspring-rest-client](https://vasudevan-palani.github.io/pspring-rest-client/) To do: * To return objects based on the return type from the response received. %package help Summary: Development documents and examples for pspring-rest-client Provides: python3-pspring-rest-client-doc %description help # pspring-rest-client This framework is member of pspring based family of frameworks. It provides a means to create rest clients with minimal code. `requests` library is used internally for http requests. Annotations / Decorators that come along with this framework are listed below * `@RestClient(url="")` This decorator will add few boiler plate code that is required to interact with any rest endpoint. The methods significant are `send`, `getUrl`, `addHeader`. The `send` method would accept all arguments that `requests.request` method would. This method will throw `PayloadException` for all not HTTP 200 responses. The `PayloadException` has `response` and `statusCode` attributes which can be further used for error handling. The `addHeader(name,value)` method would add an header The `getUrl` will get the url that is configured along with `@RestClient` decorator. The `handleError` method is exists on the object will be invoked when received a non http 200 response. * `@Mapping(method="",url="")` This decorator will take care of replacing parameters in the url from arguments passed, send the request and return the response Useful classes in this framework `RegExResponseMapper` - this class can be used to tranform one dictionary to another using regex. An example is shown below. The source dictionary fields can be accessed using `$` notation. In the below example `message` is a field inside the `response dictionary. ```python regexmapper = RegExResponseMapper({ ".*Customer does not exist.*" : { "statusCode" : "404", "code" : "APS-1001", "message" : "$response.message" }, ".*" : { "statusCode" : "500", "code" : "APS-1002", "message" : "$response.message" } }) @RestClient(url="https://myapi.com") class MyRestClient(): @Mapping(method="GET",url="/user/{firstName}") def getCustomer(self,firstName): pass @Mapping(method="POST",url="/user/",data=json) def saveCustomer(self): pass @Mapping(method="POST",url="/user/") def saveCustomer(self,customer): self.json=customer def handleError(self,response): return regexmapper.map(response) ``` Documentation at [pspring-rest-client](https://vasudevan-palani.github.io/pspring-rest-client/) To do: * To return objects based on the return type from the response received. %prep %autosetup -n pspring-rest-client-0.2.3 %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-pspring-rest-client -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Tue May 30 2023 Python_Bot - 0.2.3-1 - Package Spec generated