Detailed Item Info¶
Detailed Item Info¶
1# Create a local variable for the active database
2
3# Create a local variable for the active database
4db = impact.active_database
5
6# Create a local variable for the output toolbox
7ot = impact.gui.output_toolbox
8
9# Create a local variable for a convertor
10convertor = impact.system.convertor
11
12# Create a local variable for the folder to find
13folder_name = "4. Examples"
14
15
16def describe_layer(layer):
17 ot.add("Key: " + str(layer.key))
18 ot.add("Name: " + str(layer.name))
19 ot.add("Type: " + str(layer.type))
20 ot.add("TypeKey: " + str(layer.type_key))
21 ot.add("From Master: " + str(layer.from_master))
22 ot.add("Locked: " + str(layer.locked))
23 ot.add("Deleted: " + str(layer.deleted))
24
25 if not layer.user.isNone():
26 ot.add("User: " + str(layer.user.login_id))
27
28def describe_revision(revision):
29 ot.add("Key: " + str(revision.key))
30 ot.add("Number: " + str(revision.number))
31 ot.add("Comments: " + str(revision.comments))
32 ot.add("Created: " + str(revision.created_date_time))
33 ot.add("User: " + str(revision.user.login_id))
34 ot.add("HasGeometry: " + str(revision.has_geometry))
35
36def describe_item(db_item):
37 if db_item is None:
38 return
39
40 ot.add("Code: " + str(db_item.code))
41 ot.add("Name: " + str(db_item.reference))
42 ot.add("description: " + str(db_item.description))
43 ot.add("Key: " + str(db_item.key))
44 ot.add("Type: " + str(db_item.drawing_type))
45 ot.add("customer: " + str(db_item.customer.name))
46 ot.add("folder: " + str(db_item.folder.display_path))
47 ot.add("Created: " + str(db_item.created_date_time))
48 ot.add("Created By: " + str(db_item.created_by.login_id))
49 ot.add("Modified: " + str(db_item.modified_date_time))
50 ot.add("Modified By: " + str(db_item.modified_by.login_id))
51 ot.add("Being Modified: " + str(db_item.being_modified))
52 ot.add("Master: " + str(db_item.master))
53 ot.add("version: " + str(db_item.version))
54 ot.add("Size: " + str(convertor.bytes_as_string(db_item.size, True)))
55
56 if not db_item.customer_locked_by.isNone():
57 ot.add("customer Locked User: " + str(db_item.customer_locked_by.login_id))
58
59 if not db_item.project_info_locked_by.isNone():
60 ot.add("Project Info Locked User: " + str(db_item.project_info_locked_by.login_id))
61
62 ot.add("Layer Count: " + str(db_item.layers.count))
63 for i in range(1, db_item.layers.count + 1):
64 describe_layer(db_item.layers.item(i))
65
66 # Alternative syntax
67 # for each layer in db_item.layers
68 # DescribeLayer(layer)
69 # next
70
71 ot.add("Revision Count: " + str(db_item.revisions.count))
72 for i in range(1, db_item.revisions.count + 1):
73 describe_revision(db_item.revisions.item(i))
74
75 # Alternative syntax
76 # for each revision in db_item.revisions
77 # DescribeRevision(revision)
78 # next
79
80 ot.add("*****")
81
82
83# Clear the output toolbox
84ot.clear()
85
86ot.add("**** Finding folder '" + str(folder_name) + "' ****")
87
88# Find the folder
89folder = db.projects.find(folder_name)
90
91# Check the folder was found
92if not folder.isNone():
93
94 # Iterate the items in the folder
95 for item in folder.items:
96 describe_item(item)
97else:
98 ot.add("Unable to find folder '" + str(folder_name) + "'")
99