Folder Setting Properties (Python)

Folder Setting Properties (Python)
 1ot = impact.gui.output_toolbox
 2
 3db = impact.active_database
 4
 5def DescribeFolder(folder, s):
 6    if not folder.isNone():
 7        ot.add(s)
 8        ot.add("Name: " + folder.folder_name)
 9        ot.add("Desc: " + folder.description)
10        ot.add("Path: " + folder.display_path)
11        ot.add("OS Path: " + folder.folder_path)
12        ot.add("Type: " + str(folder.type))
13        ot.add("Level: " + str(folder.level))
14        ot.add("impact.creator: " + folder.creator.login_id)
15        ot.add("AllowSave: " + str(folder.allow_save))
16        ot.add("Hidden: " + str(folder.hidden))
17        ot.add("ReadOnly: " + str(folder.read_only))
18        ot.add("folder Count: " + str(folder.folder_count))
19        ot.add("Item Count: " + str(folder.item_count))
20
21        if db.settings.enterprise_database_type != ipEnterpriseDatabaseType.edtNone:
22            ot.add("TransmitToEnterprise: " + str(folder.transmit_to_enterprise))
23            ot.add("SiteAutomaticItemRemoval: " + str(folder.site_automatic_item_removal))
24
25ot.clear()
26folder = None
27try:
28    folder = db.projects.find("COMTests")
29except Exception as exc:
30    impact.gui.output_toolbox.add(f"Failed to create object via db.projects.find(): {exc}")
31f1 = None
32try:
33    f1 = folder.add("folder 1")
34except Exception as exc:
35    impact.gui.output_toolbox.add(f"Failed to create object via folder.add(): {exc}")
36
37if not f1.isNone():
38    DescribeFolder(f1, "*** New folder ***")
39
40    # You can set various folder properties directly
41    f1.description = "This folder is for storing my own projects"
42    f1.read_only = True
43    f1.allow_save = False
44    f1.hidden = True
45
46    if db.settings.enterprise_database_type != ipEnterpriseDatabaseType.edtNone:
47        f1.transmit_to_enterprise = True
48        f1.site_automatic_item_removal = True
49
50    if not f1.rename("folder A"):
51        ot.add("Error: Unable to rename folder")
52    DescribeFolder(f1, "*** Modified folder ***")
53
54    if f1.delete():
55        ot.add("Successfully deleted folder")
56    else:
57        ot.add("Error: Unable to delete new folder")
58else:
59    ot.add("Error: Unable to create new folder")