3
3
from transformation_functions import transformations_dict
4
4
5
5
6
-
7
-
8
6
# Class to contain a step and the transformation associated with that step
9
7
class TransformData :
10
8
def __init__ (self , query ):
11
9
language_token = helpers .ProcessLanguageTokens (query = query )
12
- table_list = models .loaded_table_dict .keys ()
13
- transformation_list = transformations_dict .keys ()
10
+ table_list = list ( models .loaded_table_dict .keys () )
11
+ transformation_list = list ( transformations_dict .keys () )
14
12
self .matched_table = language_token .get_matches (table_list , threshold = 94 )
15
13
self .matched_transformation = language_token .get_matches (transformation_list , threshold = 90 )[0 ]
16
14
tx_fn = transformations_dict .get (self .matched_transformation )
17
15
if not tx_fn :
18
16
raise NotImplemented ('This Transformation is not implemented yet!' )
19
- self .transformation_function = tx_fn
17
+ self .transformation_function = tx_fn
18
+
19
+ def load_table (self , table_name ):
20
+ table_a = models .loaded_table_dict .get (self .matched_table [0 ])
21
+ table_b = models .loaded_table_dict .get (self .matched_table [1 ])
22
+ if not table_a or not table_b :
23
+ raise ValueError ('Could Not Find Tables in loaded table list' )
24
+ models .loaded_table_dict [table_name ] = self .transformation_function (table_a , table_b )
25
+
26
+
27
+ # ----------------------- DEBUGGING -----------------------------------------
28
+
29
+ if __name__ == '__main__' :
30
+ i = 0
31
+ query = ""
32
+ list_of_transformations = []
33
+ while query != 'end!' :
34
+ i += 1
35
+ query = input ('Enter Query. end! to stop\n -->' )
36
+ transformation = TransformData (query )
37
+ transformation .load_table ('step' + str (i ))
38
+ list_of_transformations .append (transformation )
0 commit comments