Ejemplo n.º 1
0
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $inputFile = new SplFileInfo($input->getArgument('input'));
     $tag = $inputFile->getMetadata()->getId3v1Tag();
     $hydrator = new ClassMethods();
     $data = $hydrator->extract($tag);
     $data['audio_properties'] = $hydrator->extract($data['audio_properties']);
     foreach (array_keys($data) as $name) {
         if (null === $data[$name]) {
             unset($data[$name]);
         }
     }
     $format = $input->getOption('format');
     if (!in_array($format, array(self::FORMAT_YAML))) {
         $format = self::FORMAT_YAML;
     }
     switch ($format) {
         case self::FORMAT_YAML:
             $data = Yaml::dump($data);
             break;
     }
     $outputFilename = $input->getArgument('output');
     if (null === $outputFilename) {
         $output->writeln('<info>' . $data . '</info>');
         return;
     }
     if (file_put_contents($outputFilename, $data)) {
         $output->writeln(sprintf('<info>Metadata file \'%s\' successfully exported.</info>', $outputFilename));
         return;
     }
     $output->writeln(sprintf('<error>Unable to write metadata file \'%s\'.</error>', $outputFilename));
 }
Ejemplo n.º 2
0
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $file = new SplFileInfo($input->getArgument('filename'));
     $data = Yaml::parse($input->getArgument('import'));
     foreach (array_keys($data) as $name) {
         if (null === $data[$name] || 'audio_properties' === $name) {
             unset($data[$name]);
         }
     }
     $metadata = $file->getMetadata();
     $tag = $metadata->getId3v1Tag();
     $hydrator = new ClassMethods();
     $hydrator->hydrate($data, $tag)->save();
     $output->writeln('<info>Metadata import successful.</info>');
 }
Ejemplo n.º 3
0
 /**
  * @covers \GravityMedia\Metadata\Tag\Id3v1::getGenre
  */
 public function testShouldWriteAndReadGenre()
 {
     $availableGenres = array_values(Id3v1Processor::ArrayOfGenres());
     $expected = $availableGenres[array_rand($availableGenres)];
     $this->file->getMetadata()->getId3v1Tag()->setGenre($expected)->save();
     $this->assertEquals($expected, $this->file->getMetadata()->getId3v1Tag()->getGenre());
 }
Ejemplo n.º 4
0
 /**
  * @covers \GravityMedia\Metadata\Tag\Id3v2::getPicture
  */
 public function testShouldWriteAndReadPicture()
 {
     $expected = new Picture();
     $expected->setData(file_get_contents('tests/resource/tag/image.png'));
     $expected->setMime('image/png');
     $expected->setPictureType('Other');
     $expected->setDescription('Cover');
     $this->file->getMetadata()->getId3v2Tag()->setPicture($expected)->save();
     $this->assertEquals($expected, $this->file->getMetadata()->getId3v2Tag()->getPicture());
 }