summaryrefslogtreecommitdiff
path: root/python/helpers/pydev/_pydev_imps/_pydev_execfile.py
diff options
context:
space:
mode:
authorTor Norbye <tnorbye@google.com>2014-08-20 17:28:18 -0700
committerTor Norbye <tnorbye@google.com>2014-08-20 17:28:18 -0700
commitd76e3920c56d37c942092b7dca20fcaded81c0a5 (patch)
tree80a55c7b59c38377216daaada4e8bc47b69ceb9a /python/helpers/pydev/_pydev_imps/_pydev_execfile.py
parent3b37877a2561bf9fbe072253a18688807d523505 (diff)
parent1aa2e09bdbd413eacb677e9fa4b50630530d0656 (diff)
downloadidea-d76e3920c56d37c942092b7dca20fcaded81c0a5.tar.gz
Merge remote-tracking branch 'aosp/upstream-master' into merge
Conflicts: .idea/modules.xml platform/platform-impl/src/com/intellij/openapi/updateSettings/impl/UpdatesXmlLoader.java Change-Id: Id899dae9a1e1c79272f8a70e14a7dcef4f760d7f
Diffstat (limited to 'python/helpers/pydev/_pydev_imps/_pydev_execfile.py')
-rw-r--r--python/helpers/pydev/_pydev_imps/_pydev_execfile.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/python/helpers/pydev/_pydev_imps/_pydev_execfile.py b/python/helpers/pydev/_pydev_imps/_pydev_execfile.py
new file mode 100644
index 000000000000..954783c8d085
--- /dev/null
+++ b/python/helpers/pydev/_pydev_imps/_pydev_execfile.py
@@ -0,0 +1,18 @@
+#We must redefine it in Py3k if it's not already there
+def execfile(file, glob=None, loc=None):
+ if glob is None:
+ import sys
+ glob = sys._getframe().f_back.f_globals
+ if loc is None:
+ loc = glob
+
+ # It seems that the best way is using tokenize.open(): http://code.activestate.com/lists/python-dev/131251/
+ import tokenize
+ stream = tokenize.open(file)
+ try:
+ contents = stream.read()
+ finally:
+ stream.close()
+
+ #execute the script (note: it's important to compile first to have the filename set in debug mode)
+ exec(compile(contents+"\n", file, 'exec'), glob, loc) \ No newline at end of file