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)