Example #1
0
 /**
  * Parse the options.
  */
 public function parse_options()
 {
     $getopt = new Getopt([['d', 'directory', Getopt::REQUIRED_ARGUMENT, 'Run under given directory'], ['l', 'level', Getopt::REQUIRED_ARGUMENT, 'Practice level on epic'], ['s', 'skip', Getopt::NO_ARGUMENT, 'Skip user input'], ['t', 'time', Getopt::REQUIRED_ARGUMENT, 'Delay each turn by seconds'], ['L', 'locale', Getopt::REQUIRED_ARGUMENT, 'Specify locale like en_US'], ['h', 'help', Getopt::NO_ARGUMENT, 'Show this message']]);
     try {
         $getopt->parse();
     } catch (\Exception $e) {
         echo $e->getMessage() . "\n";
         exit;
     }
     if ($getopt->getOption('h')) {
         echo $getopt->getHelpText();
         exit;
     }
     if ($getopt->getOption('d')) {
         Config::$path_prefix = $getopt->getOption('d');
     }
     if ($getopt->getOption('l')) {
         Config::$practice_level = $getopt->getOption('l');
     }
     if ($getopt->getOption('s')) {
         Config::$skip_input = true;
     }
     if (!is_null($getopt->getOption('t'))) {
         Config::$delay = $getopt->getOption('t');
     }
     // get locale from $LANG like en_US.UTF8
     list(Config::$locale) = explode('.', getenv('LANG'));
     if ($getopt->getOption('L')) {
         Config::$locale = $getopt->getOption('L');
     }
 }