Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 2 Mar 2018 05:15:07 +0000 (UTC)
From:      Kubilay Kocak <koobs@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r463370 - in head/net: . py-flask-xml-rpc py-flask-xml-rpc/files
Message-ID:  <201803020515.w225F7D3043832@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: koobs
Date: Fri Mar  2 05:15:06 2018
New Revision: 463370
URL: https://svnweb.freebsd.org/changeset/ports/463370

Log:
  [NEW] net/py-flask-xml-rpc: Adds support for creating XML-RPC APIs to Flask
  
  Flask-XML-RPC is an extension for Flask that makes it easy to create APIs
  based on the XML-RPC standard. It features easy registration of methods
  and namespacing, connects seamlessly to your Flask app, and includes
  plenty of testing helpers.
  
  WWW: https://bitbucket.org/leafstorm/flask-xml-rpc/
  
  PR:		211435
  Submitted by:	John W. O'Brien <john saltant com>

Added:
  head/net/py-flask-xml-rpc/
  head/net/py-flask-xml-rpc/Makefile   (contents, props changed)
  head/net/py-flask-xml-rpc/distinfo   (contents, props changed)
  head/net/py-flask-xml-rpc/files/
  head/net/py-flask-xml-rpc/files/patch-flaskext_xmlrpc.py   (contents, props changed)
  head/net/py-flask-xml-rpc/files/patch-tests_test-xmlrpc.py   (contents, props changed)
  head/net/py-flask-xml-rpc/pkg-descr   (contents, props changed)
Modified:
  head/net/Makefile

Modified: head/net/Makefile
==============================================================================
--- head/net/Makefile	Fri Mar  2 05:13:39 2018	(r463369)
+++ head/net/Makefile	Fri Mar  2 05:15:06 2018	(r463370)
@@ -999,6 +999,7 @@
     SUBDIR += py-dugong
     SUBDIR += py-ec2-cli-tools
     SUBDIR += py-eventlet
+    SUBDIR += py-flask-xml-rpc
     SUBDIR += py-gntp
     SUBDIR += py-gspread
     SUBDIR += py-gspreadsheet

Added: head/net/py-flask-xml-rpc/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/py-flask-xml-rpc/Makefile	Fri Mar  2 05:15:06 2018	(r463370)
@@ -0,0 +1,26 @@
+# $FreeBSD$
+
+PORTNAME=	Flask-XML-RPC
+PORTVERSION=	0.1.2
+CATEGORIES=	net python
+MASTER_SITES=	CHEESESHOP
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	john@saltant.com
+COMMENT=	Adds support for creating XML-RPC APIs to Flask
+
+LICENSE=	MIT
+
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}Flask>0:www/py-flask@${FLAVOR}
+TEST_DEPENDS=	${PYTHON_PKGNAMEPREFIX}nose>0:devel/py-nose@${FLAVOR}
+
+NO_ARCH=	yes
+
+# 2.7,3.4+
+USES=		python
+USE_PYTHON=	autoplist distutils
+
+do-test:
+	@cd ${WRKSRC} && ${PYTHON_CMD} ${PYDISTUTILS_SETUP} test
+
+.include <bsd.port.mk>

Added: head/net/py-flask-xml-rpc/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/py-flask-xml-rpc/distinfo	Fri Mar  2 05:15:06 2018	(r463370)
@@ -0,0 +1,3 @@
+TIMESTAMP = 1487439353
+SHA256 (Flask-XML-RPC-0.1.2.tar.gz) = 4adc7482240a916e8c2205cba38b4bd6e648692d189419686a3116768fa48ab7
+SIZE (Flask-XML-RPC-0.1.2.tar.gz) = 5756

Added: head/net/py-flask-xml-rpc/files/patch-flaskext_xmlrpc.py
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/py-flask-xml-rpc/files/patch-flaskext_xmlrpc.py	Fri Mar  2 05:15:06 2018	(r463370)
@@ -0,0 +1,56 @@
+Obtained-From: https://bitbucket.org/leafstorm/flask-xml-rpc/pull-requests/2/added-python3-support-alongside-python2/commits
+
+# HG changeset patch
+# User Maxime "Pepe_" Buquet <pep+code@bouah.net>
+# Date 1425540278 -32400
+# Node ID 9da0e2bcfe5e32a1db95b639f41f67d3e1a43b80
+# Parent  06a6c81e3a98ecb647e729e239f5de11814901d3
+Added Python3 support alongside Python2
+
+--- flaskext/xmlrpc.py.orig	2015-03-05 00:00:00 UTC
++++ flaskext/xmlrpc.py
+@@ -10,9 +10,16 @@
+ """
+ 
+ from flask import request, current_app
+-from SimpleXMLRPCServer import SimpleXMLRPCDispatcher as Dispatcher
+ import sys
+-import xmlrpclib
++
++if sys.version_info[0] == 2:
++    from SimpleXMLRPCServer import SimpleXMLRPCDispatcher as Dispatcher
++    import xmlrpclib
++    string_types = basestring
++else:
++    from xmlrpc.server import SimpleXMLRPCDispatcher as Dispatcher
++    import xmlrpc.client as xmlrpclib
++    string_types = str
+ 
+ Fault = xmlrpclib.Fault
+ 
+@@ -97,7 +104,7 @@
+                      If not given, the function's :obj:`__name__` attribute
+                      will be used.
+         """
+-        if isinstance(function, basestring):
++        if isinstance(function, string_types):
+             return lambda fn: self.register_function(fn, function)
+         return Dispatcher.register_function(self, function, name)
+     
+@@ -198,7 +205,7 @@
+                      If not given, the function's :obj:`__name__` attribute
+                      will be used.
+         """
+-        if isinstance(function, basestring):
++        if isinstance(function, string_types):
+             return lambda fn: self.register_function(fn, function)
+         if name is None:
+             name = function.__name__
+@@ -249,7 +256,8 @@
+     """
+     try:
+         return xmlrpclib.loads(response)[0][0]
+-    except Fault, fault:
++    except Fault:
++        _, fault = sys.exec_info()[:2]
+         return fault

Added: head/net/py-flask-xml-rpc/files/patch-tests_test-xmlrpc.py
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/py-flask-xml-rpc/files/patch-tests_test-xmlrpc.py	Fri Mar  2 05:15:06 2018	(r463370)
@@ -0,0 +1,45 @@
+Obtained-From: https://bitbucket.org/leafstorm/flask-xml-rpc/pull-requests/2/added-python3-support-alongside-python2/commits
+
+# HG changeset patch
+# User Maxime "Pepe_" Buquet <pep+code@bouah.net>
+# Date 1425540278 -32400
+# Node ID 9da0e2bcfe5e32a1db95b639f41f67d3e1a43b80
+# Parent  06a6c81e3a98ecb647e729e239f5de11814901d3
+Added Python3 support alongside Python2
+
+--- tests/test-xmlrpc.py.orig	2015-03-05 00:00:00 UTC
++++ tests/test-xmlrpc.py
+@@ -7,12 +7,19 @@
+ :copyright: (c) 2010 by Matthew "LeafStorm" Frazier.
+ :license: MIT, see LICENSE for more details.
+ """
+-import xmlrpclib
+ from flask import Flask
+ from flaskext.xmlrpc import (XMLRPCHandler, XMLRPCNamespace, Fault,
+                              dump_method_call, load_method_response,
+                              test_xmlrpc_call, XMLRPCTester)
+ 
++import sys
++PY2 = sys.version_info[0] == 2
++
++if PY2:
++    import xmlrpclib
++else:
++    import xmlrpc.client as xmlrpclib
++
+ 
+ def hello(name='world'):
+     if not name:
+@@ -39,7 +46,11 @@
+         handler = XMLRPCHandler('api')
+         app = Flask(__name__)
+         handler.connect(app, '/api')
+-        assert app.view_functions[handler.endpoint_name].im_self is handler
++        if PY2:
++            app_handler = app.view_functions[handler.endpoint_name].im_self
++        else:
++            app_handler = app.view_functions[handler.endpoint_name].__self__
++        assert app_handler is handler
+     
+     def test_register(self):
+         handler = XMLRPCHandler('api')

Added: head/net/py-flask-xml-rpc/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/py-flask-xml-rpc/pkg-descr	Fri Mar  2 05:15:06 2018	(r463370)
@@ -0,0 +1,6 @@
+Flask-XML-RPC is an extension for Flask that makes it easy to create APIs
+based on the XML-RPC standard. It features easy registration of methods
+and namespacing, connects seamlessly to your Flask app, and includes
+plenty of testing helpers.
+
+WWW: https://bitbucket.org/leafstorm/flask-xml-rpc/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201803020515.w225F7D3043832>