#1 dump themes #- get a handle on the correct ACE(in the correct alternative) # a1 << gis_program_manager.ace(:wco_outage) # a1.source_view.alternative_path_name() # #- list the themes # _for i _over a1.all_user_data() # _loop # write(i) # _endloop # $ # #- dump a specific them or all themes to a target directory # wco_dump_theme(app.ace, :wco_stc_shutoff_wco_om_edit_wp, "C:\Users\DOAKA0\Desktop\Andrew Work\OM\scripts", "dev_") # # # _for i _over {:wco_stc_shutoff_wco_om, # :wco_stc_shutoff_wco_om_edit, # :wco_stc_shutoff_wco_om_edit_wp, # :wco_stc_smd_wco_om_edit, # :wco_stc_smd_wco_om_edit_wp, # :wco_stc_smd_wco_om_read_only}.elements() # _loop # wco_dump_theme(a1, i, "C:\Users\DOAKA0\Desktop\Andrew Work\OM\scripts","dev_") # _endloop # #2 load theme #- get a handle on the correct ACE(in the correct alternative) # a1 << gis_program_manager.ace(:wco_outage) # a1.source_view.alternative_path_name() # #- load the relevant theme from the appropriate dumped file # wco_load_theme(a1, # :wco_stc_shutoff_wco_om_edit_wp, # "C:\Users\DOAKA0\Desktop\Andrew Work\OM\scripts\wco_stc_shutoff_wco_om_edit_wp_dev.xml") # #- commit ACE # a1.source_view.commit() # #_block # l_dir << "C:\Users\DOAKA0\Desktop\Andrew Work\OM\scripts\prod" # #_for i _over {{:wco_stc_shutoff_wco_om, "prod2_wco_stc_smd_wco_om_read_only.xml"}, # {:wco_stc_shutoff_wco_om_edit, "prod2_wco_stc_smd_wco_om_edit.xml"}, # {:wco_stc_shutoff_wco_om_edit_wp, "prod2_wco_stc_smd_wco_om_edit_wp.xml"}, # {:wco_stc_smd_wco_om_edit, "prod2_wco_stc_smd_wco_om_edit.xml"}, # {:wco_stc_smd_wco_om_edit_wp, "prod2_wco_stc_smd_wco_om_edit_wp.xml"}, # {:wco_stc_smd_wco_om_read_only, "prod2_wco_stc_smd_wco_om_read_only.xml"}}.elements() # _loop # wco_load_theme(a1, # i[1],l_dir+"\"+i[2]) # _endloop # _endblock ### rollout test items to prod #_block # l_dir << "C:\Users\DOAKA0\Desktop\Andrew Work\OM\scripts\test" # #_for i _over {{:wco_stc_shutoff_wco_om, "test4_wco_stc_shutoff_wco_om.xml"}, # {:wco_stc_shutoff_wco_om_edit, "test4_wco_stc_shutoff_wco_om_edit.xml"}, # {:wco_stc_shutoff_wco_om_edit_wp, "test4_wco_stc_shutoff_wco_om_edit_wp.xml"}, # {:wco_stc_smd_wco_om_edit, "test4_wco_stc_smd_wco_om_edit.xml"}, # {:wco_stc_smd_wco_om_edit_wp, "test4_wco_stc_smd_wco_om_edit_wp.xml"}, # {:wco_stc_smd_wco_om_read_only, "test4_wco_stc_smd_wco_om_read_only.xml"}}.elements() # _loop # wco_load_theme(a1, # i[1],l_dir+"\"+i[2]) # _endloop # _endblock #$ #- commit ACE # a1.source_view.commit() # wco_dump_theme << _proc(p_ace, p_theme_name, p_dir, _optional p_prefix) ## ## ## p_prefix << p_prefix.default("") _if (x1 << p_ace.get_xml_user_data(p_theme_name)) _is _unset _then write("NO SUCH THEME") _return _endif l_fname << write_string(p_prefix, p_theme_name,".xml") l_fname << system.pathname_down(p_dir,l_fname) write("Dumping Theme: ", p_theme_name," --> ", l_fname,tab_char, p_ace.name, tab_char, p_ace.source_view.alternative_path_name()) simple_xml.write_element_file(l_fname, x1) _endproc $ ################################# wco_load_theme << _proc(p_ace, p_theme_name, p_filename) ## ## ## x1 << simple_xml.read_element_file(p_filename) p_ace.set_xml_user_data(p_theme_name,x1) _return x1 _endproc #a1 << app.ace #a1 << gis_program_manager.ace(:wco_outage) #udr1 << a1.sys!perform(:get_user_data_record_for|()|,:wco_stc_shutoff_wco_om_edit_wp) #t1 << a1.get_user_data(:wco_stc_shutoff_wco_om_edit_wp) #_for i _over app.ace.all_user_data() #_loop #write(i) #_endloop #$ #themes #wco_stc_shutoff_wco_om #wco_stc_shutoff_wco_om_edit #wco_stc_shutoff_wco_om_edit_wp #wco_stc_smd_wco_om_edit #wco_stc_smd_wco_om_edit_wp #wco_stc_smd_wco_om_read_only #report_theme(app.ace, :wco_stc_shutoff_wco_om_edit_wp, "C:\Users\DOAKA0\Desktop\Andrew Work\OM\scripts") #_for i _over {:wco_stc_shutoff_wco_om, # :wco_stc_shutoff_wco_om_edit, # :wco_stc_shutoff_wco_om_edit_wp, # :wco_stc_smd_wco_om_edit, # :wco_stc_smd_wco_om_edit_wp, # :wco_stc_smd_wco_om_read_only}.elements() #_loop # report_theme(a1, i, "C:\Users\DOAKA0\Desktop\Andrew Work\OM\scripts") #_endloop report_theme << _proc(p_ace, p_theme_name, _optional p_dir) ## ## report theme to CSV file ## _if (l_theme << p_ace.get_user_data(p_theme_name)) _is _unset _then write("NO SUCH THEME") _return _endif _if p_dir _is _unset _then l_out << !terminal! _else l_out << external_text_output_stream.new(system.pathname_down(p_dir,p_theme_name+".csv")) _endif _protect l_out.write(p_ace.name, " : ",p_ace.source_view.alternative_path_name()) l_out.write(newline_char) l_out.write(newline_char) l_out.write("LABEL,CHECK?,DS_NAME,COLL_LABEL,COLL_NAME,GEOM_LABEL,GEOM_FIELD_NAME") l_out.write(newline_char) l_out.write(newline_char) _for i_theme _over l_theme.children.elements() _loop _for i_theme_coll _over i_theme.children.elements() _loop _for i_theme_geom _over i_theme_coll.children.elements() _loop l_out.write(i_theme.name, %, , i_theme.check?, %,, i_theme_coll.dataset_name,%,, i_theme_coll.name, %,, i_theme_coll.table_name, %,, i_theme_geom.name, %,, i_theme_geom.field_name) l_out.write(newline_char) _endloop _endloop _endloop _protection _if p_dir _isnt _unset _then l_out.close() _endif _endprotect _endproc $ ######