/**
* Options management...
*/
-
+XObject = import.XObject.XObject;
+File = import.File.File;
Options = {
-
- "directory" : '',
- "conf" : '',
- "template": '',
- "recurse": '',
- "ext": '',
- "private": '',
- "allfunctions": '',
- "encoding": '',
- "nocode": '',
- "out": '',
- "suppress": '',
- "testmode": '',
- "help": '',
- "verbose": '',
- "disablecache": '',
- "define" : [],
- "handler" : []
-
+ "baseDir" : '', // base directory -
+ "target" : '', // was d. ?? source directory (needed to put temporary files..)
+ "cacheDirectory" : '',
+ "conf" : '', // was c. - configuration file.. - parsed with JSON.parse
+ "template": '', // was t.
+ // "recurse": false, // was r. - not supported..
+ "ext": '', // was x.
+ "publishExt" : 'html',
+ "private": '', // was p
+ "allfunctions": '', // was a
+ "encoding": '', // was e.
+ "nocode": '', // was n
+ "out": '', // was o.
+ "suppress": '', // was s ??? used?
+ "outputSource" : true,
+ "testmode": '', // was t
+ "help": '', // was h
+ "verbose": '', // was v
+ "disablecache": '', // was C
+ "define" : [], // was D.
+ "handler" : [], // was H -- not supported..
+ LOG : {
+ warn : function(str) {
+ print("Warn: " +str );
+ },
+ inform : function(str) {
+ print("Inform: " +str );
+ },
+ close : function() { },
+ flush : function() { },
+ out: false,
+ warnings : [],
+ verbose : false
+ },
+ init : function()
+ {
+ this.LOG.verbose = this.verbose;
+
+
+ if (this.conf) {
+ XObject.extend(this, JSON.parse(File.read(this.conf)));;
+ }
+ // help ?? -- usage..
+
+ if (!this.src.length) {
+ throw {
+ name: "ArgumentError",
+ message: "No source directories specified"
+ };
+ }
+ if (!this.template) {
+ throw {
+ name: "ArgumentError",
+ message: "No template specified"
+ };
+ }
+
+ if (!this.target) {
+ throw {
+ name: "ArgumentError",
+ message: "No directory specified"
+ };
+ }
+ f (!this.baseDir) {
+ throw {
+ name: "ArgumentError",
+ message: "No baseDir specified"
+ };
+ }
+
+ // should cacheDirectory be a subdirectory of target??
+ // if not set..
+ if (!this.cacheDirectory) {
+ throw {
+ name: "ArgumentError",
+ message: "No cacheDirectory specified"
+ };
+ }
+
+ }
}
\ No newline at end of file