Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def _procfile(filename):
try:
with open(filename) as f:
content = f.read()
except IOError:
raise CommandError('Procfile does not exist or is not a file')
try:
procfile = environ.parse_procfile(content)
except AssertionError as e:
raise CommandError(str(e))
return procfile
def _procfile(filename):
try:
with open(filename) as f:
content = f.read()
except IOError:
raise CommandError('Procfile does not exist or is not a file')
try:
procfile = environ.parse_procfile(content)
except AssertionError as e:
raise CommandError(str(e))
return procfile
def _mkdir(path):
if os.path.exists(path):
return
try:
os.makedirs(path)
except OSError as e:
log.error("Could not create export directory")
raise CommandError(e)
def command_start(args):
procfile_path = _procfile_path(args.app_root, _choose_procfile(args))
procfile = _procfile(procfile_path)
concurrency = _parse_concurrency(args.concurrency)
env = _read_env(args.app_root, args.env)
quiet = _parse_quiet(args.quiet)
port = _choose_port(args, env)
if args.processes:
processes = compat.OrderedDict()
for name in args.processes:
try:
processes[name] = procfile.processes[name]
except KeyError:
raise CommandError("Process type '{0}' does not exist in Procfile".format(name))
else:
processes = procfile.processes
manager = Manager(Printer(sys.stdout,
colour=(not args.no_colour),
prefix=(not args.no_prefix)))
for p in environ.expand_processes(processes,
concurrency=concurrency,
env=env,
quiet=quiet,
port=port):
e = os.environ.copy()
e.update(p.env)
manager.add_process(p.name, p.cmd, quiet=p.quiet, env=e)