def common(self, name): mytemplate = Template(action_def) # name='about_date' result = (mytemplate.render(action=name, action_c=to_camel_case(name, True))) print(result) clipboard.copy(result)
def gen_jsonifier(self, pkg, target_dir): import io_utils entities = get_package_entities(pkg) if len(entities) > 0: norm_pkg = norm_package(pkg) pkg_file = norm_pkg + "_jsonifiers.dart" target_file = target_dir + '/' + pkg_file package_name = to_camel_case(norm_pkg, True) lines = [] # import 'package:sagas_meta/src/models/product_subscription.dart'; lines.append("import 'package:sagas_meta/src/models/%s.dart';" % norm_pkg) lines.append(imports) lines.append('class %sJsonifier{' % package_name) for entity_name in entities: print('.. generate', entity_name) gen_bloc_jsonifier(lines, entity_name) gen_map_overrides(lines, entity_name) lines.append('}') cnt = ("\n".join(lines)) io_utils.write_to_file(target_file, cnt) print('done.') else: print("package %s doesn't has entities.")
def gen_blocs(package_name, services): lines = [] lines.append(package_header) lines.append( class_header.format(package_name=to_camel_case(package_name, True))) lines.append(events_header) for service in services: evname = cap_first(service) + 'Ev' lines.append(event_condition % (evname, evname)) lines.append(events_footer) for service in services: gen_event_map(lines, service) event_classes = [] for service in services: define_pars, invoke_pars, define_ent = gen_bloc(lines, service) gen_event_class(event_classes, service, define_pars, invoke_pars, define_ent) lines.append('') event_classes.append('') lines.append(package_footer) ## add the event class lines.append('\n'.join(event_classes)) print("\n".join(lines)) clipboard.copy("\n".join(lines))
def gen_model_fields(model_def, model_name): field_builder = [] imports_builder = [] import_set = [] model = model_def.models[model_name] for k, fld in model['fields'].items(): primary_part = "" foreign_part = "" if is_primary(fld): primary_part = "primary_key=True," if "foreign_key" in fld: foreign_part = "ForeignKey('{}'),".format(fld['foreign_key']) if fld['type'] == "relation": rel_model = fld['model'] field_builder.append( rel_def.format(lname=to_camel_case(k), model=to_camel_case(rel_model, True), field=fld)) if rel_model not in import_set: import_set.append(rel_model) imports_builder.append( rel_imp_def.format(model=rel_model, cmodel=to_camel_case(rel_model, True))) else: # print(fld['doc']) field_builder.append( field_def.format(fld_name=k, fld_type=fld['type'].capitalize(), pk_part=primary_part, fk_part=foreign_part, field=fld)) # process extends if 'extends' in model: base_model = model_def.base_models[model['extends']] for k, fld in base_model['fields'].items(): # print(k) field_builder.append( field_def.format(fld_name=k, fld_type=fld['type'].capitalize(), pk_part="", fk_part="", field=fld)) return (" " + "\n ".join(imports_builder + field_builder))
def input_to_dictionary(self, input, entity, of_type): output = of_type(self) m = self.oc.j.HashMap() for key in input: value = input[key] setattr(output, key, value) m[to_camel_case(key)] = value val = self.oc.delegator.create(entity, m) # print(to_snake_case('lastUpdatedStamp'), val['lastUpdatedStamp'], val) setattr(output, "last_updated_stamp", val['lastUpdatedStamp']) return output
def gen_samples(self): import clipboard package_name = 'common_srv' lines = [] lines.append(package_header.format(package_name=to_camel_case(package_name, True))) services = ["testScv", 'createPerson', 'quickAddVariant'] for service in services: gen_service_stub(lines, service) lines.append('') lines.append(package_footer) print("\n".join(lines)) clipboard.copy("\n".join(lines))
def gen_sample_jsonifiers(self): import clipboard package_name = 'testing' lines = [] lines.append(imports) lines.append('class %sEntityJsonifier{' % to_camel_case(package_name, True)) entities = ['Testing', 'TestingType', 'TestFieldType', 'Person'] for entity in entities: gen_bloc_jsonifier(lines, entity) gen_map_overrides(lines, entity) # end package lines.append('}') print("\n".join(lines)) clipboard.copy("\n".join(lines))
def gen_services(group_name, srvs, target_file): deps = set() for srv in srvs: proc_service_refs(srv, deps) lines = [] for dep in deps: lines.append("import 'package:sagas_meta/src/models/%s.dart';" % dep) lines.append(package_header.format(package_name=to_camel_case(group_name, True))) for service in srvs: gen_service_stub(lines, service) lines.append('') lines.append(package_footer) cnt = "\n".join(lines) io_utils.write_to_file(target_file, cnt)
def gen_model_header(model_def, model_name): # model_name='people' # model_name='planet' return (model_header.format(name=model_name, cname=to_camel_case(model_name, True), model=model_def.models[model_name]))
def gen_schema_updater(model_def, model_name): return (updater_def.format(name=model_name, cname=to_camel_case(model_name, True), model=model_def.models[model_name]))
def gen_schema_creator(model_def, model_name): return (creator_def.format(name=model_name, cname=to_camel_case(model_name, True), model=model_def.models[model_name]))
def gen_schema_header(model_def, model_name): return (schema_header.format(name=model_name, cname=to_camel_case(model_name, True), model=model_def.models[model_name]))