python-exec / src / python-exec.in

#!@bindir@/python-exec-c
# vim:fileencoding=utf-8:ft=python
# (c) 2012 Michał Górny
# Released under the terms of the 2-clause BSD license.
#
# This is not the script you are looking for. This is just a wrapper.
# The actual scripts of this application were installed with -python*,
# -pypy* or -jython* suffixes. You are most likely looking for one
# of those.

from __future__ import with_statement
import os.path, sys

# XXX: avoid sys.executable if possible
epython = os.path.basename(sys.executable)
self = sys.argv[0] + '-' + epython

__file__ = self
sys.argv[0] = self

try:
	kwargs = {}
	if sys.version_info[0] >= 3:
		import tokenize

		# need to provide encoding
		with open(self, 'rb') as f:
			kwargs['encoding'] = tokenize.detect_encoding(f.readline)[0]

	with open(self, 'r', **kwargs) as f:
		data = f.read()
except IOError:
	sys.stderr.write('This Python implementation (%s) is not supported by the script.\n'
			% epython)
	sys.exit(127)

exec(data)
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.