Extracting MetaData (Python)

Extracting MetaData (Python)
 1ot = impact.gui.output_toolbox
 2db = impact.active_database
 3
 4imageFile = r"C:\\Documents\\Company Logo.jpg"
 5
 6def DescribeValues(values):
 7    if not values.isNone():
 8
 9        ot.add("Extracted " + str(values.field_count) + " values")
10
11        for i in range(1, values.field_count + 1):
12
13            ot.add("  " + values.field_name(i) + ": " + str(values.load(values.field_name(i))))
14    else:
15
16        ot.add("Unable to extract meta-data values")
17
18docs = db.documents
19
20if docs.isNone():
21    ot.add("No document support in the database")
22else:
23    ot.add("Document support is enabled in this database")
24    docSettings = db.settings.document_settings
25    imageExtractor = None
26    try:
27        imageExtractor = docSettings.meta_extractors.item("impact:image")
28    except Exception as exc:
29        pass
30    impact.gui.output_toolbox.add(f"Failed to create object via doc_settings.meta_extractors.item(): {exc}")
31
32    if not imageExtractor.isNone():
33
34        ot.add("Located meta-data extractor " + imageExtractor.key)
35
36        ot.add("Extracting all meta-data from " + imageFile)
37
38        DescribeValues(imageExtractor.extract_meta_data(imageFile, None))
39
40        ot.add("Extracting specific meta-data from " + imageFile)
41
42        metaKeys = Array("impact:image:height", "impact:image:width")
43
44        DescribeValues(imageExtractor.extract_meta_data(imageFile, metaKeys))
45
46    else:
47        ot.add("Unable to find extractor by key")
48
49ot.clear()