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()