1515from . import generator
1616
1717MANIFEST_PATH = './manifest.json'
18- LOOKML_OUTPUT_DIR = './lookml'
18+ DEFAULT_LOOKML_OUTPUT_DIR = './lookml'
1919
2020
2121def get_manifest (prefix : str ):
@@ -82,6 +82,12 @@ def run():
8282 type = str ,
8383 default = 'INFO' ,
8484 )
85+ argparser .add_argument (
86+ '--output-dir' ,
87+ help = 'Path to a directory that will contain the generated lookml files' ,
88+ default = DEFAULT_LOOKML_OUTPUT_DIR ,
89+ type = str ,
90+ )
8591 args = argparser .parse_args ()
8692 logging .basicConfig (
8793 level = getattr (logging , args .log_level ),
@@ -104,20 +110,20 @@ def run():
104110 generator .lookml_view_from_dbt_model (model , adapter_type )
105111 for model in typed_dbt_models
106112 ]
107- pathlib .Path (os .path .join (LOOKML_OUTPUT_DIR , 'views' )).mkdir (parents = True , exist_ok = True )
113+ pathlib .Path (os .path .join (args . output_dir , 'views' )).mkdir (parents = True , exist_ok = True )
108114 for view in lookml_views :
109- with open (os .path .join (LOOKML_OUTPUT_DIR , 'views' , view .filename ), 'w' ) as f :
115+ with open (os .path .join (args . output_dir , 'views' , view .filename ), 'w' ) as f :
110116 f .write (view .contents )
111117
112- logging .info (f'Generated { len (lookml_views )} lookml views in { os .path .join (LOOKML_OUTPUT_DIR , "views" )} ' )
118+ logging .info (f'Generated { len (lookml_views )} lookml views in { os .path .join (args . output_dir , "views" )} ' )
113119
114120 # Generate Lookml models
115121 lookml_models = [
116122 generator .lookml_model_from_dbt_model (model , dbt_project_config .name )
117123 for model in typed_dbt_models
118124 ]
119125 for model in lookml_models :
120- with open (os .path .join (LOOKML_OUTPUT_DIR , model .filename ), 'w' ) as f :
126+ with open (os .path .join (args . output_dir , model .filename ), 'w' ) as f :
121127 f .write (model .contents )
122- logging .info (f'Generated { len (lookml_models )} lookml models in { LOOKML_OUTPUT_DIR } ' )
128+ logging .info (f'Generated { len (lookml_models )} lookml models in { args . output_dir } ' )
123129 logging .info ('Success' )
0 commit comments