def parseQuery(s, username): # return "hey it works" parser = yacc.yacc(debug=0) prep = preProcessor() s = prep.mapConditions(s) result = parser.parse(s) gen = queryGenerator() query = gen.start(result, username) return query
from queryGenerator import queryGenerator from formGenerator import formGenerator # test if the user give the path to a prisma model if len(sys.argv) != 2: print("please give the path to your prisma models (ex: ../server/models/") sys.exit() # var objects = [] enums = [] # get path from parameters path = sys.argv[1] for path in Path(path).iterdir(): if path.is_file(): # open file model = open(path, "r") # Generate datastructure objectsModel, enumsModel = generateDatastructre(model) objects += objectsModel enums += enumsModel printResult(objects, enums) for obj in objects: queryGenerator(obj, objects, enums) viewGenerator(obj, enums) formGenerator(obj, objects, enums)
def p_specificCond(p): '''specificCond : placeCond | followCond''' p[0] = ('specificCond' , p[1]) def p_placeCond(p): '''placeCond : LIVING_IN PLACE''' p[0] = ('placeCond' , p[1] , p[2]) def p_followCond(p): '''followCond : HAVING_FOLLOWER_GREATER_THAN NUMBER | HAVING_FOLLOWER_LESS_THAN NUMBER''' p[0] = ('followCond' , p[1] , p[2]) # Error rule for syntax errors def p_error(p): print("Syntax error at '%s'" % repr(p)) #p.value) # Build the parser parser = yacc.yacc() s = raw_input('Enter string:') result = parser.parse(s) print result gen = queryGenerator() query = gen.start(result) print query