This is code I wrote as part of an interview process with Grokstream.
The code just uploads perfect squares from 1, 4, 9, 16, ...infinity, one perfect square every five minutes. See the Makefile for invocation examples; some of the rules include:
Rule name |
Sample invocation |
What it is |
What it does |
add-dependencies | make add-dependencies | Dependency installation | Install required rpm's and pypi packages |
run-curl-test | make run-curl-test | A rudimentary test script in bash+curl. I used this to explore the API a little before starting the python coding. | A bash syntax check and ./curl-test invocation |
run-test-every-n-seconds | make run-test-every-n-seconds | Automated tests for every_n_seconds.py | Scrutinize every_n_seconds.py using pylint (2.x and 3.x), run pep8, and test on CPython 2.x and CPython 3.x |
run-real-thing | make run-real-thing | Automated tests for real_thing.py. This is main entry point for the assignment | Scrutinize all relevant .py's using pylint (2.x and 3.x), run pep8, and run forever on CPython 2.x. Works on 3.x too, but that is not enabled right now! |
BTW, the "make" rules want /usr/bin/python3, pylint for 2.x and 3.x, and pep8 for either - which you can get, on CentOS 7, by running "make add-dependencies". The code runs on either CPython 2.x or CPython 3.x, at your option!