@@ -3,7 +3,7 @@ def __init__(self, obj):
3
3
self .smarty_key = obj .get ('smarty_key' , None )
4
4
self .data_set_name = obj .get ('data_set_name' , None )
5
5
self .data_subset_name = obj .get ('data_subset_name' , None )
6
- self .attributes = get_attributes (self .data_set_name , self .data_subset_name , obj .get ('attributes' ))
6
+ self .attributes = get_attributes (self .data_set_name , self .data_subset_name , obj .get ('attributes' , None ))
7
7
8
8
def __str__ (self ):
9
9
lines = [self .__class__ .__name__ + ':' ]
@@ -21,6 +21,8 @@ def get_attributes(dataset, data_subset, attribute_obj):
21
21
return FinancialAttributes (attribute_obj )
22
22
if data_subset == "principal" :
23
23
return PrincipalAttributes (attribute_obj )
24
+ if dataset == "geo-reference" :
25
+ return GeoReferenceOutputCategories (attribute_obj )
24
26
25
27
26
28
class PrincipalAttributes :
@@ -387,7 +389,16 @@ def __init__(self, obj):
387
389
self .zoning = obj .get ('zoning' , None )
388
390
389
391
def __str__ (self ):
390
- return self .__dict__ .__str__ ()
392
+ lines = ['' ]
393
+ for key , val in vars (self ).items ():
394
+ if type (val ) is list :
395
+ lines .append (key + ': ' )
396
+ for item in val :
397
+ for subkey , subval in vars (item ).items ():
398
+ lines += ' {}: {}' .format (subkey , subval ).split ('\n ' )
399
+ else :
400
+ lines .append (key + ': ' + str (val ))
401
+ return '\n ' .join (lines )
391
402
392
403
393
404
class FinancialAttributes :
@@ -492,7 +503,16 @@ def __init__(self, obj):
492
503
self .widow_tax_exemption = obj .get ('widow_tax_exemption' , None )
493
504
494
505
def __str__ (self ):
495
- return self .__dict__ .__str__ ()
506
+ lines = ['' ]
507
+ for key , val in vars (self ).items ():
508
+ if type (val ) is list :
509
+ lines .append (key + ': ' )
510
+ for item in val :
511
+ for subkey , subval in vars (item ).items ():
512
+ lines += ' {}: {}' .format (subkey , subval ).split ('\n ' )
513
+ else :
514
+ lines .append (key + ': ' + str (val ))
515
+ return '\n ' .join (lines )
496
516
497
517
498
518
def get_financial_history (financial_history_obj ):
@@ -549,3 +569,104 @@ def __init__(self, obj):
549
569
self .name_title_company = obj .get ('name_title_company' , None )
550
570
self .recording_date = obj .get ('recording_date' , None )
551
571
self .transfer_amount = obj .get ('transfer_amount' , None )
572
+
573
+ def __str__ (self ):
574
+ return self .__dict__ .__str__ ()
575
+
576
+ class GeoReferenceOutputCategories :
577
+ def __init__ (self , obj ):
578
+
579
+ self .census_block = get_geo_reference_census_block (obj .get ('census_block' , None ))
580
+ self .census_county_division = get_geo_reference_census_county_division (obj .get ('census_county_division' , None ))
581
+ self .census_tract = get_geo_reference_census_tract (obj .get ('census_tract' , None ))
582
+ self .core_based_stat_area = get_geo_reference_core_based_stat_area (obj .get ('core_based_stat_area' , None ))
583
+ self .place = get_geo_reference_place (obj .get ('place' , None ))
584
+
585
+ def __str__ (self ):
586
+ lines = ['' ]
587
+ for key , val in vars (self ).items ():
588
+ if type (val ) is list :
589
+ lines .append (key + ': ' )
590
+ for item in val :
591
+ for subkey , subval in vars (item ).items ():
592
+ lines += ' {}: {}' .format (subkey , subval ).split ('\n ' )
593
+ else :
594
+ lines .append (key + ': ' + str (val ))
595
+ return '\n ' .join (lines )
596
+
597
+ class GeoReferenceCensusBlock :
598
+ def __init__ (self , obj ):
599
+ self .accuracy = obj .get ('accuracy' , None )
600
+ self .geoid = obj .get ('geoid' , None )
601
+
602
+ def __str__ (self ):
603
+ return self .__dict__ .__str__ ()
604
+
605
+ def get_geo_reference_census_block (geo_reference_census_block_obj ):
606
+ if geo_reference_census_block_obj is None :
607
+ return None
608
+ output = []
609
+ output .append (GeoReferenceCensusBlock (geo_reference_census_block_obj ))
610
+ return output
611
+
612
+ class GeoReferenceCensusCountyDivision :
613
+ def __init__ (self , obj ):
614
+ self .accuracy = obj .get ('accuracy' , None )
615
+ self .code = obj .get ('code' , None )
616
+ self .name = obj .get ('name' , None )
617
+
618
+ def __str__ (self ):
619
+ return self .__dict__ .__str__ ()
620
+
621
+ def get_geo_reference_census_county_division (geo_reference_census_county_division_obj ):
622
+ if geo_reference_census_county_division_obj is None :
623
+ return None
624
+ output = []
625
+ output .append (GeoReferenceCensusCountyDivision (geo_reference_census_county_division_obj ))
626
+ return output
627
+
628
+ class GeoReferenceCensusTract :
629
+ def __init__ (self , obj ):
630
+ self .code = obj .get ('code' , None )
631
+
632
+ def __str__ (self ):
633
+ return self .__dict__ .__str__ ()
634
+
635
+ def get_geo_reference_census_tract (geo_reference_census_tract_obj ):
636
+ if geo_reference_census_tract_obj is None :
637
+ return None
638
+ output = []
639
+ output .append (GeoReferenceCensusTract (geo_reference_census_tract_obj ))
640
+ return output
641
+
642
+ class GeoReferenceCoreBasedStatArea :
643
+ def __init__ (self , obj ):
644
+ self .code = obj .get ('code' , None )
645
+ self .name = obj .get ('name' , None )
646
+
647
+ def __str__ (self ):
648
+ return self .__dict__ .__str__ ()
649
+
650
+ def get_geo_reference_core_based_stat_area (geo_reference_core_based_stat_area_obj ):
651
+ if geo_reference_core_based_stat_area_obj is None :
652
+ return None
653
+ output = []
654
+ output .append (GeoReferenceCoreBasedStatArea (geo_reference_core_based_stat_area_obj ))
655
+ return output
656
+
657
+ class GeoReferencePlace :
658
+ def __init__ (self , obj ):
659
+ self .accuracy = obj .get ('accuracy' , None )
660
+ self .code = obj .get ('code' , None )
661
+ self .name = obj .get ('name' , None )
662
+ self .type = obj .get ('type' , None )
663
+
664
+ def __str__ (self ):
665
+ return self .__dict__ .__str__ ()
666
+
667
+ def get_geo_reference_place (geo_reference_place_obj ):
668
+ if geo_reference_place_obj is None :
669
+ return None
670
+ output = []
671
+ output .append (GeoReferencePlace (geo_reference_place_obj ))
672
+ return output
0 commit comments