Home | History | Annotate | Download | only in tools
      1 #!/usr/bin/env python
      2 # Copyright (c) 2011 The Chromium Authors. All rights reserved.
      3 # Use of this source code is governed by a BSD-style license that can be
      4 # found in the LICENSE file.
      5 
      6 """Gets the chromoting host info from an input arg and then
      7 tries to find the authentication info in the .chromotingAuthToken file
      8 so that the host authentication arguments can be automatically set.
      9 """
     10 
     11 import os
     12 import platform
     13 import sys
     14 
     15 def main():
     16   auth_filepath = os.path.join(os.path.expanduser('~'), '.chromotingAuthToken')
     17   script_path = os.path.dirname(__file__)
     18 
     19   if platform.system() == "Windows":
     20     # TODO(garykac): Make this work on Windows.
     21     print 'Not yet supported on Windows.'
     22     return 1
     23   elif platform.system() == "Darwin": # Darwin == MacOSX
     24     client_path = '../../xcodebuild/Debug/chromoting_simple_client'
     25   else:
     26     client_path = '../../out/Debug/chromoting_x11_client'
     27 
     28   client_path = os.path.join(script_path, client_path)
     29 
     30   # Read username and auth token from token file.
     31   auth = open(auth_filepath)
     32   authinfo = auth.readlines()
     33 
     34   username = authinfo[0].rstrip()
     35   authtoken = authinfo[1].rstrip()
     36 
     37   # Request final 8 characters of Host JID from user.
     38   # This assumes that the host is published under the same username as the
     39   # client attempting to connect.
     40   print 'Host JID:', username + '/chromoting',
     41   hostjid_suffix = raw_input()
     42   hostjid = username + '/chromoting' + hostjid_suffix.upper()
     43 
     44   command = []
     45   command.append(client_path)
     46   command.append('--host_jid ' + hostjid)
     47   command.append('--jid ' + username)
     48   command.append('--token ' + authtoken)
     49 
     50   # Launch the client
     51   os.system(' '.join(command))
     52   return 0
     53 
     54 
     55 if __name__ == '__main__':
     56   sys.exit(main())
     57