+ """
+ We initialize from a GeoRecord object. It is important that
+ we raise some kind of error if there is no 'block' field, since
+ that means we weren't passed a block.
+ """
+ if not (StringUtils.is_integer(geo_record.block)):
+ raise RecordError('GeoRecord object does not represent a block.')
+
+ # These need to be stored as strings so they don't
+ # affect the block_identifier() generation.
+ self.state = geo_record.state
+ self.county = geo_record.county
+ self.tract = geo_record.tract
+ self.block = geo_record.block
+