import os import sys def parse_semver(s): try: return [int(x) for x in s.split('.')] except ValueError: return [] def main(): translation = { ("linux", "x32"): "i686-unknown-linux-gnu/TabNine", ("linux", "x64"): "x86_64-unknown-linux-gnu/TabNine", ("osx", "x32"): "i686-apple-darwin/TabNine", ("osx", "x64"): "x86_64-apple-darwin/TabNine", ("windows", "x32"): "i686-pc-windows-gnu/TabNine.exe", ("windows", "x64"): "x86_64-pc-windows-gnu/TabNine.exe", } binary_dir=str(sys.argv[1]) versions = os.listdir(binary_dir) versions.sort(key=parse_semver, reverse=True) for version in versions: key = "linux", "x64" path = os.path.join(binary_dir, version, translation[key]) if os.path.isfile(path): os.chmod(path, 0o777) sys.stdout.write(path) sys.stdout.flush() sys.exit(0) main()