Introspection fixes
[gnumeric.git] / test / t3003-introspection-plugins.py
blob231eec86d6d61c39e7fb5ec27ddc71b6c50a1afd
1 #!/usr/bin/python
2 # -----------------------------------------------------------------------------
4 import gi
5 gi.require_version('Gnm', '1.12')
6 gi.require_version('GOffice', '0.10')
7 from gi.repository import Gnm
8 from gi.repository import GOffice
9 Gnm.init()
11 # A context for reporting errors to stderr
12 cc = Gnm.CmdContextStderr.new ()
14 # Load plugins
15 Gnm.plugins_init(cc)
17 # -----------------------------------------------------------------------------
19 print("Savers available:")
20 for fs in GOffice.get_file_savers():
21 print("Saver ID: {}".format(fs.props.id))
22 print(" Descripton: {}".format(fs.props.description))
23 print(" Mime type: {}".format(fs.props.mime_type))
24 print(" Extension: {}".format(fs.props.extension))
25 print(" Overwrite: {}".format(fs.props.overwrite))
26 print(" Interactive-only: {}".format(fs.props.interactive_only))
27 print(" Format level: {}".format(fs.props.format_level))
28 print("")
30 # -----------------------------------------------------------------------------
32 print("Loaders available:")
33 for fo in GOffice.get_file_openers():
34 print("Loader ID: {}".format(fo.props.id))
35 print(" Descripton: {}".format(fo.props.description))
36 print(" Suffixes: {}".format(", ".join (fo.get_suffixes())))
37 print(" Mime types: {}".format(", ".join (fo.get_mimes())))
38 print(" Interactive-only: {}".format(fo.props.interactive_only))
39 print("")
41 # -----------------------------------------------------------------------------
43 print("Plot families: " + ", ".join (sorted(GOffice.GraphPlot.families())))
44 print("")
46 # -----------------------------------------------------------------------------
48 print("Functions: " + ", ".join (sorted([f.get_name(0) for f in Gnm.Func.enumerate()])))
49 print("")
51 # -----------------------------------------------------------------------------