summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-29 10:10:15 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-29 10:10:15 +0000
commitfe6140165fb205ee6a0236eef2881c98c31ccb05 (patch)
treed88a6c2b58cbce3f498a394c48780688c39dac1e
parent9661218bf5bf376c37c6a1b01d2a407c92707aaf (diff)
automatic import of python-pspring-rest-client
-rw-r--r--.gitignore1
-rw-r--r--python-pspring-rest-client.spec247
-rw-r--r--sources1
3 files changed, 249 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..d7935e3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/pspring-rest-client-0.2.3.tar.gz
diff --git a/python-pspring-rest-client.spec b/python-pspring-rest-client.spec
new file mode 100644
index 0000000..53af025
--- /dev/null
+++ b/python-pspring-rest-client.spec
@@ -0,0 +1,247 @@
+%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
+* Mon May 29 2023 Python_Bot <Python_Bot@openeuler.org> - 0.2.3-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..e597164
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+65ee0ac68d344e1bc8e1531292bce7c4 pspring-rest-client-0.2.3.tar.gz