#! /usr/bin/env python3
# Copyright 2017 Google LLC
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import os
import subprocess
import sys

def spawn(cmd):
  with open(os.devnull, 'w') as o:
    subprocess.Popen(cmd, stdout=o, stderr=o)

def sysopen(arg):
  plat = sys.platform
  if plat.startswith('darwin'):
    spawn(["open", arg])
  elif plat.startswith('win'):
    os.startfile(arg)
  else:
    spawn(["xdg-open", arg])

if __name__ == '__main__':
  for a in sys.argv[1:]:
    sysopen(a)
