Changeset 26751
- Timestamp:
- 2013-01-18T20:25:55+13:00 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
gs3-extensions/html-to-expeditee/trunk/src/src/cgi-bin/html-to-expeditee.pl.in
r26750 r26751 161 161 if(href.match(clRE)){ 162 162 if(!visitedURLs[href]){ 163 console.log("found a new CL line: " + href);163 //console.log("found a new CL line: " + href); 164 164 outstandingURLs.push(href); 165 165 visitedURLs[href] = 1; … … 171 171 var docOID = docMatch[1]; 172 172 173 console.log("found a new doc line: " + docOID);173 //console.log("found a new doc line: " + docOID); 174 174 visitedURLs[href] = 1; 175 175 docOIDs.push(docOID); … … 201 201 } 202 202 203 204 203 205 204 206 function pageLoaded(){ … … 212 214 } 213 215 214 var iframeDoc; 216 var iframeDoc = getIframeDoc(iframe); 217 218 219 /*Check url - if it's a doc Url, call "writeDocument", otherwise call "writeClPage"*/ 220 var clRE = new RegExp("(\\\\/)browse\\\\/" + cl + "(\\\\/\\\\d+)+(\$)"); 221 222 223 if(iframe.src.match(clRE)){ 224 writeClPage(iframe,iframeDoc); 225 }else{ 226 writeDocument(iframe,iframeDoc); 227 } 228 } 229 } 230 231 function writeDocument(iframe){ 232 233 console.log("now processing document: " + iframe.src + " ***"); 234 var xmlUrl = iframe.src + "&o=xml"; 235 236 var iter = (numDocOIDs - docOIDs.length); 237 var progressPercent = iter/numDocOIDs * 100; 238 239 var frameNum = getMetadata(xmlUrl,'frameID'); 240 241 if(frameNum == null){ 242 frameNum = iter; 243 } 244 245 var iframeDoc = getIframeDoc(iframe); 246 247 248 \$(function(){ 249 \$('#progressbar').progressbar({ value: progressPercent }); 250 }); 251 252 var gsContent = iframeDoc.getElementById("gs_content"); 253 254 var assocElem = iframeDoc.getElementById("assocfilepath"); 255 256 var assocElem = iframeDoc.getElementById('assocfilepath'); 257 var assoc = null; 258 259 if(assocElem === undefined || assocElem === null){ 260 assoc = getMetadata(xmlUrl,'assocfilepath'); 261 } 262 263 var expFrameTree = htmlToExpeditee(gsContent,compute_font,compute_width); 264 265 var expFrame = JSON.stringify(expFrameTree); 266 //console.log(expFrame); 267 268 var url = "cgi-bin/html-to-expeditee.pl"; 269 var params = "c=" + collect; 270 271 if(site.match(/\\w/)){ 272 params += "&site=" + site; 273 } 274 275 params += "&a=generate-frame&fn=" + frameNum; 276 params += "&json=" + escape(expFrame); 277 278 //Add an assocfilepath but only if it is defined 279 if(assoc !== null){ 280 params += "&assoc=" + assoc; 281 } 282 283 params += "&compute-font=" + compute_font; 284 285 params += "&page-type=" + "document"; 286 287 288 var clHtml = urlPostSync(url,params); 289 290 if(!clHtml.match(/html-to-expeditee saved frame/)){ 291 alert("ERROR PROCESSING URL: " + url); 292 } 293 294 if(docOIDs.length > 0){ 295 var docOID = docOIDs.shift(); 296 297 //Add docOID and matching frame number to an associative array for later use. 298 hashMapDocFrames[docOID] = frameNum; 299 300 301 iframe.src = getDocumentUrl(docOID); 302 303 }else{ 304 305 //start writing CL pages. 306 if(generate_browsing){ 307 iframe.src = clPages.shift(); 308 }else{ 309 //We are finished 310 finish(iframe); 311 } 312 } 313 } 314 315 function getIframeDoc(){ 316 317 var iframeDoc = null; 215 318 216 319 if(iframe.contentDocument){ /* FF and Chrome */ … … 220 323 } 221 324 222 /*Check url - if it's a doc Url, call "writeDocument", otherwise call "writeClPage"*/ 223 var clRE = new RegExp("(\\\\/)browse\\\\/" + cl + "(\\\\/\\\\d+)+(\$)"); 224 225 226 if(iframe.src.match(clRE)){ 227 writeClPage(iframe,iframeDoc); 228 }else{ 229 writeDocument(iframe,iframeDoc); 230 } 231 } 232 } 233 234 function writeDocument(iframe,iframeDoc){ 235 236 var xmlUrl = iframe.src + "&o=xml"; 237 238 var iter = (numDocOIDs - docOIDs.length); 239 var progressPercent = iter/numDocOIDs * 100; 240 241 var frameNum = getMetadata(xmlUrl,'frameID'); 242 243 if(frameNum == null){ 244 frameNum = iter; 245 } 246 247 //Add docOID and matching frame number to an associative array for later use. 248 hashMapDocFrames[docOID] = frameNum; 249 250 \$(function(){ 251 \$('#progressbar').progressbar({ value: progressPercent }); 252 }); 253 254 var gsContent = iframeDoc.getElementById("gs_content"); 255 256 var assocElem = iframeDoc.getElementById("assocfilepath"); 257 258 var assocElem = iframeDoc.getElementById('assocfilepath'); 259 var assoc = null; 260 261 if(assocElem === undefined || assocElem === null){ 262 assoc = getMetadata(xmlUrl,'assocfilepath'); 263 } 264 265 var expFrameTree = htmlToExpeditee(gsContent,compute_font,compute_width); 266 267 var expFrame = JSON.stringify(expFrameTree); 268 //console.log(expFrame); 269 270 var url = "cgi-bin/html-to-expeditee.pl"; 271 var params = "c=" + collect; 272 273 if(site.match(/\\w/)){ 274 params += "&site=" + site; 275 } 276 277 params += "&a=generate-frame&fn=" + frameNum; 278 params += "&json=" + escape(expFrame); 279 280 //Add an assocfilepath but only if it is defined 281 if(assoc !== null){ 282 params += "&assoc=" + assoc; 283 } 284 285 params += "&compute-font=" + compute_font; 286 287 params += "&page-type=" + "document"; 288 289 290 var clHtml = urlPostSync(url,params); 291 292 if(!clHtml.match(/html-to-expeditee saved frame/)){ 293 alert("ERROR PROCESSING URL: " + url); 294 } 295 296 if(docOIDs.length > 0){ 297 var docOID = docOIDs.shift(); 298 iframe.src = getDocumentUrl(docOID); 299 300 }else{ 301 //start writing CL pages. 302 if(generate_browsing){ 303 numClPages = clPages.length; 304 305 var url = clPages.shift(); 306 iframe.src = url; 307 writeClPage(iframe,iframeDoc); 308 }else{ 309 //We are finished 310 finish(iframe); 311 } 312 } 325 326 return iframeDoc; 313 327 } 314 328 … … 329 343 } 330 344 331 function writeClPage(iframe ,iframeDoc){345 function writeClPage(iframe){ 332 346 333 347 var frameNum = numClPages - clPages.length; 334 348 var progressPercent = frameNum / numClPages * 100; 349 var iframeDoc = getIframeDoc(iframe); 350 console.log("Processing cl page: " + iframe.src + " ****"); 335 351 336 352 \$(function(){ … … 343 359 var docRE = new RegExp("(?:\\\\/)document\\\\/(.*?)(?:\$)"); 344 360 345 //get rid of rectangles around nodes.361 346 362 for(var i = 0; i < gsContentChildren.length; i++){ 347 363 var child = gsContentChildren[i]; 348 364 365 //get rid of rectangles around nodes. 349 366 if(child.tagName !== "IMG"){ 350 367 child.setAttribute('rect','norect'); … … 367 384 var frameName = collect + fn; 368 385 369 //aElemChild.setAttribute("link",frameName);386 aElemChild.setAttribute("link",frameName); 370 387 } 371 388 … … 376 393 } 377 394 } 378 379 //add link attribute to children nodes of <a> elements. 380 395 381 396 382 397 //TODO: Need to change htmlToExpeditee code to account for links … … 406 421 407 422 if(clPages.length > 0){ 408 var clPage = clPages.shift(); 409 iframe.src = clPage; 423 iframe.src = clPages.shift(); 410 424 }else{ 411 425 finish(iframe);
Note:
See TracChangeset
for help on using the changeset viewer.