Document Searching¶
Document Searching¶
1ot = impact.gui.output_toolbox
2db = impact.active_database
3doc_settings = db.settings.document_settings
4
5
6def search_and_describe_results(search):
7 docs = search.execute()
8
9 if docs is not None:
10 ot.add("Search executed successfully")
11
12 ot.add("Document Count: " + str(docs.count))
13 ot.add("Using Paging: " + str(docs.using_paging))
14
15 if (docs.using_paging):
16 ot.add("Page Number: " + str(docs.page_number))
17 ot.add("Page Count: " + str(docs.page_count))
18 ot.add("Total Document Count: " + str(docs.total_count))
19
20 else:
21 ot.add("Search failed")
22
23
24ot.clear()
25
26
27if not doc_settings.supports_searching:
28 ot.add("Document searching is not supported")
29
30else:
31 ot.add("Document searching is supported")
32
33 ot.add("=== Searching for All Documents ===")
34
35 search = db.document_search
36
37 search_and_describe_results(search)
38
39 ot.add("=== Searching by Name ===")
40
41 search = db.document_search
42
43 name_column = doc_settings.types.default_document_type.columns.known_item(ipDocumentKnownColumn.dkcName)
44
45 name_criterion = search.add(name_column)
46
47 name_criterion.criterion_operator = ipDocumentCriterionOperator.dcoLike
48 name_criterion.string_search = ipDocumentStringSearch.dssContains
49 name_criterion.values = "Seating"
50
51 search_and_describe_results(search)