Differences
This shows you the differences between two versions of the page.
bkchem_to_odf_conversion [2007/10/23 06:53] beda created |
bkchem_to_odf_conversion [2024/05/02 08:09] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
===== BKChem to ODF conversion batch script ===== | ===== BKChem to ODF conversion batch script ===== | ||
- | The following simple script takes all files or directories given as arguments and converts them to the corresponding ODF Draw (.odg) files. In case a directory is given, it tries to convert all SVG files in that directory. | + | ^Name | svg2odg.py | |
+ | ^BKChem version | **0.12.0_pre4** and higher | | ||
+ | ^Category | file conversion | | ||
+ | ^Source | {{svg2odg.py}} | | ||
+ | ^Run as | ''bkchem -b svg2odg.py [filenames]'' | | ||
+ | |||
+ | |||
+ | This simple script takes all files given as arguments and converts them to the corresponding ODF Draw (.odg) files. In case a directory is given, it tries to convert all SVG files in that directory. | ||
To run the script you just need to enter the following on the command line: | To run the script you just need to enter the following on the command line: | ||
Line 10: | Line 17: | ||
To make the script simple and educational, not much checking of the input is done. | To make the script simple and educational, not much checking of the input is done. | ||
+ | |||
+ | The code of the plugin is here: | ||
+ | |||
+ | <code python> | ||
+ | import os | ||
+ | |||
+ | def convert_file( filename): | ||
+ | plugin = "ODF" # the name of the export plugin | ||
+ | if App.load_CDML( filename): | ||
+ | outname = os.path.splitext( filename)[0] + ".odg" | ||
+ | if App.plugin_export( plugin, filename=outname): | ||
+ | print filename, "=>", outname | ||
+ | else: | ||
+ | print "export error" | ||
+ | |||
+ | for arg in Args: | ||
+ | if os.path.isdir( arg): | ||
+ | for f in os.listdir( arg): | ||
+ | if f.endswith( ".svg"): | ||
+ | convert_file( os.path.join( arg, f)) | ||
+ | elif os.path.isfile( arg): | ||
+ | convert_file( arg) | ||
+ | else: | ||
+ | print "%s is neither a file nor a directory, skipping" % arg | ||
+ | </code> |