def build_python(model, fast): name = flat_case(model['metadata']['name']) new_folder = 'python/' + name + '/' files = {} icon_file = model['metadata']['icon'] if os.path.exists(icon_file): with open(icon_file, 'rb') as icon_data: files[new_folder+name+'.png'] = icon_data.read() else: model["metadata"]["icon"] = False files.update(build_metafiles(model)) files.update(build_main(model)) if not fast: new_file, database_file = build_database(model) build_locals(model, database_file) database_file.close() moves = {new_file: new_folder} for appendix in model['metadata']['appendix']: moves[appendix['file']] = new_folder else: moves = {} return files, moves
def build_main(model): name = model['metadata']['name'] root = 'java/src/realtimeweb/' + flat_case(name) + '/' return { root + camel_case_caps(name) + '.java': env.get_template('main.java', globals=model).render() }
def build_database(model): name = flat_case(model['metadata']['name']) new_file = name+'.db' if os.path.exists(new_file): os.remove(new_file) database_file = sqlite3.connect(new_file) return new_file, database_file
def build_database(model): name = flat_case(model['metadata']['name']) new_file = name+'.csv' if os.path.exists(new_file): os.remove(new_file) with open(new_file, 'w') as output: pass return new_file
def build_classes(model): name = model['metadata']['name'] root = 'java/src/realtimeweb/' + flat_case(name) + '/domain/' files = {} template = env.get_template('domain.java', globals={'object_is_map' : model["object_is_map"], 'metadata': model['metadata']}) for object in model['objects']: filename = root + camel_case_caps(object['name']) + '.java' files[filename] = template.render(object=object) return files
def build_csv(model): files = {} #files.update(build_metafiles(model)) moves = {} moves.update(build_locals(model)) for appendix in model['metadata']['appendix']: moves[appendix['file']] = 'csv/' + flat_case(model['metadata']['name']) + '/' return files, moves
def build_classes(model): name = model['metadata']['name'] root = 'java/src/realtimeweb/' + flat_case(name) + '/domain/' files = {} template = env.get_template('domain.java', globals={ 'object_is_map': model["object_is_map"], 'metadata': model['metadata'] }) for object in model['objects']: filename = root + camel_case_caps(object['name']) + '.java' files[filename] = template.render(object=object) return files
def build_locals(model): locals = model["locals"] hardware = model['metadata']['hardware'] module_name = flat_case(model['metadata']['name']) moves = {} for local in locals: name = flat_case(local["name"]) new_file = name+'.csv' new_small_file = name+'_small.csv' file = local["file"] type = local["type"] with open(file, "r") as local_file: if type == "json": data_list = json.load(local_file) json_list = [OrderedDict(sorted(flatten_json(_byteify(element), '_').items())) for element in data_list] write_list_of_dictionaries(new_file, json_list) moves[new_file] = 'csv/'+module_name+'/' write_list_of_dictionaries(new_small_file, json_list[:hardware]) moves[new_small_file] = 'csv/'+module_name+'/' elif type == "csv": pass return moves
def build_main(model): name = model['metadata']['name'] return {'python/' + flat_case(name) + '/' + flat_case(name) + '.py' : env.get_template('main.py').render(**model)}
def build_metafiles(model): name = model['metadata']['name'] return { 'python/' + flat_case(name) + '/' + flat_case(name) + '.html' : env.get_template('main.html').render(**model), 'python/' + flat_case(name) + '/' + flat_case(name) + '_preview.html' : env.get_template('preview.html').render(**model) }
def build_main(model): name = model['metadata']['name'] return {'python/' + flat_case(name) + '/main.py' : env.get_template('main.py', globals=model).render(), 'python/' + flat_case(name) + '/__init__.py' : env.get_template('__init__.py', globals=model).render()}
def build_main(model): name = model['metadata']['name'] root = 'java/src/realtimeweb/' + flat_case(name) + '/' return {root + camel_case_caps(name) + '.java' : env.get_template('main.java', globals=model).render()}