def obj_location(self): script = CleanText('./script')(self) try: # Should be standard JSON+LD data script = json.loads(script) except ValueError: try: # But explorimmo can't write JSON correctly and there # is a trailing "}" script = json.loads(script.strip().rstrip('}')) except ValueError: script = None if not script: return NotLoaded try: return '%s (%s)' % (script['address']['addressLocality'], script['address']['postalCode']) except (KeyError): return NotLoaded
def obj_location(self): script = CleanText('./script')(self) try: # Should be standard JSON+LD data script = json.loads(script) except ValueError: try: # But explorimmo can't write JSON correctly and there # is a trailing "}" script = json.loads(script.strip().rstrip('}')) except ValueError: script = None if not script: return NotLoaded try: return '%s (%s)' % ( script['address']['addressLocality'], script['address']['postalCode'] ) except (KeyError): return NotLoaded
def obj_phone(self): phone = CleanText('(//div[has-class("tel-wrapper")])[1]')(self) phone = phone.replace(' ', ', ') return phone.strip()