[sword-devel] usfm2osis.py

Greg Hellings greg.hellings at gmail.com
Sat Aug 4 10:19:04 MST 2012

I'm not at a place where I can check it out right now, but does it
cover the functionality that previously was required in xreffix.pl?
Since the Perl bindings seem to have gone belly-up on 64-bit machines,
it would be great if all of this could be combined in a single step
(even if it's an optional step enabled by a command-line flag or


On Sat, Aug 4, 2012 at 7:15 AM, Chris Little <chrislit at crosswire.org> wrote:
> usfm2osis.py is posted now, at
> http://www.crosswire.org/svn/sword-tools/trunk/modules/python/
> It was developed on/for CPython 2.7.3, but 2.6+ should work. PyPy works fine
> too, but takes more than twice as long to run. And Jython is not supported
> at all.
> The utility is not perfect & the code itself is a little messy at the
> moment, but it's much better than its Perl equivalent when it comes to
> generating valid OSIS. Every USFM tag in the 2.35 reference is processed in
> some way, but processing of only a fraction of the tags has been tested.
> (That's my next task.)
> The command line syntax from the Perl equivalent can be used. Or use -h for
> the usage statement. In general, using the '-v -r' switches will be most
> common, I expect.
> This utility is a bit slower than the Perl script was. Converting the WEB
> from USFM to OSIS takes about 7.5s on my system with 4 vCPUs, where the Perl
> script took about 4s as a single thread. But the Python version has the
> benefit of generating valid markup. (The script will fork as many processes
> as you have vCPUs, up to the number of books you are converting.)
> Bug reports are welcome if you try it, but this is still largely untested
> stuff, so expect bugs.
> The other script in the above directory can be used to identify all of the
> USFM tags used in a set of files and will specify which of them are unknown
> to the USFM 2.35 reference.
> --Chris
> _______________________________________________
> sword-devel mailing list: sword-devel at crosswire.org
> http://www.crosswire.org/mailman/listinfo/sword-devel
> Instructions to unsubscribe/change your settings at above page

More information about the sword-devel mailing list