[sword-svn] r3012 - trunk/utilities

DM Smith dmsmith at crosswire.org
Wed Jan 22 05:57:59 MST 2014


Chris,
Was there a problem that you were trying to fix with the "p" change in this commit?

I have two problems with this commit:
First, you've deleted the "p" end tag handling. This is now a bug. The start p is transformed to <div type="x-p" sID="genXXX"/> but the end </p> is left in the document. Not good. It now produces invalid XML from valid XML.

Second, this change is buried in the commit of non-consequential changes and is not mentioned in the comments.
Generally, it is not a good idea to:
make consequential changes and non-consequential changes in the same commit
make more than one consequential change in a commit. (not a problem here.)
not comment on consequential changes

DM

On Jan 22, 2014, at 7:27 AM, chrislit at crosswire.org wrote:

> Author: chrislit
> Date: 2014-01-22 05:27:37 -0700 (Wed, 22 Jan 2014)
> New Revision: 3012
> 
> Modified:
>   trunk/utilities/osis2mod.cpp
> Log:
> made usage text mostly fit into one screen by:
>  1) Adding a verbose help switch (-h/--help) and eliminating much of the usage info (including all debug options) when not in verbose help mode
>  2) Printing versification systems 3 to a line
> 
> 
> Modified: trunk/utilities/osis2mod.cpp
> ===================================================================
> --- trunk/utilities/osis2mod.cpp	2014-01-21 08:40:34 UTC (rev 3011)
> +++ trunk/utilities/osis2mod.cpp	2014-01-22 12:27:37 UTC (rev 3012)
> @@ -1214,7 +1214,6 @@
> 			    tagName == "div"     ||
> 			    tagName == "l"       ||
> 			    tagName == "lg"      ||
> -			    tagName == "p"       ||
> 			    tagName == "q"       ||
> 			    tagName == "salute"  ||
> 			    tagName == "signed"  ||
> @@ -1277,10 +1276,10 @@
> 	}
> }
> 
> -void usage(const char *app, const char *error = 0) {
> -
> +void usage(const char *app, const char *error = 0, const bool verboseHelp = false) {
> +	
> 	if (error) fprintf(stderr, "\n%s: %s\n", app, error);
> -
> +	
> 	fprintf(stderr, "OSIS Bible/commentary module creation tool for The SWORD Project\n");
> 	fprintf(stderr, "\nusage: %s <output/path> <osisDoc> [OPTIONS]\n", app);
> 	fprintf(stderr, "  <output/path>\t\t an existing folder that the module will be written\n");
> @@ -1293,38 +1292,58 @@
> 	fprintf(stderr, "\t\t\t\t 2 - verse; 3 - chapter; 4 - book\n");
> 	fprintf(stderr, "  -c <cipher_key>\t encipher module using supplied key\n");
> 	fprintf(stderr, "\t\t\t\t (default no enciphering)\n");
> +
> +#ifdef _ICU_       
> 	fprintf(stderr, "  -N\t\t\t do not convert UTF-8 or normalize UTF-8 to NFC\n");
> -	fprintf(stderr, "\t\t\t\t (default is to convert to UTF-8, if needed,\n");
> -	fprintf(stderr, "\t\t\t\t  and then normalize to NFC)\n");
> -	fprintf(stderr, "\t\t\t\t Note: UTF-8 texts should be normalized to NFC.\n");
> +	if (verboseHelp) {
> +		fprintf(stderr, "\t\t\t\t (default is to convert to UTF-8, if needed,\n");
> +		fprintf(stderr, "\t\t\t\t  and then normalize to NFC)\n");
> +		fprintf(stderr, "\t\t\t\t Note: UTF-8 texts should be normalized to NFC.\n");
> +	}
> +#endif
> +
> 	fprintf(stderr, "  -s <2|4>\t\t bytes used to store entry size (default is 2).\n");
> -	fprintf(stderr, "\t\t\t\t Note: useful for commentaries with very large\n");
> -	fprintf(stderr, "\t\t\t\t entries in uncompressed modules\n");
> -	fprintf(stderr, "\t\t\t\t (2 bytes to store size equal 65535 characters)\n");
> +	if (verboseHelp) {
> +		fprintf(stderr, "\t\t\t\t Note: useful for commentaries with very large\n");
> +		fprintf(stderr, "\t\t\t\t entries in uncompressed modules\n");
> +		fprintf(stderr, "\t\t\t\t (2 bytes to store size equal 65535 characters)\n");
> +	}
> 	fprintf(stderr, "  -v <v11n>\t\t specify a versification scheme to use (default is KJV)\n");
> -	fprintf(stderr, "\t\t\t\t Note: The following are valid values for v11n:\n");
> +	fprintf(stderr, "\t\t\t\t Note: The following are valid values for v11n:");
> +
> 	VersificationMgr *vmgr = VersificationMgr::getSystemVersificationMgr();
> 	StringList av11n = vmgr->getVersificationSystems();
> 	for (StringList::iterator loop = av11n.begin(); loop != av11n.end(); loop++) {
> -		fprintf(stderr, "\t\t\t\t\t%s\n", (*loop).c_str());
> +		if ((distance(av11n.begin(), loop) % 3) == 0) {
> +			fprintf(stderr, "\n\t\t\t\t   %-12s", (*loop).c_str());
> +		}
> +		else {
> +			fprintf(stderr, "\t%-12s", (*loop).c_str());
> +		}
> 	}
> -	fprintf(stderr, "  -d <flags>\t\t turn on debugging (default is 0)\n");
> -	fprintf(stderr, "\t\t\t\t Note: This flag may change in the future.\n");
> -	fprintf(stderr, "\t\t\t\t Flags: The following are valid values:\n");
> -	fprintf(stderr, "\t\t\t\t\t0   - no debugging\n");
> -	fprintf(stderr, "\t\t\t\t\t1   - writes to module, very verbose\n");
> -	fprintf(stderr, "\t\t\t\t\t2   - verse start and end\n");
> -	fprintf(stderr, "\t\t\t\t\t4   - quotes, esp. Words of Christ\n");
> -	fprintf(stderr, "\t\t\t\t\t8   - titles\n");
> -	fprintf(stderr, "\t\t\t\t\t16  - inter-verse material\n");
> -	fprintf(stderr, "\t\t\t\t\t32  - BSP to BCV transformations\n");
> -	fprintf(stderr, "\t\t\t\t\t64  - v11n exceptions\n");
> -	fprintf(stderr, "\t\t\t\t\t128 - parsing of osisID and osisRef\n");
> -	fprintf(stderr, "\t\t\t\t\t256 - internal stack\n");
> -	fprintf(stderr, "\t\t\t\t\t512 - miscellaneous\n");
> -	fprintf(stderr, "\t\t\t\t This argument can be used more than once. (Or\n");
> -	fprintf(stderr, "\t\t\t\t the flags may be added together.)\n");
> 	fprintf(stderr, "\n");
> +	
> +	if (verboseHelp) {
> +		fprintf(stderr, "  -d <flags>\t\t turn on debugging (default is 0)\n");
> +		fprintf(stderr, "\t\t\t\t Note: This flag may change in the future.\n");
> +		fprintf(stderr, "\t\t\t\t Flags: The following are valid values:\n");
> +		fprintf(stderr, "\t\t\t\t\t0   - no debugging\n");
> +		fprintf(stderr, "\t\t\t\t\t1   - writes to module, very verbose\n");
> +		fprintf(stderr, "\t\t\t\t\t2   - verse start and end\n");
> +		fprintf(stderr, "\t\t\t\t\t4   - quotes, esp. Words of Christ\n");
> +		fprintf(stderr, "\t\t\t\t\t8   - titles\n");
> +		fprintf(stderr, "\t\t\t\t\t16  - inter-verse material\n");
> +		fprintf(stderr, "\t\t\t\t\t32  - BSP to BCV transformations\n");
> +		fprintf(stderr, "\t\t\t\t\t64  - v11n exceptions\n");
> +		fprintf(stderr, "\t\t\t\t\t128 - parsing of osisID and osisRef\n");
> +		fprintf(stderr, "\t\t\t\t\t256 - internal stack\n");
> +		fprintf(stderr, "\t\t\t\t\t512 - miscellaneous\n");
> +		fprintf(stderr, "\t\t\t\t This argument can be used more than once. (Or\n");
> +		fprintf(stderr, "\t\t\t\t the flags may be added together.)\n");
> +	}
> +	fprintf(stderr, "  -h \t\t\t print verbose usage text\n");
> +	
> +	fprintf(stderr, "\n");
> 	fprintf(stderr, "See http://www.crosswire.org/wiki/osis2mod for more details.\n");
> 	fprintf(stderr, "\n");
> 	exit(EXIT_BAD_ARG);
> @@ -1532,6 +1551,14 @@
> int main(int argc, char **argv) {
> 
> 	fprintf(stderr, "You are running osis2mod: $Rev$\n");
> +	
> +	if (argc > 1) {
> +		for (int i = 1; i < argc; i++) {
> +			if (!strcmp(argv[i], "-h") || !strcmp(argv[i], "--help")) {
> +				usage(*argv, "", true);
> +			}
> +		}
> +	}
> 
> 	// Let's test our command line arguments
> 	if (argc < 3) {
> 
> 
> _______________________________________________
> sword-cvs mailing list
> sword-cvs at crosswire.org
> http://www.crosswire.org/mailman/listinfo/sword-cvs

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4145 bytes
Desc: not available
URL: <http://www.crosswire.org/pipermail/sword-cvs/attachments/20140122/84a14299/attachment.p7s>


More information about the sword-cvs mailing list