Saving Projects2

Saving Projects2
 1impact.gui.output_toolbox.clear()
 2drawing = impact.active_drawing
 3database = impact.active_database
 4
 5if not drawing.isNone():
 6    if drawing.drawing_type == ipDrawingType.dtProject:
 7        save_opts = impact.creator.drawing_save_options()
 8        db_item = drawing.database_item
 9
10        # Here, if ONE_UP.ou_cadnum is required, these should fail and report OU_CADNUM is missing.
11        # or if there is an existing project having same D_CODENUM, this should fail and report duplicate.
12        if db_item is None:
13            folder = database.projects.find("COMTests")
14            drawing.database_values.save("D_GROUP", folder.key)
15            drawing.database_values.save("D_CUSTOMER", "3")
16            drawing.active_layer.database_values.save("OU_CADNUM", "")
17            drawing.active_layer.database_values.save("LAYERS.L_NAME", "a")
18            drawing.database_values.save("D_CODENUM", "P071429")
19            drawing.save_as2(save_opts)
20        else:
21            drawing.active_layer.database_values.save("OU_CADNUM", "")
22            drawing.save2(save_opts)
23
24        if save_opts.error_type == ipDrawingSaveErrorType.seNone:
25            impact.gui.output_toolbox.add("Successfully saved '" + drawing.full_name + "'")
26        elif save_opts.error_type == ipDrawingSaveErrorType.seUnknown:
27            impact.gui.output_toolbox.add("Unable to save " + drawing.full_name + " - unknown error")
28        else:
29            impact.gui.output_toolbox.add("Unable to save " + str(drawing.full_name))
30            columns = save_opts.error_column_names
31
32            if save_opts.error_layer.isNone():
33                obj_name = "in project data:"
34            else:
35                obj_name = "in " + str(save_opts.error_layer.layer_type) + " layer '" + save_opts.error_layer.full_name + "' data:"
36
37            if save_opts.error_type == ipDrawingSaveErrorType.seDuplicateData:
38                impact.gui.output_toolbox.add("Duplicate value " + str(obj_name))
39            else:
40                impact.gui.output_toolbox.add("Missing values " + str(obj_name))
41
42            for column in columns:
43                impact.gui.output_toolbox.add("   " + str(column))
44
45else:
46    impact.gui.output_toolbox.add("Current drawing is not a project")
47
48
49