@@ -16,20 +16,21 @@ def camel_case_to_words(name: str):
1616 return ' ' .join (words )
1717
1818
19- def generate_file_data (cls , class_folder_name , operation , prop = None , obj_prop = None ):
19+ def generate_file_data (cls , class_folder_name , operation , prop = None , obj_prop = None , file_extension = "html" ):
2020 """
2121 This method will return a query file path and a count query file name
2222 :param cls:
2323 :param class_folder_name:
2424 :param operation:
2525 :param prop:
2626 :param obj_prop:
27+ :param file_extension: extension to use for the generated files (html/adoc)
2728 :return:
2829 """
2930 file_path = make_file_path (output_folder_path = class_folder_name ,
3031 file_name = make_file_name (operation = operation ,
3132 cls = cls ,
32- file_extension = "html" ,
33+ file_extension = file_extension ,
3334 prop = prop , obj_prop = obj_prop ))
3435 count_file_name = make_file_name (operation = "count_" + operation ,
3536 cls = cls ,
@@ -39,7 +40,7 @@ def generate_file_data(cls, class_folder_name, operation, prop=None, obj_prop=No
3940
4041
4142def iterate_operations (operation_list , file_paths , count_queries , cls , class_folder_name , prop = None ,
42- obj_prop = None ):
43+ obj_prop = None , file_extension = "html" ):
4344 """
4445 This method will iterate through a list of operations. It will put one query file path in the file paths list
4546 and one count query name in the count query list
@@ -50,22 +51,25 @@ def iterate_operations(operation_list, file_paths, count_queries, cls, class_fol
5051 :param class_folder_name:
5152 :param prop:
5253 :param obj_prop:
54+ :param file_extension: extension to use for generated file paths
5355 :return:
5456 """
5557 for operation in operation_list :
5658 file_path , count_file_name = generate_file_data (cls = cls , class_folder_name = class_folder_name ,
57- operation = operation , prop = prop , obj_prop = obj_prop )
59+ operation = operation , prop = prop , obj_prop = obj_prop ,
60+ file_extension = file_extension )
5861 file_paths .append (file_path )
5962 count_queries .append (count_file_name )
6063
6164
62- def add_instance_changes (data_source , cls , class_name , class_folder_name ):
65+ def add_instance_changes (data_source , cls , class_name , class_folder_name , file_extension = "html" ):
6366 """
6467 This method will build the necessary data at the class level and it will add it to a data source dictionary
6568 :param data_source:
6669 :param cls:
6770 :param class_name:
6871 :param class_folder_name:
72+ :param file_extension: extension to use for generated file paths
6973 :return:
7074 """
7175 if "instance_changes" not in data_source [cls ].keys ():
@@ -75,7 +79,8 @@ def add_instance_changes(data_source, cls, class_name, class_folder_name):
7579 instance_count_queries = []
7680
7781 iterate_operations (operation_list = INSTANCE_OPERATIONS , file_paths = instance_file_paths ,
78- count_queries = instance_count_queries , cls = cls , class_folder_name = class_folder_name )
82+ count_queries = instance_count_queries , cls = cls , class_folder_name = class_folder_name ,
83+ file_extension = file_extension )
7984
8085 data_source [cls ]["instance_changes" ].update (
8186 {"files" : instance_file_paths , "count_queries" : instance_count_queries })
@@ -104,10 +109,11 @@ def add_prop_group_details(data_source, prop_group_value, cls, prop_name, prop_f
104109 {prop_name : {"files" : count_prop_file_paths , "label" : prop_name }})
105110
106111
107- def build_datasource_for_html_template (processed_csv_file : pd .DataFrame ) -> dict :
112+ def build_datasource_for_template (processed_csv_file : pd .DataFrame , file_extension : str = "html" ) -> dict :
108113 """
109114 This method will build a data source dictionary from a given application profile dataframe
110115 :param processed_csv_file:
116+ :param file_extension: extension to use for generated file paths (default: html)
111117 :return:
112118 """
113119 data_source = {}
@@ -121,7 +127,7 @@ def build_datasource_for_html_template(processed_csv_file: pd.DataFrame) -> dict
121127 data_source [row ["class" ]] = {"label" : camel_case_to_words (class_name ).title (), "prop_groups" : {}}
122128
123129 add_instance_changes (data_source = data_source , cls = row ["class" ], class_name = class_name ,
124- class_folder_name = class_folder_name )
130+ class_folder_name = class_folder_name , file_extension = file_extension )
125131
126132 prop_file_paths = []
127133 count_queries = []
@@ -130,16 +136,20 @@ def build_datasource_for_html_template(processed_csv_file: pd.DataFrame) -> dict
130136 prop_name = row ["property" ]
131137 iterate_operations (operation_list = PROPERTIES_OPERATIONS , file_paths = prop_file_paths ,
132138 count_queries = count_queries , cls = row ["class" ],
133- class_folder_name = f'{ class_folder_name } /{ prop_group_folder } ' , prop = row ["property" ])
139+ class_folder_name = f'{ class_folder_name } /{ prop_group_folder } ' , prop = row ["property" ],
140+ file_extension = file_extension )
134141 else :
135142 prop_name = row ["property" ] + "/" + row ["object property" ]
136143 iterate_operations (operation_list = REIFIED_PROPERTIES_OPERATIONS , file_paths = prop_file_paths ,
137144 count_queries = count_queries , cls = row ["class" ],
138145 class_folder_name = f'{ class_folder_name } /{ prop_group_folder } ' , prop = row ["property" ],
139- obj_prop = row ["object property" ])
146+ obj_prop = row ["object property" ], file_extension = file_extension )
140147
141148 add_prop_group_details (data_source = data_source , prop_group_value = row ["property group" ], cls = row ["class" ],
142149 prop_name = prop_name , prop_file_paths = prop_file_paths ,
143150 count_prop_file_paths = count_queries )
144151
145152 return data_source
153+
154+ # Backwards compatibility alias
155+ build_datasource_for_html_template = build_datasource_for_template
0 commit comments