Extracting MetaData

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