Add Database Palettes

Add Database Palettes
 1db = impact.active_database
 2drawing = impact.active_drawing
 3
 4ot = impact.gui.output_toolbox
 5
 6ot.clear()
 7
 8if db.settings.palettes:
 9    ot.add("Database palettes are being used")
10
11    if not drawing.isNone():
12        palettes = drawing.palettes
13
14        pal_name = "JG1_1.71_3.00_03109"
15
16        pal = palettes.item(pal_name)
17
18        if pal.isNone():
19            pal = palettes.add_database(pal_name)
20
21            if not pal.isNone():
22                ot.add("Added " + str(pal.full_name))
23            else:
24                ot.add("Unable to locate database palette by name")
25
26        else:
27            ot.add("Palette " + str(pal_name) + " already exists in project")
28
29        added = palettes.add_database_defaults()
30
31        # Wrap variant return items with Impact.py wrapper
32        if added is not None:
33            added = [IPalette(item) for item in added]
34
35        if added:
36            ot.add("Added " + str(len(added)) - 1 + 1 + " default palettes")
37
38        added = palettes.add_database_matching("RAP_.*")
39
40        # Wrap variant return items with Impact.py wrapper
41        if added is not None:
42            added = [IPalette(item) for item in added]
43
44        if added:
45            ot.add("Added " + str(len(added)) - 1 + 1 + " palettes matching regular expression")
46
47            for i in range(0, len(added) - 1  + 1):
48                ot.add(" " + added(i).full_name)
49
50        added = palettes.add_database_group("FARBE")
51
52        # Wrap variant return items with Impact.py wrapper
53        if added is not None:
54            added = [IPalette(item) for item in added]
55
56        if added:
57            ot.add("Added " + str(len(added)) - 1 + 1 + " palettes for group FARBE")
58
59    else:
60        impact.gui.show_message(ipShowMessageType.smtError, "A drawing is required", None)
61
62else:
63    ot.add("Database palettes are not being used")
64
65