diff --git a/mscxyz/score.py b/mscxyz/score.py
index 719320d..7d8d049 100644
--- a/mscxyz/score.py
+++ b/mscxyz/score.py
@@ -283,8 +283,7 @@ def read_as_text(self) -> str:
:return: The content of the MuseScore XML file as text.
"""
- with open(self.xml_file, "r") as f:
- return f.read()
+ return utils.read_file(self.xml_file)
def reload(self, save: bool = False) -> Score:
"""
diff --git a/mscxyz/utils.py b/mscxyz/utils.py
index 726409c..4a0f2a3 100644
--- a/mscxyz/utils.py
+++ b/mscxyz/utils.py
@@ -591,3 +591,12 @@ def save(self, dest: str | Path) -> None:
for file_name in files:
zip.write(root / file_name, relpath / file_name)
zip.close()
+
+
+def read_file(filename: str | Path) -> str:
+ """Read the MuseScore XML file as text.
+
+ :return: The content of the MuseScore XML file as text.
+ """
+ with open(filename, "r") as f:
+ return f.read()
diff --git a/tests/helper.py b/tests/helper.py
index 2db43bf..100a9e8 100644
--- a/tests/helper.py
+++ b/tests/helper.py
@@ -104,13 +104,6 @@ def reload(src: Score | str | Path) -> Score:
return Score(src.path)
-def read_file(filename: str | Path) -> str:
- tmp = open(filename)
- output = tmp.read()
- tmp.close()
- return output
-
-
def get_file_type(file: str | Path) -> str:
"""Get the type of a file using the `file` command."""
output: str = subprocess.check_output(
diff --git a/tests/test_meta.py b/tests/test_meta.py
index 8a23493..5cdea2c 100644
--- a/tests/test_meta.py
+++ b/tests/test_meta.py
@@ -9,7 +9,7 @@
import mscxyz
import mscxyz.meta
-from mscxyz import meta, supported_versions
+from mscxyz import meta, supported_versions, utils
from mscxyz.meta import (
Interface,
InterfaceReadOnly,
@@ -1078,13 +1078,13 @@ def test_legacy(self) -> None:
).score()
json = score.json_file
assert json.exists()
- assert '"readonly_basename": "meta-all-values"' in helper.read_file(json)
+ assert '"readonly_basename": "meta-all-values"' in utils.read_file(json)
def test_json(self) -> None:
score = (Cli("--json").append_score("meta-all-values.mscz").execute()).score()
json = score.json_file
assert json.exists()
- assert '"readonly_basename": "meta-all-values"' in helper.read_file(json)
+ assert '"readonly_basename": "meta-all-values"' in utils.read_file(json)
class TestClassMeta:
@@ -1114,7 +1114,7 @@ def test_method_export_json(self) -> None:
result_path: Path = self.meta.export_json()
assert result_path.exists()
- json: str = helper.read_file(result_path)
+ json: str = utils.read_file(result_path)
# json = (
# '{\n "combined_composer": "vbox_composer",\n'
# ' "combined_lyricist": "vbox_lyricist",\n'
diff --git a/tests/test_score.py b/tests/test_score.py
index e03fdbb..3b79b88 100644
--- a/tests/test_score.py
+++ b/tests/test_score.py
@@ -62,14 +62,12 @@ def test_property_basename(self) -> None:
def test_method_save(self) -> None:
score: Score = helper.get_score("simple.mscx")
score.save()
- result = helper.read_file(score.path)
- assert '' in result
+ assert '' in score.read_as_text()
def test_method_save_new_name(self) -> None:
score: Score = helper.get_score("simple.mscx")
score.save(new_dest=str(score.path))
- result = helper.read_file(score.path)
- assert '' in result
+ assert '' in score.read_as_text()
def test_mscz(self) -> None:
score: Score = helper.get_score("simple.mscz")
diff --git a/tests/test_utils.py b/tests/test_utils.py
index c1d78fd..6066bcd 100644
--- a/tests/test_utils.py
+++ b/tests/test_utils.py
@@ -155,7 +155,7 @@ def test_xml_write(tmp_path: Path) -> None:
dest = tmp_path / "test.xml"
element = lxml.etree.XML("")
utils.xml.write(dest, element)
- result: str = helper.read_file(dest)
+ result: str = utils.read_file(dest)
print(result)
assert result == (
'\n'