From 9d64ff420fdde3c6eaa6d573d41da3b2f587422c Mon Sep 17 00:00:00 2001 From: Keyan Pishdadian Date: Fri, 6 Feb 2015 14:38:33 -0500 Subject: [PATCH] Early commit for issue #1135 Add support migrating single imports from the flask.ext style to flask_ --- scripts/flaskext_migrate.py | 30 ++++++++++++++++++++++++++++++ scripts/temp.py | 19 +++++++++++++++++++ scripts/test.txt | 20 ++++++++++++++++++++ 3 files changed, 69 insertions(+) create mode 100644 scripts/flaskext_migrate.py create mode 100644 scripts/temp.py create mode 100644 scripts/test.txt diff --git a/scripts/flaskext_migrate.py b/scripts/flaskext_migrate.py new file mode 100644 index 00000000..6e6367a3 --- /dev/null +++ b/scripts/flaskext_migrate.py @@ -0,0 +1,30 @@ +# from flask.ext import foo => import flask_foo as foo +# from flask.ext.foo import bam => from flask_foo import bam +# import flask.ext.foo => import flask_foo + +import sys + + +def migrate(old_file): + new_file = open("temp.py", "w") + for line in old_file: + if line[0:14] == "from flask.ext": + if line[14] == '.': + import_statement = line[15::].split(' ') + extension = import_statement[0] + line = line.replace("flask.ext." + extension, + "flask_" + extension) + elif line[14] == " ": + import_statement = line[15::].split(' ')[1] + import_statement = import_statement.strip('\n') + line = ("import flask_" + + import_statement + + " as " + + import_statement) + + new_file.write(line) + new_file.close() + +if __name__ == "__main__": + old_file = open(sys.argv[1]) + migrate(old_file) diff --git a/scripts/temp.py b/scripts/temp.py new file mode 100644 index 00000000..38ff98cf --- /dev/null +++ b/scripts/temp.py @@ -0,0 +1,19 @@ +from flask_foo import bam +import flask_foo as foo + +def migrate(old_file): + new_file = open("temp.py", "w") + for line in old_file: + if line[0, 15] is "from flask.ext": + if line[15] == '.': + import_statement = line[16::].split(' ') + extension = import_statement[0] + line = line. replace("flask.ext." + extension, + "flask_" + extension) + else: + pass + + new_file.write(line) + +if __name__ == "__main__": + old_file = open(sys.arv[1]) \ No newline at end of file diff --git a/scripts/test.txt b/scripts/test.txt new file mode 100644 index 00000000..d87c7ad0 --- /dev/null +++ b/scripts/test.txt @@ -0,0 +1,20 @@ +from flask.ext.foo import bam +from flask.ext import foo + + +def migrate(old_file): + new_file = open("temp.py", "w") + for line in old_file: + if line[0, 15] is "from flask.ext": + if line[15] == '.': + import_statement = line[16::].split(' ') + extension = import_statement[0] + line = line. replace("flask.ext." + extension, + "flask_" + extension) + else: + pass + + new_file.write(line) + +if __name__ == "__main__": + old_file = open(sys.arv[1]) \ No newline at end of file