def lambda_handler()

in aws/hhvm1/lambdas/parse_input.py [0:0]


def lambda_handler(event, context=None):
  available_activities = {c.__name__ for c in Activity.__subclasses__()}

  versions = []
  platforms = []
  activities = []
  debug = ''

  for part in parts(event):
    if part in ['skip_ec2', 'skip-ec2', '--skip-ec2']:
      debug = 'skip_ec2'
    elif part in ['fake_ec2', 'fake-ec2', '--fake-ec2']:
      debug = 'fake_ec2'
    elif part in ['test', 'test_build', 'test-build', '--test', '--test-build']:
      debug = 'test_build'
    elif part in available_activities:
      activities += [part]
    elif re.fullmatch(r'[0-9]+\.[0-9]+\.[0-9]+', part):
      versions += [part]
    elif is_binary_platform(part):
      platforms += [part]

  if debug == 'test_build':
    available_activities = [
      MakeBinaryPackage.__name__,
      BuildAndPublishMacOS.__name__,
    ]
    for a in activities:
      if a not in available_activities:
        raise Exception(a + ' is not a valid test build step')
    if not activities:
      activities = available_activities

  if not versions:
    versions = [date.today().strftime('%Y.%m.%d')]

  return {
    'buildInput': {
      'versions': versions,
      'platforms': platforms,
      'activities': activities,
      'debug': debug,
    }
  }