Beispiel #1
0
 def __call__(self, value):
     if isinstance(value, str):
         value = VATIN.from_str(value)
     if self.verify:
         value.verify()
     if self.validate:
         value.validate()
Beispiel #2
0
 def __call__(self, value):
     if isinstance(value, six.text_type):
         value = VATIN.from_str(value)
     if self.verify:
         value.verify()
     if self.validate:
         value.validate()
Beispiel #3
0
def cache_vies_data(value):
    if isinstance(value, str):
        value = VATIN.from_str(value)
    key = f"VAT-{value}"
    data = cache.get(key)
    if data is None:
        try:
            value.verify_country_code()
            value.verify_regex()
        except ValidationError:
            return value
        try:
            data = {}
            for item in value.data:
                data[item] = value.data[item]
            cache.set(key, data, 3600)
        except Fault as error:
            sentry_sdk.capture_exception()
            data = {
                "valid": False,
                "fault_code": error.code,
                "fault_message": str(error),
            }
    value.__dict__["vies_data"] = data

    return value
Beispiel #4
0
def cache_vies_data(value):
    if isinstance(value, str):
        value = VATIN.from_str(value)
    key = "VAT-{}".format(value)
    data = cache.get(key)
    if data is None:
        try:
            value.verify_country_code()
            value.verify_regex()
        except ValidationError:
            return value
        try:
            data = {}
            for item in value.data:
                data[item] = value.data[item]
            cache.set(key, data, 3600)
        except WebFault as error:
            sentry_sdk.capture_exception()
            data = {
                "valid": False,
                "fault_reason": str(error.fault.faultstring)
            }
    value.__dict__["vies_data"] = data

    return value
Beispiel #5
0
def cache_vies_data(value):
    if isinstance(value, str):
        value = VATIN.from_str(value)
    key = 'VAT-{}'.format(value)
    data = cache.get(key)
    if data is None:
        try:
            value.verify_country_code()
            value.verify_regex()
        except ValidationError:
            return value
        try:
            data = dict(value.data)
            cache.set(key, data, 3600)
        except WebFault:
            data = {'valid': False}
    value.__dict__['vies_data'] = data

    return value