Skip to content

Commit

Permalink
Merge 7b5f5ac into 4d2a4ff
Browse files Browse the repository at this point in the history
  • Loading branch information
ethe committed Mar 16, 2019
2 parents 4d2a4ff + 7b5f5ac commit 7ed0fc9
Show file tree
Hide file tree
Showing 12 changed files with 386 additions and 360 deletions.
35 changes: 19 additions & 16 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,27 +1,30 @@
language: python
sudo: required
dist: xenial

matrix:
include:
- python: 2.7
env: TOXENV=py27
- python: 3.4
env: TOXENV=py34
- python: 3.5
env: TOXENV=py35
- python: 3.6
env: TOXENV=py36
- python: 3.7
env: TOXENV=py37

install:
- pip install tox
env:
- TOXENV=py27
- TOXENV=py34
- TOXENV=py35

script:
- tox

cache:
directories:
- thrift-0.9.3

before_install:
- pyenv global system 3.5
- ls "thrift-0.9.3" | grep "bootstrap.sh" || wget https://github.com/apache/thrift/archive/0.9.3.tar.gz -O thrift.tar.gz
- ls "thrift-0.9.3" | grep "bootstrap.sh" || tar xf thrift.tar.gz
- cd thrift-0.9.3
- ./bootstrap.sh
- ./configure --without-haskell --without-java --without-php --without-nodejs --without-cpp --without-lua --without-perl --without-ruby --without-erlang --without-rust --without-c_glib --without-go
- make
- sudo make install
- sudo apt-get update
- sudo apt-get install -y thrift-compiler

after_success:
- pip install python-coveralls
- coveralls
2 changes: 1 addition & 1 deletion requirements_py27.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
setproctitle==1.1.10
gevent>=1.0.1
gunicorn>=19.3.0,<19.4.0
gunicorn>=19.9.0,<19.10.0
wsgiref==0.1.2
thrift>=0.9.3
thriftpy2>=0.4.0
2 changes: 1 addition & 1 deletion requirements_py3x.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
setproctitle==1.1.10
gevent>=1.2,<1.3
gevent>=1.4,<1.5
gunicorn>=19.4.0
thriftpy2>=0.4.0
9 changes: 5 additions & 4 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,10 @@
'Operating System :: POSIX',
'Programming Language :: Python',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3.2',
'Programming Language :: Python :: 3.3',
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Topic :: Utilities',
'Topic :: Software Development :: Libraries :: Python Modules',
]
Expand All @@ -30,8 +31,8 @@
# read dev requirements
if PY_VERSION < (2, 7, 0):
raise RuntimeError('Python < 2.7 is unsupported')
elif PY_VERSION >= (3, 0, 0) and PY_VERSION < (3, 2, 0):
raise RuntimeError('Python 3 < 3.2 is unsupported')
elif PY_VERSION >= (3, 0, 0) and PY_VERSION < (3, 4, 0):
raise RuntimeError('Python 3 < 3.4 is unsupported')

if PY_VERSION[0] == 2:
fname = os.path.join(os.path.dirname(__file__), 'requirements_py27.txt')
Expand Down
3 changes: 2 additions & 1 deletion test_requirements_py27.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
pytest
pytest-cov
gevent==1.2.2
thrift>=0.9.3
thrift==0.9.3
futures==3.2.0
2 changes: 1 addition & 1 deletion test_requirements_py3x.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
pytest
pytest-cov
gevent==1.2.2
gevent>=1.4,<1.5
thrift>=0.9.3
125 changes: 74 additions & 51 deletions tests/pingpong_sdk/pingpong/PingService-remote
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
# Autogenerated by Thrift Compiler (0.9.3)
# Autogenerated by Thrift Compiler (0.12.0)
#
# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
#
Expand All @@ -9,86 +9,109 @@

import sys
import pprint
from urlparse import urlparse
from thrift.transport import TTransport
from thrift.transport import TSocket
from thrift.transport import TSSLSocket
from thrift.transport import THttpClient
from thrift.protocol import TBinaryProtocol
if sys.version_info[0] > 2:
from urllib.parse import urlparse
else:
from urlparse import urlparse
from thrift.transport import TTransport, TSocket, TSSLSocket, THttpClient
from thrift.protocol.TBinaryProtocol import TBinaryProtocol

from pingpong import PingService
from pingpong.ttypes import *

if len(sys.argv) <= 1 or sys.argv[1] == '--help':
print('')
print('Usage: ' + sys.argv[0] + ' [-h host[:port]] [-u url] [-f[ramed]] [-s[sl]] function [arg1 [arg2...]]')
print('')
print('Functions:')
print(' string ping()')
print('')
sys.exit(0)

pp = pprint.PrettyPrinter(indent = 2)
print('')
print('Usage: ' + sys.argv[0] + ' [-h host[:port]] [-u url] [-f[ramed]] [-s[sl]] [-novalidate] [-ca_certs certs] [-keyfile keyfile] [-certfile certfile] function [arg1 [arg2...]]')
print('')
print('Functions:')
print(' string ping()')
print('')
sys.exit(0)

pp = pprint.PrettyPrinter(indent=2)
host = 'localhost'
port = 9090
uri = ''
framed = False
ssl = False
validate = True
ca_certs = None
keyfile = None
certfile = None
http = False
argi = 1

if sys.argv[argi] == '-h':
parts = sys.argv[argi+1].split(':')
host = parts[0]
if len(parts) > 1:
port = int(parts[1])
argi += 2
parts = sys.argv[argi + 1].split(':')
host = parts[0]
if len(parts) > 1:
port = int(parts[1])
argi += 2

if sys.argv[argi] == '-u':
url = urlparse(sys.argv[argi+1])
parts = url[1].split(':')
host = parts[0]
if len(parts) > 1:
port = int(parts[1])
else:
port = 80
uri = url[2]
if url[4]:
uri += '?%s' % url[4]
http = True
argi += 2
url = urlparse(sys.argv[argi + 1])
parts = url[1].split(':')
host = parts[0]
if len(parts) > 1:
port = int(parts[1])
else:
port = 80
uri = url[2]
if url[4]:
uri += '?%s' % url[4]
http = True
argi += 2

if sys.argv[argi] == '-f' or sys.argv[argi] == '-framed':
framed = True
argi += 1
framed = True
argi += 1

if sys.argv[argi] == '-s' or sys.argv[argi] == '-ssl':
ssl = True
argi += 1
ssl = True
argi += 1

if sys.argv[argi] == '-novalidate':
validate = False
argi += 1

if sys.argv[argi] == '-ca_certs':
ca_certs = sys.argv[argi+1]
argi += 2

if sys.argv[argi] == '-keyfile':
keyfile = sys.argv[argi+1]
argi += 2

if sys.argv[argi] == '-certfile':
certfile = sys.argv[argi+1]
argi += 2

cmd = sys.argv[argi]
args = sys.argv[argi+1:]
args = sys.argv[argi + 1:]

if http:
transport = THttpClient.THttpClient(host, port, uri)
transport = THttpClient.THttpClient(host, port, uri)
else:
socket = TSSLSocket.TSSLSocket(host, port, validate=False) if ssl else TSocket.TSocket(host, port)
if framed:
transport = TTransport.TFramedTransport(socket)
else:
transport = TTransport.TBufferedTransport(socket)
protocol = TBinaryProtocol.TBinaryProtocol(transport)
if ssl:
socket = TSSLSocket.TSSLSocket(host, port, validate=validate, ca_certs=ca_certs, keyfile=keyfile, certfile=certfile)
else:
socket = TSocket.TSocket(host, port)
if framed:
transport = TTransport.TFramedTransport(socket)
else:
transport = TTransport.TBufferedTransport(socket)
protocol = TBinaryProtocol(transport)
client = PingService.Client(protocol)
transport.open()

if cmd == 'ping':
if len(args) != 0:
print('ping requires 0 args')
sys.exit(1)
pp.pprint(client.ping())
if len(args) != 0:
print('ping requires 0 args')
sys.exit(1)
pp.pprint(client.ping())

else:
print('Unrecognized method %s' % cmd)
sys.exit(1)
print('Unrecognized method %s' % cmd)
sys.exit(1)

transport.close()
Loading

0 comments on commit 7ed0fc9

Please sign in to comment.