Example #1
0
 protected function initialize(InputInterface $input, OutputInterface $output)
 {
     // logger
     $logger = $this->getApplication()->getLogger();
     if (!isset($logger)) {
         $verbosityLevelMap = [LogLevel::NOTICE => OutputInterface::VERBOSITY_NORMAL, LogLevel::INFO => OutputInterface::VERBOSITY_VERBOSE, LogLevel::DEBUG => OutputInterface::VERBOSITY_DEBUG];
         $logger = new ConsoleLogger($output, $verbosityLevelMap);
         $this->getApplication()->setLogger($logger);
     }
     // config
     $config = $this->getApplication()->getConfig();
     if (!isset($config)) {
         $config = new Config($input->getOption('config'));
         try {
             $config->loadConfigFile();
         } catch (\RuntimeException $e) {
             $logger->critical($e->getMessage());
             $this->setCode(function () {
                 return 1;
             });
             return;
         }
         $this->getApplication()->setConfig($config);
     }
     // compatibility: first client available at old config names
     // this overrides config values to options from command line arguments
     $firstTransmission = $config->get('transmission')[0];
     $vars = ['host', 'port', 'user', 'password'];
     foreach ($vars as $var) {
         $configName = 'transmission-' . $var;
         $config->set($configName, $this->getInputOption($input, $configName, $firstTransmission[$var]));
     }
     // client
     $client = $this->getApplication()->getClient();
     if (!isset($client)) {
         $client = $this->createTransmissionClient($config->get('transmission-host'), $config->get('transmission-port'), $config->get('transmission-user'), $config->get('transmission-password'));
         $this->getApplication()->setClient($client);
     }
     $logger->info('[{date}] command: {args}', ['date' => date('Y-m-d H:i:s'), 'args' => implode(' ', array_slice($_SERVER['argv'], 1))]);
     parent::initialize($input, $output);
 }
Example #2
0
 /**
  * @expectedException \RuntimeException
  */
 public function testCorruptedConfig()
 {
     $this->configFile = tempnam(sys_get_temp_dir(), 'config');
     $config = new Config($this->configFile);
     $config->loadConfigFile();
 }