Skip to content

Commit

Permalink
fix PEP8 errors (metaparticle-io#88)
Browse files Browse the repository at this point in the history
  • Loading branch information
tomkukral authored and brendandburns committed Feb 3, 2018
1 parent 550dcbe commit c70f0b7
Show file tree
Hide file tree
Showing 15 changed files with 49 additions and 18 deletions.
1 change: 1 addition & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ matrix:
- pip install -r python/requirements.txt
script:
- python3 -m pytest --cov=. --cov-report=term-missing:skip-covered
- python3 -m flake8 --config python/setup.cfg

- language: node_js
node_js: 8
Expand Down
4 changes: 4 additions & 0 deletions python/examples/web/web.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,21 @@

port = 8080


class MyHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
def do_GET(self):
self.send_response(OK)
self.send_header("Content-type", "text/plain")
self.end_headers()
self.wfile.write("Hello Metaparticle [{}] @ {}\n".format(self.path, socket.gethostname()).encode('UTF-8'))
print("request for {}".format(self.path))

def do_HEAD(self):
self.send_response(OK)
self.send_header("Content-type", "text/plain")
self.end_headers()


@Containerize(
package={'name': 'web', 'repository': 'docker.io/brendanburns'},
runtime={'ports': [8080], 'executor': 'metaparticle', 'replicas': 3}
Expand All @@ -29,5 +32,6 @@ def main():
httpd = socketserver.TCPServer(("", port), Handler)
httpd.serve_forever()


if __name__ == '__main__':
main()
4 changes: 3 additions & 1 deletion python/metaparticle_pkg/__init__.py
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
from metaparticle_pkg.containerize import Containerize
from metaparticle_pkg.containerize import Containerize

__all__ = [Containerize]
4 changes: 3 additions & 1 deletion python/metaparticle_pkg/builder/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
from metaparticle_pkg.builder.docker_builder import DockerBuilder


def select(spec):
if spec == 'docker':
return DockerBuilder()
raise Exception('Unknown spec {}'.format(spec))
raise Exception('Unknown spec {}'.format(spec))
9 changes: 9 additions & 0 deletions python/metaparticle_pkg/option.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
import sys
import os


def load(cls, options):
if not isinstance(options, dict):
sys.stderr.write("Must provide an options dict.")
Expand All @@ -16,23 +17,31 @@ def load(cls, options):
sys.stderr.write("Unexpected option(s) provided: %s" % error)
sys.exit(1)


class RuntimeOptions(namedtuple('Runtime', 'executor replicas ports publicAddress shardSpec jobSpec')):
required_options = []

def __new__(cls, executor='docker', replicas=0, ports=[], publicAddress=[], shardSpec=None, jobSpec=None):
return super(RuntimeOptions, cls).__new__(cls, executor, replicas, ports, publicAddress, shardSpec, jobSpec)


class ShardSpec(namedtuple('ShardSpec', 'shards shardExpression')):
required_options = []

def __new__(cls, shards=0, shardExpression='.*'):
return super(ShardSpec, cls).__new__(cls, shards, shardExpression)


class JobSpec(namedtuple('JobSpec', 'iterations')):
required_options = ['iterations']

def __new__(cls, iterations=0):
return super(JobSpec, cls).__new__(cls, iterations)


class PackageOptions(namedtuple('Package', 'repository name builder publish verbose quiet py_version')):
required_options = ['repository']

def __new__(cls, repository, name, builder='docker', publish=False, verbose=True, quiet=False, py_version=3, dockerfile=None):
name = name if name else os.path.basename(os.getcwd())
return super(PackageOptions, cls).__new__(cls, repository, name, builder, publish, verbose, quiet, py_version)
4 changes: 3 additions & 1 deletion python/metaparticle_pkg/runner/__init__.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
from metaparticle_pkg.runner.docker_runner import DockerRunner
from metaparticle_pkg.runner.metaparticle import MetaparticleRunner


def select(spec):
if spec == 'docker':
return DockerRunner()
if spec == 'metaparticle':
return MetaparticleRunner()
raise Exception('Unknown spec {}'.format(spec))

raise Exception('Unknown spec {}'.format(spec))
11 changes: 6 additions & 5 deletions python/metaparticle_pkg/runner/metaparticle.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
import os
import subprocess


class MetaparticleRunner:
def cancel(self, name):
subprocess.check_call(['mp-compiler', '-f', '.metaparticle/spec.json', '--delete'])
Expand All @@ -19,19 +20,19 @@ def ports(self, portArray):
return result

def run(self, img, name, options):
svc = {
svc = {
"name": name,
"guid": 1234567,
}

if options.replicas > 0 or options.shardSpec is not None:
svc["services"] = [
svc["services"] = [
{
"name": name,
"replicas": options.replicas,
"shardSpec": options.shardSpec,
"containers": [
{ "image": img }
{"image": img}
],
"ports": self.ports(options.ports)
}
Expand All @@ -46,7 +47,7 @@ def run(self, img, name, options):
"name": name,
"replicas": options.jobSpec['iterations'],
"containers": [
{ "image": img }
{"image": img}
]
}
]
Expand All @@ -56,5 +57,5 @@ def run(self, img, name, options):

with open('.metaparticle/spec.json', 'w') as out:
json.dump(svc, out)

subprocess.check_call(['mp-compiler', '-f', '.metaparticle/spec.json'])
2 changes: 1 addition & 1 deletion python/metaparticle_pkg/runner/test/test_docker_runner.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@


import unittest
from unittest.mock import patch, call, MagicMock
from unittest.mock import patch, MagicMock
from metaparticle_pkg.runner import docker_runner


Expand Down
3 changes: 1 addition & 2 deletions python/metaparticle_pkg/test/test_containerize.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
#!/usr/bin/env python
'''Unit tests for containerize module'''

import os as original_os
import unittest
from unittest.mock import patch, call, mock_open, MagicMock
from unittest.mock import patch, mock_open, MagicMock
from metaparticle_pkg import containerize
from types import FunctionType

Expand Down
5 changes: 5 additions & 0 deletions python/metaparticle_pkg/version.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"version": "0.6.3",
"license": "MIT",
"status": "Development",
}
3 changes: 0 additions & 3 deletions python/metaparticle_pkg/version.py

This file was deleted.

1 change: 1 addition & 0 deletions python/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
docker==2.7.0
flake8
pytest
pytest-cov
2 changes: 2 additions & 0 deletions python/setup.cfg
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
[metadata]
description-file = README.md

[flake8]
max-line-length = 160
10 changes: 6 additions & 4 deletions python/setup.py
Original file line number Diff line number Diff line change
@@ -1,23 +1,25 @@
import setuptools
import json

exec(open('./metaparticle_pkg/version.py').read())
config = json.loads('./metaparticle_pkg/version.json')

setuptools.setup(
name='metaparticle_pkg',
version=__version__,
version=config['version'],
url='https://github.com/metaparticle-io/package/tree/master/python',
license=__license__,
license=config['license'],
description='Easily containerize your python application',
author='Metaparticle Authors',
packages=setuptools.find_packages(),
package_data={},
include_package_data=False,
zip_safe=False,
install_requires=['docker==2.7.0'],
test_require=['pytest', 'flake8'],
platforms='linux',
keywords=['kubernetes', 'docker', 'container', 'metaparticle'],
# latest from https://pypi.python.org/pypi?%3Aaction=list_classifiers
classifiers = [
classifiers=[
'Development Status :: 4 - Beta',
'Environment :: Console',
'Intended Audience :: Developers',
Expand Down
4 changes: 4 additions & 0 deletions tutorials/python/web.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,22 +7,26 @@

port = 8080


class MyHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
def do_GET(self):
self.send_response(OK)
self.send_header("Content-type", "text/plain")
self.end_headers()
self.wfile.write("Hello Metparticle [{}] @ {}\n".format(self.path, socket.gethostname()).encode('UTF-8'))
print("request for {}".format(self.path))

def do_HEAD(self):
self.send_response(OK)
self.send_header("Content-type", "text/plain")
self.end_headers()


def main():
Handler = MyHandler
httpd = socketserver.TCPServer(("", port), Handler)
httpd.serve_forever()


if __name__ == '__main__':
main()

0 comments on commit c70f0b7

Please sign in to comment.