forked from UWQuickstep/Grail
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Grail.py
33 lines (32 loc) · 992 Bytes
/
Grail.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
from ConfigParser import ConfigParser
from Translator import Translator
from Optimizer import Optimizer
class Grail:
'''
Class that contains functions to generate grail blocks
'''
filename=""
blocks=[]
def __init__(self,filename):
'''
constructor
@param filename: file containing config
@type filename: string
'''
self.filename=filename
def getBlocks(self):
'''
returns the blocks/sql statements generated by grail
'''
return self.blocks
def run(self):
'''
invokes the config parser, generates the sql statements and runs optimizer
'''
Parser=ConfigParser(self.filename)
config=Parser.configContent
translator=Translator(config)
translator.translate()
self.blocks=translator.getBlocks()
#op=Optimizer(translator.getConvertedOptions(),self.blocks,translator.getSenders())
#op.run()