|
|
@ -1,11 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
from babel.numbers import parse_decimal
|
|
|
|
from changedetectionio.model.Watch import model as BaseWatch
|
|
|
|
from changedetectionio.model.Watch import model as BaseWatch
|
|
|
|
|
|
|
|
from typing import Union
|
|
|
|
import re
|
|
|
|
import re
|
|
|
|
from babel.numbers import parse_decimal
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Restock(dict):
|
|
|
|
class Restock(dict):
|
|
|
|
|
|
|
|
|
|
|
|
def parse_currency(self, raw_value: str) -> float:
|
|
|
|
def parse_currency(self, raw_value: str) -> Union[float, None]:
|
|
|
|
# Clean and standardize the value (ie 1,400.00 should be 1400.00), even better would be store the whole thing as an integer.
|
|
|
|
# Clean and standardize the value (ie 1,400.00 should be 1400.00), even better would be store the whole thing as an integer.
|
|
|
|
standardized_value = raw_value
|
|
|
|
standardized_value = raw_value
|
|
|
|
|
|
|
|
|
|
|
@ -21,9 +22,12 @@ class Restock(dict):
|
|
|
|
# Remove any non-numeric characters except for the decimal point
|
|
|
|
# Remove any non-numeric characters except for the decimal point
|
|
|
|
standardized_value = re.sub(r'[^\d.-]', '', standardized_value)
|
|
|
|
standardized_value = re.sub(r'[^\d.-]', '', standardized_value)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if standardized_value:
|
|
|
|
# Convert to float
|
|
|
|
# Convert to float
|
|
|
|
return float(parse_decimal(standardized_value, locale='en'))
|
|
|
|
return float(parse_decimal(standardized_value, locale='en'))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return None
|
|
|
|
|
|
|
|
|
|
|
|
def __init__(self, *args, **kwargs):
|
|
|
|
def __init__(self, *args, **kwargs):
|
|
|
|
# Define default values
|
|
|
|
# Define default values
|
|
|
|
default_values = {
|
|
|
|
default_values = {
|
|
|
|