docs: def init_parsecmdline(argv=[]):
      """
      Parse arguments from the command line
  
      :param argv: list of arguments
      """
      # main argument parser
      parser = argparse.ArgumentParser(prog=PKG_NAME)
  
      # --version
      parser.add_argument('--version', action='version', version=version)
  
      # -c, --config <file_name>
      parser.add_argument("-c", "--config",
                          action="store",
                          dest="config_file", default=config.CONF_DEFAULT_FILE,
                          help="specify configuration file to use")
  
      # --dry-run
      parser.add_argument("-d", "--dry-run",
                          action="store_true",  dest="dry_run", default=False,
                          help="don't actually do anything")
  
      # --quiet
      parser.add_argument("-q", "--quiet",
                          action="store_true",  dest="log_quiet", default=False,
                          help="quiet output")
  
      # --ll <level>
      # logging level
      parser.add_argument("--ll", "--log-level",
                          action="store", type=int,
                          dest="log_lvl", default=log.LOG_LVL_DEFAULT,
                          help="set logging level")
  
      # -l, --log-file
      parser.add_argument("-l", "--log-file",
                          action="store",
                          dest="log_file", default=log.LOG_FILE_DEFAULT,
                          help="set log file")
  
      # Absorb the options
      options = parser.parse_args(argv)
  
      # Set whether we are going to perform a dry run
      global _opt
      _opt["dry_run"] = options.dry_run
  
      # Initiate the log level
      log.init(threshold_lvl=options.log_lvl,
               quiet_stdout=options.log_quiet, log_file=options.log_file)
  
      #
      # Print the splash
      #
      _splash()
  
      # Merge configuration with a JSON file
      config_file = os.path.abspath(options.config_file)
      log.msg("Attempting to use configuration file '{config_file}'"
              .format(config_file=config_file))
      try:
          config.set_from_file(config_file)
      except FileNotFoundError:
          raise FileNotFoundError("Configuration file '{config_file}' not found!"
                                  .format(config_file=config_file))