user:kluong:improvement_-_upgrade_gateway_code_from_python2_to_python3

Improvement - Update gateway code from python 2 to python 3

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.

  1. 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.
  2. Submit a PR for the above changes, get review/approval
  3. Cleanup the python3 files
  4. Make sure that the integration test runs properly
  5. Submit a PR for the above changes, get review/approval

Authors

Contributing authors:

kluong

Created by kluong on 2021/10/07 05:23.

  • user/kluong/improvement_-_upgrade_gateway_code_from_python2_to_python3.txt
  • Last modified: 2022/02/17 14:58
  • by kluong