summaryrefslogtreecommitdiffstats
path: root/meta-phosphor/common/recipes-devtools/python
diff options
context:
space:
mode:
authorBrad Bishop <bradleyb@us.ibm.com>2015-11-09 14:43:12 -0500
committerBrad Bishop <bradleyb@us.ibm.com>2015-11-09 15:53:53 -0500
commit8af1e9a63ba647881f7415c77f7feb7d8eebe616 (patch)
tree0de2e49bc5e7625cfeba5471db2656b447e1b31b /meta-phosphor/common/recipes-devtools/python
parent8f29b920a42ede3d2be0fa4a4753837523bf8ed3 (diff)
downloadtalos-openbmc-8af1e9a63ba647881f7415c77f7feb7d8eebe616.tar.gz
talos-openbmc-8af1e9a63ba647881f7415c77f7feb7d8eebe616.zip
Add Bottle recipe
Bottle is a python wsgi micro-framework for developing web applications.
Diffstat (limited to 'meta-phosphor/common/recipes-devtools/python')
-rw-r--r--meta-phosphor/common/recipes-devtools/python/bottle.inc18
-rw-r--r--meta-phosphor/common/recipes-devtools/python/bottle/LICENSE19
-rw-r--r--meta-phosphor/common/recipes-devtools/python/bottle/json-format.patch31
-rw-r--r--meta-phosphor/common/recipes-devtools/python/bottle_0.12.9.bb4
4 files changed, 72 insertions, 0 deletions
diff --git a/meta-phosphor/common/recipes-devtools/python/bottle.inc b/meta-phosphor/common/recipes-devtools/python/bottle.inc
new file mode 100644
index 000000000..bfd5a48bd
--- /dev/null
+++ b/meta-phosphor/common/recipes-devtools/python/bottle.inc
@@ -0,0 +1,18 @@
+SUMMARY = "Fast and simple WSGI-framework for small web-applications."
+DESCRIPTION = "Bottle is a fast and simple micro-framework for small web \
+applications. It offers request dispatching (Routes) with url parameter \
+support, templates, a built-in HTTP Server and adapters for many third \
+party WSGI/HTTP-server and template engines - all in a single file and \
+with no dependencies other than the Python Standard Library."
+HOMEPAGE = "http://bottlepy.org/"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=94b9b2cc7e46ccea87e00af8970826b5"
+
+inherit allarch
+inherit setuptools
+
+# bottle doesn't send email...it uses a utility in here to parse rfc1123 and rfc850 timestamps.
+RDEPENDS_${PN} += "python-email"
+
+BBCLASSEXTEND = "nativesdk"
diff --git a/meta-phosphor/common/recipes-devtools/python/bottle/LICENSE b/meta-phosphor/common/recipes-devtools/python/bottle/LICENSE
new file mode 100644
index 000000000..5f3e8de3a
--- /dev/null
+++ b/meta-phosphor/common/recipes-devtools/python/bottle/LICENSE
@@ -0,0 +1,19 @@
+Copyright (c) 2014, Marcel Hellkamp.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/meta-phosphor/common/recipes-devtools/python/bottle/json-format.patch b/meta-phosphor/common/recipes-devtools/python/bottle/json-format.patch
new file mode 100644
index 000000000..9e754a996
--- /dev/null
+++ b/meta-phosphor/common/recipes-devtools/python/bottle/json-format.patch
@@ -0,0 +1,31 @@
+Index: bottle-0.12.9/bottle.py
+===================================================================
+--- bottle-0.12.9.orig/bottle.py
++++ bottle-0.12.9/bottle.py
+@@ -1721,8 +1721,10 @@ class JSONPlugin(object):
+ name = 'json'
+ api = 2
+
+- def __init__(self, json_dumps=json_dumps):
++ def __init__(self, json_dumps=json_dumps, **kw):
+ self.json_dumps = json_dumps
++ self.json_kw = { x:y for x,y in kw.iteritems() \
++ if x in ['indent','sort_keys'] }
+
+ def apply(self, callback, route):
+ dumps = self.json_dumps
+@@ -1735,12 +1737,12 @@ class JSONPlugin(object):
+
+ if isinstance(rv, dict):
+ #Attempt to serialize, raises exception on failure
+- json_response = dumps(rv)
++ json_response = dumps(rv, **self.json_kw)
+ #Set content type only if serialization succesful
+ response.content_type = 'application/json'
+ return json_response
+ elif isinstance(rv, HTTPResponse) and isinstance(rv.body, dict):
+- rv.body = dumps(rv.body)
++ rv.body = dumps(rv.body, **self.json_kw)
+ rv.content_type = 'application/json'
+ return rv
+
diff --git a/meta-phosphor/common/recipes-devtools/python/bottle_0.12.9.bb b/meta-phosphor/common/recipes-devtools/python/bottle_0.12.9.bb
new file mode 100644
index 000000000..72925e792
--- /dev/null
+++ b/meta-phosphor/common/recipes-devtools/python/bottle_0.12.9.bb
@@ -0,0 +1,4 @@
+require bottle.inc
+SRC_URI = "https://pypi.python.org/packages/source/b/${BPN}/${BP}.tar.gz;name=tarball file://LICENSE file://json-format.patch"
+SRC_URI[tarball.sha256sum] = "fe0a24b59385596d02df7ae7845fe7d7135eea73799d03348aeb9f3771500051"
+SRC_URI[tarball.md5sum] = "f5850258a86224a791171e8ecbb66d99"
OpenPOWER on IntegriCloud