def __set_block(self): if type(self.house_number) == int: n = self.house_number else: n = StrLib.extract_numeric(self.house_number) if not n.isnumeric(): return '', '' x = int((int(n) / 100)) * 100 y = x + 99 self.__block_x = (x, y)
def groups(): con_rex = con_dao.get_all(Dao()) contacts = [{ 'id': rec['id'], 'name': StrLib.common_name(rec) } for rec in con_rex] return render_template('groups/groups.html', title='Groups', groups=grp_dao.get_all(Dao(), with_members=True), contacts=contacts, modifications=Modification.get_all(serialized=True))
def __parse(self, d): from usaddress import tag try: # Note that we replace . with space addr = tag(d['address'].replace('.', ' ').upper())[0] except Exception: raise Exception('Unable to parse address %s' % (d['address'], )) if 'StreetName' not in addr: return d['street_name'] = addr['StreetName'].replace(' ', '') if 'AddressNumber' in addr: d['house_number'] = StrLib.extract_numeric(addr['AddressNumber']) if not d['house_number'].isnumeric(): d['street_name'] = '%s %s' % (addr['AddressNumber'], d['street_name']) d['house_number'] = '' if 'StreetNamePreType' in addr: d['street_name'] = '%s%s' % (addr['StreetNamePreType'], d['street_name']) if 'StreetNamePreDirectional' in addr: d['pre_direction'] = addr['StreetNamePreDirectional'].replace( '.', '') if d['pre_direction'] not in self.__directions: d['street_name'] = '%s %s' % (d['pre_direction'], d['street_name']) d['pre_direction'] = '' if 'StreetNamePostType' in addr: d['street_type'] = addr['StreetNamePostType'].replace('.', '') if d['street_type'] not in street_abbrs and \ d['street_type'] not in street_abbrs.values(): d['street_name'] = '%s%s' % (d['street_name'], d['street_type']) d['street_type'] = '' if 'StreetNamePostDirectional' in addr: d['suf_direction'] = addr['StreetNamePostDirectional'].replace( '.', '') if d['suf_direction'] not in self.__directions: d['street_name'] = '%s %s' % (d['street_name'], d['suf_direction']) d['suf_direction'] = None if 'OccupancyIdentifier' in addr: d['unit'] = addr['OccupancyIdentifier']
def __parse(self, addr_str): from usaddress import tag try: # Note that we replace . with space d = tag(addr_str.replace('.', ' ').upper())[0] except Exception: raise ValueError('Unable to parse address %s' % (addr_str, )) if 'StreetName' not in d: raise ValueError('Address has no street name!') street_name = d['StreetName'].replace(' ', '') if 'AddressNumber' in d: self.house_number = int(StrLib.extract_numeric(d['AddressNumber'])) # Compensate for HWY, etc. if 'StreetNamePreType' in d: street_name = '%s%s' % (d['StreetNamePreType'], street_name) if 'StreetNamePreDirectional' in d: prefix = d['StreetNamePreDirectional'].replace('.', '') if prefix in self.__directions: self.street_prefix = prefix else: street_name = '%s %s' % (prefix, street_name) if 'StreetNamePostType' in d: street_type = d['StreetNamePostType'].replace('.', '') if street_type not in street_abbrs and \ street_type not in street_abbrs.values(): street_name = '%s%s' % (street_name, street_type) else: self.street_type = street_type if 'StreetNamePostDirectional' in d: suffix = d['StreetNamePostDirectional'].replace('.', '') if suffix in self.__directions: self.street_suffix = suffix else: street_name = '%s %s' % (street_name, suffix) if 'OccupancyIdentifier' in d: self.unit = d['OccupancyIdentifier'] self.street_name = street_name
def __parse(self, d): from usaddress import tag try: # Note that we replace . with space addr = tag(d['address'].replace('.', ' ').upper())[0] except Exception: raise Exception('Unable to parse address %s' % (d['address'],)) if 'StreetName' not in addr: return d['street_name'] = addr['StreetName'].replace(' ', '') if 'AddressNumber' in addr: d['house_number'] = StrLib.extract_numeric(addr['AddressNumber']) if not d['house_number'].isnumeric(): d['street_name'] = '%s %s' % (addr['AddressNumber'], d['street_name']) d['house_number'] = '' if 'StreetNamePreType' in addr: d['street_name'] = '%s%s' % (addr['StreetNamePreType'], d['street_name']) if 'StreetNamePreDirectional' in addr: d['pre_direction'] = addr['StreetNamePreDirectional'].replace('.', '') if d['pre_direction'] not in self.__directions: d['street_name'] = '%s %s' % (d['pre_direction'], d['street_name']) d['pre_direction'] = '' if 'StreetNamePostType' in addr: d['street_type'] = addr['StreetNamePostType'].replace('.', '') if d['street_type'] not in street_abbrs and \ d['street_type'] not in street_abbrs.values(): d['street_name'] = '%s%s' % (d['street_name'], d['street_type']) d['street_type'] = '' if 'StreetNamePostDirectional' in addr: d['suf_direction'] = addr['StreetNamePostDirectional'].replace('.', '') if d['suf_direction'] not in self.__directions: d['street_name'] = '%s %s' % (d['street_name'], d['suf_direction']) d['suf_direction'] = None if 'OccupancyIdentifier' in addr: d['unit'] = addr['OccupancyIdentifier']
def phone2(self, value): self.__phone2 = StrLib.extract_numeric(value)
def unit(self, val): self.__unit = StrLib.extract_numeric(val)