- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / common / extensions / docs / server2 / update_server.py
1 #!/usr/bin/env python
2 # Copyright (c) 2012 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 import getpass
7 import os
8 import subprocess
9 import sys
10
11 import build_server
12
13 if __name__ == '__main__':
14   additional_args = []
15   if len(sys.argv) > 1 and sys.argv[1].endswith('appcfg.py'):
16     appcfg_path = sys.argv[1]
17     additional_args = sys.argv[2:]
18   else:
19     appcfg_path = None
20     additional_args = sys.argv[1:]
21     for path in ['.',
22                  os.path.join(os.environ['HOME'], 'local', 'google_appengine'),
23                  os.path.join(os.environ['HOME'], 'google_appengine'),
24                  os.getcwd()] + sys.path:
25       full_path = os.path.join(path, 'appcfg.py')
26       if os.path.exists(full_path):
27         appcfg_path = full_path
28         break
29     if appcfg_path is None:
30       print 'appcfg.py could not be found in default paths.'
31       print 'usage: update_server.py <path_to_appcfg.py> <appcfg_options>'
32       exit(1)
33
34   def run_appcfg():
35     server2_path = os.path.dirname(sys.argv[0])
36     subprocess.call([appcfg_path, 'update', server2_path] + additional_args)
37
38   build_server.main()
39   username = raw_input(
40       'Update github username/password (empty to skip)? ')
41   if username:
42     password = getpass.getpass()
43     with open('github_file_system.py') as f:
44       contents = f.read()
45     if 'USERNAME = None' not in contents:
46       print 'Error: Can\'t find "USERNAME = None" in github_file_system.py.'
47       exit(1)
48     if 'PASSWORD = None' not in contents:
49       print 'Error: Can\'t find "PASSWORD = None" in github_file_system.py.'
50       exit(1)
51     try:
52       with open('github_file_system.py', 'w+') as f:
53         f.write(
54             contents.replace('PASSWORD = None', 'PASSWORD = \'%s\'' % password)
55                     .replace('USERNAME = None', 'USERNAME = \'%s\'' % username))
56       run_appcfg()
57     finally:
58       with open('github_file_system.py', 'w+') as f:
59         f.write(contents)
60   else:
61     run_appcfg()