普通文本  |  34行  |  1.12 KB

#!/usr/bin/python
# Copyright 2015 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.

import subprocess
import sys

from catapult_build import module_finder
from catapult_build import temp_deployment_dir


def DevAppserver(paths, args):
  """Starts a dev server for an App Engine app.

  Args:
    paths: List of paths to files and directories that should be linked
        (or copied) in the deployment directory.
    args: List of additional arguments to pass to the dev server.
  """
  try:
    import dev_appserver  # pylint: disable=unused-variable
  except ImportError:
    # TODO(qyearsley): Put the App Engine SDK in the path with the
    # binary dependency manager.
    # See https://github.com/catapult-project/catapult/issues/2135
    print 'This script requires the App Engine SDK to be in PYTHONPATH.'
    sys.exit(1)
  with temp_deployment_dir.TempDeploymentDir(paths) as temp_dir:
    print 'Running dev server on "%s".' % temp_dir
    subprocess.call(
        [module_finder.FindModule('dev_appserver')] + args + [temp_dir]
    )