#!/bin/bash
# makekjvfull.sh -- Creates a SWORD module (raw .zip file) from DM's kjvfull.xml file
# Any supplied parameters are passed as options to osis2mod
# Uses $MODULENAME for the modfule name, if it exists, or creates a unique name if not.
#
# Author: Jonathan Marsden <jmarsden@fastmail.fm>
# Copyright: Copyright (C) 2009 Jonathan Marsden

TEMPDIR=`mktemp -dt`
[ -z "$MODULENAME" ] && MODULENAME=KJVfull-`date +%FT%H%M%S`	# Default name has date and time
MODULENAMELC=`echo $MODULENAME |tr A-Z a-z`		# Lower case module name for path

# Grab or update the KJV sources from DM's site
wget -m -nH -nd http://www.crosswire.org/~dmsmith/kjv2006/sword/kjvxml.zip

# Unpack kjvfull.xml
(cd $TEMPDIR
pwd

# create module directory structure for module zipfile creation
mkdir -p mods.d/ modules/texts/ztext/$MODULENAMELC

# Do the work, using osis2mod -z and unzip
echo osis2mod `pwd`/modules/texts/ztext/$MODULENAMELC/ -z $@
osis2mod `pwd`/modules/texts/ztext/$MODULENAMELC/ <(unzip -p $OLDPWD/kjvxml.zip kjvfull.xml ) -z $@

# Create minimal .conf file with version 0.<seconds since Unix epoch>
cat <<EOF >mods.d/${MODULENAMELC}.conf
[$MODULENAME]
DataPath=./modules/texts/ztext/$MODULENAMELC/
ModDrv=zText
Encoding=UTF-8
BlockType=BOOK
CompressType=ZIP
SourceType=OSIS
Lang=en
GlobalOptionFilter=OSISStrongs
GlobalOptionFilter=OSISMorph
GlobalOptionFilter=OSISFootnotes
GlobalOptionFilter=OSISHeadings
GlobalOptionFilter=OSISRedLetterWords
OSISqToTick=false
Feature=StrongsNumbers
MinimumVersion=1.5.9
SwordVersionDate=2006-10-09
Version=0.`date +%s`
Description=King James Version (1769) with Strongs Numbers and Morphology
TextSource=bf.org, eBible.org, crosswire.org
LCSH=Bible. English.
DistributionLicense=General public license for distribution for any purpose
EOF

# Zip things up (recursively)
zip -r ${OLDPWD}/${MODULENAME}.zip mods.d modules
)

# Delete temporary files
rm -r $TEMPDIR
