Skip to content
Snippets Groups Projects
Unverified Commit 48651695 authored by Janne Mareike Koschinski's avatar Janne Mareike Koschinski
Browse files

fix: correctly handle flac with split total numbers

parent e4a7a427
No related branches found
No related tags found
No related merge requests found
...@@ -4,6 +4,7 @@ from mutagen.flac import FLAC ...@@ -4,6 +4,7 @@ from mutagen.flac import FLAC
from extractors.MediaExtractor import MediaExtractor from extractors.MediaExtractor import MediaExtractor
from models.TrackMeta import TrackMeta from models.TrackMeta import TrackMeta
from util.extract_numbers import extract_numbers
from util.optional_map import optional_map from util.optional_map import optional_map
...@@ -21,6 +22,8 @@ class FlacExtractor(MediaExtractor): ...@@ -21,6 +22,8 @@ class FlacExtractor(MediaExtractor):
return None return None
def extract_tags(self) -> TrackMeta: def extract_tags(self) -> TrackMeta:
discnumber, disctotal = optional_map(self.extract_tag('discnumber'), extract_numbers)
tracknumber, tracktotal = optional_map(self.extract_tag('tracknumber'), extract_numbers)
return TrackMeta( return TrackMeta(
album=self.extract_tag('album'), album=self.extract_tag('album'),
albumsort=self.extract_tag('albumsort'), albumsort=self.extract_tag('albumsort'),
...@@ -29,14 +32,14 @@ class FlacExtractor(MediaExtractor): ...@@ -29,14 +32,14 @@ class FlacExtractor(MediaExtractor):
artist=self.extract_tag('artist'), artist=self.extract_tag('artist'),
artistsort=self.extract_tag('artistsort'), artistsort=self.extract_tag('artistsort'),
catalognumber=self.extract_tag('catalognumber'), catalognumber=self.extract_tag('catalognumber'),
discnumber=optional_map(self.extract_tag('discnumber'), int), discnumber=discnumber,
disctotal=optional_map(self.extract_tag('disctotal'), int), disctotal=optional_map(self.extract_tag('disctotal'), int) or disctotal,
label=self.extract_tag('label'), label=self.extract_tag('label'),
media=self.extract_tag('media'), media=self.extract_tag('media'),
originaldate=self.extract_tag('originaldate'), originaldate=self.extract_tag('originaldate'),
originalyear=self.extract_tag('originalyear'), originalyear=self.extract_tag('originalyear'),
title=self.extract_tag('title'), title=self.extract_tag('title'),
titlesort=self.extract_tag('titlesort'), titlesort=self.extract_tag('titlesort'),
tracknumber=optional_map(self.extract_tag('tracknumber'), int), tracknumber=tracknumber,
tracktotal=optional_map(self.extract_tag('tracktotal'), int), tracktotal=optional_map(self.extract_tag('tracktotal'), int) or tracktotal,
) )
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment