def setup_appengine_env(): """ Setup the environment when running outside of dev_appserver """ default_host, default_port = '127.0.0.1', '8000' if 'DJANGO_SETTINGS_MODULE' not in os.environ: os.environ['DJANGO_SETTINGS_MODULE'] = 'networkx.settings' fix_path() import google from google import appengine from google.appengine.tools.dev_appserver_main import DEFAULT_ARGS # Set some environment vars that are usually set by # dev_appserver eg host and port .. matches = host_rx.match(sys.argv[-1]) arg_host, arg_port = matches and matches.groups() or (None, None) host = arg_host or default_host port = arg_port or default_port if 'SERVER_NAME' not in os.environ: os.environ['SERVER_NAME'] = host + ':' + port if 'SERVER_PORT' not in os.environ: os.environ['SERVER_PORT'] = port option_dict = DEFAULT_ARGS.copy() # Always use the high replication datastore model option_dict.update({'high_replication': True}) # Load Config from app.yaml root_path = '.' root_path = os.path.normpath(os.path.abspath(root_path)) default_partition = 'dev' config, _, _ = appengine.tools.dev_appserver.LoadAppConfig( root_path, {}, default_partition=default_partition) appengine.tools.dev_appserver.SetupStubs(config.application, **option_dict) if config.libraries: sdk_path = os.path.dirname(os.path.dirname(google.__file__)) extra_paths = [] for library in config.libraries: version = library.version if library.version == "latest": version = appengine.api.appinfo._NAME_TO_SUPPORTED_LIBRARY[ library.name].non_deprecated_versions[-1] if StrictVersion(appengine.tools.dev_appserver.GetVersionObject() ["release"]) < StrictVersion("1.7.5"): p = os.path.join( sdk_path, 'lib', library.name + '_' + version.replace('.', '_')) else: p = os.path.join(sdk_path, 'lib', library.name + '-' + version) extra_paths.append(p) if extra_paths: sys.path = extra_paths + sys.path
def setup(): from google.appengine.tools import dev_appserver from google.appengine.tools.dev_appserver_main import ( ARG_CLEAR_DATASTORE, ARG_LOG_LEVEL, DEFAULT_ARGS, logging, ) option_dict = DEFAULT_ARGS.copy() option_dict[ARG_CLEAR_DATASTORE] = True logging.basicConfig( level=option_dict[ARG_LOG_LEVEL], format="%(levelname)-8s %(asctime)s %(filename)s] %(message)s") config, matcher = dev_appserver.LoadAppConfig(root_path, {}) dev_appserver.SetupStubs(config.application, **option_dict)