From 48426fdb0e4e53389b55b03aabd53afabb393378 Mon Sep 17 00:00:00 2001 From: Miika Alonen Date: Wed, 15 Mar 2023 23:08:12 +0200 Subject: [PATCH] Adding scala_parser to zparse Can parse scales as options, for example: zparse("0..8", scale="17/16 19/16") --- ziffers/parser.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ziffers/parser.py b/ziffers/parser.py index 80cb26c..4fb12db 100644 --- a/ziffers/parser.py +++ b/ziffers/parser.py @@ -63,6 +63,12 @@ def zparse(expr: str, **opts) -> Ziffers: Returns: Ziffers: Returns Ziffers iterable parsed with the given options """ + if "scale" in opts: + scale = opts["scale"] + if isinstance(scale,str) and not scale.isalpha(): + parsed_scale = parse_scala(scale) + opts["scale"] = parsed_scale + parsed = parse_expression(expr) parsed.init_opts(opts) return parsed