WOP
This commit is contained in:
@@ -173,12 +173,29 @@ class FieldNormalizer:
|
||||
|
||||
# Integer if no decimals
|
||||
if num == int(num):
|
||||
variants.append(str(int(num)))
|
||||
variants.append(f"{int(num)},00")
|
||||
variants.append(f"{int(num)}.00")
|
||||
int_val = int(num)
|
||||
variants.append(str(int_val))
|
||||
variants.append(f"{int_val},00")
|
||||
variants.append(f"{int_val}.00")
|
||||
|
||||
# European format with dot as thousand separator (e.g., 20.485,00)
|
||||
if int_val >= 1000:
|
||||
# Format: XX.XXX,XX
|
||||
formatted = f"{int_val:,}".replace(',', '.')
|
||||
variants.append(formatted) # 20.485
|
||||
variants.append(f"{formatted},00") # 20.485,00
|
||||
else:
|
||||
variants.append(f"{num:.2f}")
|
||||
variants.append(f"{num:.2f}".replace('.', ','))
|
||||
|
||||
# European format with dot as thousand separator
|
||||
if num >= 1000:
|
||||
# Split integer and decimal parts
|
||||
int_part = int(num)
|
||||
dec_part = num - int_part
|
||||
formatted_int = f"{int_part:,}".replace(',', '.')
|
||||
formatted = f"{formatted_int},{dec_part:.2f}"[2:] # Remove "0."
|
||||
variants.append(f"{formatted_int},{int(dec_part * 100):02d}") # 20.485,00
|
||||
except ValueError:
|
||||
pass
|
||||
|
||||
@@ -247,9 +264,35 @@ class FieldNormalizer:
|
||||
iso = parsed_date.strftime('%Y-%m-%d')
|
||||
eu_slash = parsed_date.strftime('%d/%m/%Y')
|
||||
eu_dot = parsed_date.strftime('%d.%m.%Y')
|
||||
compact = parsed_date.strftime('%Y%m%d')
|
||||
compact = parsed_date.strftime('%Y%m%d') # YYYYMMDD
|
||||
compact_short = parsed_date.strftime('%y%m%d') # YYMMDD (e.g., 260108)
|
||||
|
||||
variants.extend([iso, eu_slash, eu_dot, compact])
|
||||
# Short year with dot separator (e.g., 02.01.26)
|
||||
eu_dot_short = parsed_date.strftime('%d.%m.%y')
|
||||
|
||||
# Spaced formats (e.g., "2026 01 12", "26 01 12")
|
||||
spaced_full = parsed_date.strftime('%Y %m %d')
|
||||
spaced_short = parsed_date.strftime('%y %m %d')
|
||||
|
||||
# Swedish month name formats (e.g., "9 januari 2026", "9 jan 2026")
|
||||
swedish_months_full = [
|
||||
'januari', 'februari', 'mars', 'april', 'maj', 'juni',
|
||||
'juli', 'augusti', 'september', 'oktober', 'november', 'december'
|
||||
]
|
||||
swedish_months_abbrev = [
|
||||
'jan', 'feb', 'mar', 'apr', 'maj', 'jun',
|
||||
'jul', 'aug', 'sep', 'okt', 'nov', 'dec'
|
||||
]
|
||||
month_full = swedish_months_full[parsed_date.month - 1]
|
||||
month_abbrev = swedish_months_abbrev[parsed_date.month - 1]
|
||||
swedish_format_full = f"{parsed_date.day} {month_full} {parsed_date.year}"
|
||||
swedish_format_abbrev = f"{parsed_date.day} {month_abbrev} {parsed_date.year}"
|
||||
|
||||
variants.extend([
|
||||
iso, eu_slash, eu_dot, compact, compact_short,
|
||||
eu_dot_short, spaced_full, spaced_short,
|
||||
swedish_format_full, swedish_format_abbrev
|
||||
])
|
||||
|
||||
return list(set(v for v in variants if v))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user