diff --git a/src/Builder/MediaInfoContainerBuilder.php b/src/Builder/MediaInfoContainerBuilder.php index 47b1991..d623142 100644 --- a/src/Builder/MediaInfoContainerBuilder.php +++ b/src/Builder/MediaInfoContainerBuilder.php @@ -2,9 +2,10 @@ namespace Mhor\MediaInfo\Builder; +use Mhor\MediaInfo\Factory\AttributeFactory; +use Mhor\MediaInfo\Factory\TypeFactory; use Mhor\MediaInfo\Type\AbstractType; use Mhor\MediaInfo\Type\MediaInfoContainer; -use Mhor\MediaInfo\Type\TypeFactory; class MediaInfoContainerBuilder { @@ -55,7 +56,16 @@ public function addAttributes(AbstractType $trackType, $attributes) { $this->mediaInfoContainer; foreach ($attributes as $attribute => $value) { - $trackType->set($attribute, $value); + $attribute = $this->formatAttribute($attribute); + $trackType->set( + $attribute, + AttributeFactory::create(get_class($trackType), $attribute, $value) + ); } } + + private function formatAttribute($attribute) + { + return str_replace(' ', '_', strtolower($attribute)); + } } \ No newline at end of file diff --git a/src/Factory/AttributeFactory.php b/src/Factory/AttributeFactory.php new file mode 100644 index 0000000..e4fd290 --- /dev/null +++ b/src/Factory/AttributeFactory.php @@ -0,0 +1,29 @@ +