docs: def cli(action, config_file, debug, verbose):
      """
      Static asset management in python.
  
      Called with no arguments grablib will download, then build. You can also choose to only download or build.
  
      See `grablib -h` and https://github.com/samuelcolvin/grablib for more help.
      """
      if verbose is True:
          log_level = 'DEBUG'
      elif verbose is False:
          log_level = 'WARNING'
      else:
          assert verbose is None
          log_level = 'INFO'
  
      setup_logging(log_level)
      try:
          grab = Grab(config_file, debug=debug)
          if action in {'download', None}:
              grab.download()
          if action in {'build', None}:
              grab.build()
      except GrablibError as e:
          click.secho('Error: %s' % e, fg='red')
          sys.exit(2)