def process_form(global_config, form): global_config['logger'].debug( 'Process UI Generator Form' ) # form.d.boe and form['boe'].value are equivalent ways of # extracting the validated arguments from the form. base_root_dir = form[base_root_dir_label].value base_project_path = os.path.join(base_root_dir, form[base_dir_label].value) base_projectname = form[base_project_label].value dest_root_dir = form[dest_root_dir_label].value dest_project_dir = form[dest_dir_label].value dest_project_path = os.path.join(dest_root_dir, dest_project_dir) dest_projectname = form[dest_project_label].value dest_activity_prefix = form[sheet_type_label].value dest_app_label = form[app_name_label].value dest_app_name = form[app_title_label].value attr_defs_file = './config/' + form[attr_defs_label].value generated_code_fragments = UiGenerator.gen_ui(attr_defs_file, \ dest_activity_prefix, \ create_fragment_file=True) AppGenerator.prepare_destination_project( base_project_path, base_projectname, dest_project_path, dest_projectname, \ dest_activity_prefix, dest_app_name, dest_app_label ) AppGenerator.update_generated_xml_code(dest_project_path, generated_code_fragments) AppGenerator.update_generated_java_code(base_projectname, dest_project_path, dest_activity_prefix, generated_code_fragments) FileUtils.make_zipfile( dest_project_path + '.zip', dest_project_path ) return "User Interface Generated!\n\tSource Directory: %s\n\tDestination Directory: %s\n\tSheet Type: %s\n\tAttribute Definitions File: %s\n\tGenerate Action: %s" % \ (form[base_dir_label].value, \ form[dest_dir_label].value, \ form[sheet_type_label].value, \ form[attr_defs_label].value, \ form[gen_action_label].value)