sonarrradarrplexorganizrnginxdashboardmuximuxlandingpagestartpagelandinghtpcserverhomepagesabnzbdheimdallembycouchpotatonzbgetbookmarkapplication-dashboard
		
		
		
		
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							94 lines
						
					
					
						
							2.5 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							94 lines
						
					
					
						
							2.5 KiB
						
					
					
				| <?php | |
| 
 | |
| /* | |
|  * This file is part of the Symfony package. | |
|  * | |
|  * (c) Fabien Potencier <fabien@symfony.com> | |
|  * | |
|  * For the full copyright and license information, please view the LICENSE | |
|  * file that was distributed with this source code. | |
|  */ | |
| 
 | |
| namespace Symfony\Component\Console\Helper; | |
| 
 | |
| use Symfony\Component\Console\Descriptor\DescriptorInterface; | |
| use Symfony\Component\Console\Descriptor\JsonDescriptor; | |
| use Symfony\Component\Console\Descriptor\MarkdownDescriptor; | |
| use Symfony\Component\Console\Descriptor\TextDescriptor; | |
| use Symfony\Component\Console\Descriptor\XmlDescriptor; | |
| use Symfony\Component\Console\Output\OutputInterface; | |
| use Symfony\Component\Console\Exception\InvalidArgumentException; | |
| 
 | |
| /** | |
|  * This class adds helper method to describe objects in various formats. | |
|  * | |
|  * @author Jean-François Simon <contact@jfsimon.fr> | |
|  */ | |
| class DescriptorHelper extends Helper | |
| { | |
|     /** | |
|      * @var DescriptorInterface[] | |
|      */ | |
|     private $descriptors = array(); | |
| 
 | |
|     public function __construct() | |
|     { | |
|         $this | |
|             ->register('txt', new TextDescriptor()) | |
|             ->register('xml', new XmlDescriptor()) | |
|             ->register('json', new JsonDescriptor()) | |
|             ->register('md', new MarkdownDescriptor()) | |
|         ; | |
|     } | |
| 
 | |
|     /** | |
|      * Describes an object if supported. | |
|      * | |
|      * Available options are: | |
|      * * format: string, the output format name | |
|      * * raw_text: boolean, sets output type as raw | |
|      * | |
|      * @param OutputInterface $output | |
|      * @param object          $object | |
|      * @param array           $options | |
|      * | |
|      * @throws InvalidArgumentException when the given format is not supported | |
|      */ | |
|     public function describe(OutputInterface $output, $object, array $options = array()) | |
|     { | |
|         $options = array_merge(array( | |
|             'raw_text' => false, | |
|             'format' => 'txt', | |
|         ), $options); | |
| 
 | |
|         if (!isset($this->descriptors[$options['format']])) { | |
|             throw new InvalidArgumentException(sprintf('Unsupported format "%s".', $options['format'])); | |
|         } | |
| 
 | |
|         $descriptor = $this->descriptors[$options['format']]; | |
|         $descriptor->describe($output, $object, $options); | |
|     } | |
| 
 | |
|     /** | |
|      * Registers a descriptor. | |
|      * | |
|      * @param string              $format | |
|      * @param DescriptorInterface $descriptor | |
|      * | |
|      * @return $this | |
|      */ | |
|     public function register($format, DescriptorInterface $descriptor) | |
|     { | |
|         $this->descriptors[$format] = $descriptor; | |
| 
 | |
|         return $this; | |
|     } | |
| 
 | |
|     /** | |
|      * {@inheritdoc} | |
|      */ | |
|     public function getName() | |
|     { | |
|         return 'descriptor'; | |
|     } | |
| }
 | |
| 
 |