====== Improvement - Update gateway code from python 2 to python 3 ======
===== Background =====
Python 2 is no longer supported, we should migrate to python 3.
Python 2 was officially sunset on Jan 1, 2020: https://www.python.org/doc/sunset-python-2/
Prior to doing this, it would be helpful to reformat some of the code - there’s a mix of tabs and spaces (switch to only using spaces)
There’s a python tool called 2to3 that should help with this conversion. Here's a really simple example. Consider an old python2 file below - where there is a print statement without parenthesis:
cat old.py
print "hello, world"
We can run `2to3` on the file with the `-w` flag to edit it inline:
$ 2to3 -w old.py
RefactoringTool: Skipping optional fixer: buffer
RefactoringTool: Skipping optional fixer: idioms
RefactoringTool: Skipping optional fixer: set_literal
RefactoringTool: Skipping optional fixer: ws_comma
RefactoringTool: Refactored old.py
--- old.py (original)
+++ old.py (refactored)
@@ -1 +1 @@
-print "hello world"
+print("hello world")
You can see the print function was modified to convert it to something that's acceptable in python3.
===== Tasks =====
- Cleanup some of the indentation in the code - there mixed tabs and spaces all over the place, this should be converted to use spaces. This is used by the official python style guide.
- Submit a PR for the above changes, get review/approval
- Cleanup the python3 files
- Make sure that the integration test runs properly
- Submit a PR for the above changes, get review/approval