1
0

Parse ,- kr
Some checks failed
Python Ruff Code Quality / ruff (push) Failing after 23s
Run Python tests (through Pytest) / Test (push) Failing after 24s
Verify Python project can be installed, loaded and have version checked / Test (push) Successful in 21s

This commit is contained in:
Jon Michael Aanes 2025-05-26 16:22:08 +02:00
parent ffe12ea1cc
commit e811c48f17
2 changed files with 4 additions and 8 deletions

View File

@ -70,13 +70,8 @@ RE_KR_AMOUNT = re.compile(
flags=re.IGNORECASE,
)
RE_AMOUNT_KR = re.compile(
'(' + RE_PRODUCT_PRICE_AMOUNT + r')\s*kr\.?',
flags=re.IGNORECASE,
)
RE_AMOUNT_SUFFIX = re.compile(
'(' + RE_PRODUCT_PRICE_AMOUNT + r')\s*(?:;-|,-|\.-)?',
RE_AMOUNT_SUFFIX_KR = re.compile(
'(' + RE_PRODUCT_PRICE_AMOUNT + r')\s*(?:;-|,-|\.-)?\s*(?:kr\.?)?',
flags=re.IGNORECASE,
)
@ -104,7 +99,7 @@ def parse_price(text: str, default_currency: Asset) -> AssetAmount | None:
code, sym, amount_text = m.group('code'), m.group('sym'), m.group('amount')
elif m := RE_AMOUNT_CODE.fullmatch(text):
code, amount_text = m.group('code'), m.group('amount')
elif m := (RE_KR_AMOUNT.fullmatch(text) or RE_AMOUNT_KR.fullmatch(text) or RE_AMOUNT_SUFFIX.fullmatch(text)):
elif m := (RE_KR_AMOUNT.fullmatch(text) or RE_AMOUNT_SUFFIX_KR.fullmatch(text)):
code, amount_text = 'DKK', m.group('amount')
else:
logger.debug('Unknown format: %s', text)

View File

@ -16,6 +16,7 @@ PRICES_PARSABLE = [
('100 kr', dkk(100)),
(' 100 kr ', dkk(100)),
('349.-', dkk(349)),
('90,- kr', dkk(90)),
('3.000 kr.', dkk(3000)),
('3.000.000 kr.', dkk(3_000_000)),
('3.000.000,25 kr.', dkk(3_000_000.25)),