22Example uses the following APIs:
33- CHRONICLING API (https://chroniclingamerica.loc.gov/about/api/)
44- Launch Library Reading API (https://launchlibrary.net/docs/1.3/api.html)
5+ - University Domains and Names Data List (https://github.com/Hipo/university-domains-list)
56"""
67import requests
78
89from json_to_models .generator import MetadataGenerator
10+ from json_to_models .models import compose_models
11+ from json_to_models .models .attr import AttrsModelCodeGenerator
12+ from json_to_models .models .base import generate_code
913from json_to_models .registry import ModelRegistry
10- from testing_tools .pprint_meta_data import pretty_format_meta
1114from testing_tools .real_apis import dump_response
1215
1316
@@ -19,24 +22,30 @@ def launchlibrary(mission_name="GPS"):
1922 return requests .get (f"https://launchlibrary.net/1.3/mission/{ mission_name } " ).json ()
2023
2124
25+ def university_domains ():
26+ return requests .get ("https://raw.githubusercontent.com/Hipo/university-domains-list/master/"
27+ "world_universities_and_domains.json" ).json ()
28+
29+
2230def main ():
2331 chroniclingamerica_data = chroniclingamerica ()
2432 dump_response ("other" , "chroniclingamerica" , chroniclingamerica_data )
2533
2634 launchlibrary_data = launchlibrary ()
2735 dump_response ("other" , "launchlibrary" , launchlibrary_data )
2836
37+ university_domains_data = university_domains ()
38+ dump_response ("other" , "university_domains" , university_domains_data )
39+
2940 gen = MetadataGenerator ()
3041 reg = ModelRegistry ()
31- for data in ([chroniclingamerica_data ], [launchlibrary_data ]):
42+ for data in ([chroniclingamerica_data ], [launchlibrary_data ], university_domains_data ):
3243 fields = gen .generate (* data )
33-
34- print (pretty_format_meta (fields ))
35- print ('-' * 10 )
36-
37- model = reg .process_meta_data (fields )
38- print (pretty_format_meta (model ))
39- print ('-' * 10 )
44+ reg .process_meta_data (fields )
45+ reg .merge_models (generator = gen )
46+ reg .generate_names ()
47+ structure = compose_models (reg .models_map )
48+ print (generate_code (structure , AttrsModelCodeGenerator ))
4049
4150
4251if __name__ == '__main__' :
0 commit comments