普通文本  |  57行  |  1.68 KB

#!/usr/bin/env python
# Copyright (c) 2011 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

"""Gets the chromoting host info from an input arg and then
tries to find the authentication info in the .chromotingAuthToken file
so that the host authentication arguments can be automatically set.
"""

import os
import platform
import sys

def main():
  auth_filepath = os.path.join(os.path.expanduser('~'), '.chromotingAuthToken')
  script_path = os.path.dirname(__file__)

  if platform.system() == "Windows":
    # TODO(garykac): Make this work on Windows.
    print 'Not yet supported on Windows.'
    return 1
  elif platform.system() == "Darwin": # Darwin == MacOSX
    client_path = '../../xcodebuild/Debug/chromoting_simple_client'
  else:
    client_path = '../../out/Debug/chromoting_x11_client'

  client_path = os.path.join(script_path, client_path)

  # Read username and auth token from token file.
  auth = open(auth_filepath)
  authinfo = auth.readlines()

  username = authinfo[0].rstrip()
  authtoken = authinfo[1].rstrip()

  # Request final 8 characters of Host JID from user.
  # This assumes that the host is published under the same username as the
  # client attempting to connect.
  print 'Host JID:', username + '/chromoting',
  hostjid_suffix = raw_input()
  hostjid = username + '/chromoting' + hostjid_suffix.upper()

  command = []
  command.append(client_path)
  command.append('--host_jid ' + hostjid)
  command.append('--jid ' + username)
  command.append('--token ' + authtoken)

  # Launch the client
  os.system(' '.join(command))
  return 0


if __name__ == '__main__':
  sys.exit(main())