Added test file, Ruff pass

This commit is contained in:
2026-09-17 10:30:32 -07:00
parent e6320e84c6
commit f9de312610
23 changed files with 61 additions and 116 deletions
+1 -1
View File
@@ -4,5 +4,5 @@ Probe WAVE Files for iXML, Broadcast-WAVE and other metadata.
__all__ = ["WavInfoReader", "WavInfoEOFError"] __all__ = ["WavInfoReader", "WavInfoEOFError"]
from .wave_reader import WavInfoReader
from .riff_parser import WavInfoEOFError from .riff_parser import WavInfoEOFError
from .wave_reader import WavInfoReader
+8 -8
View File
@@ -1,16 +1,16 @@
from . import WavInfoReader
import datetime import datetime
from optparse import OptionParser
import sys
import os
import json
from enum import Enum
import importlib.metadata import importlib.metadata
import json
import os
import sys
from base64 import b64encode from base64 import b64encode
from cmd import Cmd from cmd import Cmd
from enum import Enum
from optparse import OptionParser
from shlex import split from shlex import split
from typing import List, Dict, Union from typing import Dict, List, Union
from . import WavInfoReader
class MyJSONEncoder(json.JSONEncoder): class MyJSONEncoder(json.JSONEncoder):
+1 -1
View File
@@ -1,7 +1,7 @@
import struct import struct
# from collections import namedtuple # from collections import namedtuple
from typing import NamedTuple, Dict from typing import Dict, NamedTuple
from . import riff_parser from . import riff_parser
+3 -2
View File
@@ -1,7 +1,8 @@
# from optparse import Option # from optparse import Option
import struct import struct
from .rf64_parser import parse_rf64, RF64Context from typing import List, NamedTuple, Optional, Union
from typing import NamedTuple, Union, List, Optional
from .rf64_parser import RF64Context, parse_rf64
class WavInfoEOFError(EOFError): class WavInfoEOFError(EOFError):
+1 -1
View File
@@ -1,6 +1,6 @@
import struct import struct
# from .umid_parser import UMIDParser
# from .umid_parser import UMIDParser
from typing import Optional from typing import Optional
+3 -3
View File
@@ -9,10 +9,10 @@ https://www.aelius.com/njh/wavemetatools/doc/riffmci.pdf
""" """
from dataclasses import dataclass from dataclasses import dataclass
from .riff_parser import ChunkDescriptor from struct import calcsize, unpack
from typing import Any, Dict, Generator, List, NamedTuple, Optional, Tuple
from struct import unpack, calcsize from .riff_parser import ChunkDescriptor
from typing import Optional, Tuple, NamedTuple, List, Dict, Any, Generator
#: Country Codes used in the RIFF standard to resolve locale. These codes #: Country Codes used in the RIFF standard to resolve locale. These codes
#: appear in CSET and LTXT metadata. #: appear in CSET and LTXT metadata.
+4 -5
View File
@@ -7,12 +7,11 @@ Unless otherwise stated, all § references here are to
.. _EBU Tech 3285 Supplement 6: https://tech.ebu.ch/docs/tech/tech3285s6.pdf .. _EBU Tech 3285 Supplement 6: https://tech.ebu.ch/docs/tech/tech3285s6.pdf
""" """
from enum import IntEnum, Enum from dataclasses import asdict, dataclass
from struct import unpack from enum import Enum, IntEnum
from dataclasses import dataclass, asdict
from typing import List, Tuple, Any, Union
from io import BytesIO from io import BytesIO
from struct import unpack
from typing import Any, List, Tuple, Union
class SegmentType(IntEnum): class SegmentType(IntEnum):
+2 -2
View File
@@ -1,7 +1,7 @@
from .riff_parser import parse_chunk, ListChunkDescriptor
from typing import Optional from typing import Optional
from .riff_parser import ListChunkDescriptor, parse_chunk
class WavInfoChunkReader: class WavInfoChunkReader:
def __init__(self, f, encoding): def __init__(self, f, encoding):
+4 -4
View File
@@ -1,10 +1,10 @@
from lxml import etree as ET
import io import io
from enum import IntEnum
# from collections import namedtuple # from collections import namedtuple
from typing import Optional from typing import NamedTuple, Optional
from enum import IntEnum
from typing import NamedTuple from lxml import etree as ET
class IXMLTrack(NamedTuple): class IXMLTrack(NamedTuple):
+7 -9
View File
@@ -1,18 +1,16 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import struct
import os import os
from typing import Optional, Generator, Any, NamedTuple
import pathlib import pathlib
import struct
from typing import Any, Generator, NamedTuple, Optional
from .riff_parser import ChunkDescriptor, ListChunkDescriptor, parse_chunk
from .riff_parser import parse_chunk, ChunkDescriptor, ListChunkDescriptor
from .wave_ixml_reader import WavIXMLFormat
from .wave_bext_reader import WavBextReader
from .wave_info_reader import WavInfoChunkReader
from .wave_adm_reader import WavADMReader from .wave_adm_reader import WavADMReader
from .wave_dbmd_reader import WavDolbyMetadataReader from .wave_bext_reader import WavBextReader
from .wave_cues_reader import WavCuesReader from .wave_cues_reader import WavCuesReader
from .wave_dbmd_reader import WavDolbyMetadataReader
from .wave_info_reader import WavInfoChunkReader
from .wave_ixml_reader import WavIXMLFormat
from .wave_smpl_reader import WavSmplReader from .wave_smpl_reader import WavSmplReader
#: Calculated statistics about the audio data. #: Calculated statistics about the audio data.
+1 -2
View File
@@ -1,6 +1,5 @@
import struct import struct
from typing import List, NamedTuple, Tuple
from typing import Tuple, NamedTuple, List
class WaveSmplLoop(NamedTuple): class WaveSmplLoop(NamedTuple):
+1 -1
View File
@@ -1,7 +1,7 @@
""" """ """ """
from optparse import OptionParser, OptionGroup
import sys import sys
from optparse import OptionGroup, OptionParser
def main(): def main():
-42
View File
@@ -1,42 +0,0 @@
from . import test_wave_parsing
from io import BytesIO
from typing import Generator
import zipfile as zf
import os.path
import os
from contextlib import contextmanager
# class TestFileLoader:
# """
# This guy manages the test_files archive.
# """
# def __init__(self, test_file_arch_name = 'archive.zip') -> None:
# self.base_path = os.path.join(os.path.dirname(__file__), "test_files")
# self.test_file_arch_name = test_file_arch_name
# self._gather_test_files_into_archive()
# @property
# def arch_path(self):
# return os.path.join(self.base_path, self.test_file_arch_name)
# @contextmanager
# def open(self, name) -> Generator[BytesIO]:
# z = zf.ZipFile(self.arch_path, 'r')
# member = z.open(name, 'r')
# try:
# yield member
# finally:
# zf.close()
# def _gather_test_files_into_archive(self):
# with zf.ZipFile(self.arch_path, 'a') as zip:
# for root, _, files in os.walk(self.base_path):
# for name in files:
# if root == self.base_path and name == self.test_file_arch_name:
# continue
# else:
# p = os.path.join(root, name)
# zip.write(p)
# os.unlink(p)
+1 -1
View File
@@ -1,5 +1,5 @@
from unittest import TestCase
from glob import glob from glob import glob
from unittest import TestCase
import wavinfo import wavinfo
+1 -1
View File
@@ -1,7 +1,7 @@
from unittest import TestCase from unittest import TestCase
import wavinfo import wavinfo
from wavinfo.wave_dbmd_reader import SegmentType, DolbyDigitalPlusMetadata from wavinfo.wave_dbmd_reader import DolbyDigitalPlusMetadata, SegmentType
class TestDolby(TestCase): class TestDolby(TestCase):
Binary file not shown.
+8 -10
View File
@@ -1,28 +1,26 @@
import glob
import sys
import unittest import unittest
from unittest.mock import patch from unittest.mock import patch
from wavinfo.__main__ import main from wavinfo.__main__ import main
import sys
import glob
class MainTest(unittest.TestCase): class MainTest(unittest.TestCase):
def test_empty_argv(self): def test_empty_argv(self):
with patch.object(sys, "argv", []): with patch.object(sys, "argv", []):
try: try:
main() main()
except: except Exception as e:
self.fail("main() throwing an exception") self.fail(f"main() throwing an exception: {e}")
def test_a_file(self): def test_a_file(self):
for path in glob.glob("tests/test_files/**/*.wav"): for path in glob.glob("tests/test_files/**/*.wav"):
with patch.object(sys, "argv", ["TEST", path]): with patch.object(sys, "argv", ["TEST", path]):
try: try:
main() main()
except: except Exception as e:
self.fail("main() throwing an exception") self.fail(f"main() throwing an exception: {e}")
def test_ixml(self): def test_ixml(self):
with patch.object( with patch.object(
@@ -30,5 +28,5 @@ class MainTest(unittest.TestCase):
): ):
try: try:
main() main()
except: except Exception as e:
self.fail("main() throwing an exception") self.fail(f"main() throwing an exception: {e}")
+1 -2
View File
@@ -1,12 +1,11 @@
# import os.path # import os.path
import gzip import gzip
from glob import glob from glob import glob
# from typing import Dict, Any, cast
# from typing import Dict, Any, cast
from unittest import TestCase from unittest import TestCase
# from .utils import all_files, ffprobe # from .utils import all_files, ffprobe
import wavinfo import wavinfo
+1 -1
View File
@@ -1,5 +1,5 @@
from unittest import TestCase
from glob import glob from glob import glob
from unittest import TestCase
import wavinfo import wavinfo
+5 -5
View File
@@ -1,7 +1,7 @@
import unittest
import wavinfo
import glob import glob
import unittest
import wavinfo
class TestWalk(unittest.TestCase): class TestWalk(unittest.TestCase):
@@ -29,8 +29,8 @@ class TestWalk(unittest.TestCase):
try: try:
for _, _, _ in info.walk(): for _, _, _ in info.walk():
pass pass
except: except Exception as e:
self.fail(f"Failed to walk metadata in file {file}") self.fail(f"Failed to walk metadata in file {file}: {e}")
if __name__ == "__main__": if __name__ == "__main__":
+3 -4
View File
@@ -1,13 +1,12 @@
import os.path import os.path
from glob import glob from glob import glob
from typing import Dict, Any, cast from typing import Any, Dict, cast
from unittest import TestCase from unittest import TestCase
from .utils import all_files, ffprobe
import wavinfo import wavinfo
from .utils import all_files, ffprobe
class TestWaveInfo(TestCase): class TestWaveInfo(TestCase):
def test_sanity(self): def test_sanity(self):
+1 -7
View File
@@ -1,12 +1,6 @@
import os.path
import sys
import json
import subprocess
from subprocess import PIPE
from unittest import TestCase from unittest import TestCase
import wavinfo # import wavinfo
class TestZoomF8(TestCase): class TestZoomF8(TestCase):
+4 -4
View File
@@ -1,8 +1,8 @@
import os.path
import sys
import subprocess
from subprocess import PIPE
import json import json
import os.path
import subprocess
import sys
from subprocess import PIPE
FFPROBE = "ffprobe" FFPROBE = "ffprobe"