flyson
flyso****@users*****
2005年 11月 23日 (水) 08:10:27 JST
Index: bbs2chreader/content/bbs2chreader/test/thread-test.js diff -u bbs2chreader/content/bbs2chreader/test/thread-test.js:1.5 bbs2chreader/content/bbs2chreader/test/thread-test.js:1.6 --- bbs2chreader/content/bbs2chreader/test/thread-test.js:1.5 Sun Nov 20 14:34:34 2005 +++ bbs2chreader/content/bbs2chreader/test/thread-test.js Wed Nov 23 08:10:27 2005 @@ -100,13 +100,13 @@ }, get optionsStart(){ - return (this.threadURL.fileName.match(/(\d+)\-/)) ? RegExp.$1 : null; + return (this.threadURL.fileName.match(/(\d+)\-/)) ? parseInt(RegExp.$1) : null; }, get optionsLast(){ - return (this.threadURL.fileName.match(/l(\d+)/)) ? RegExp.$1 : null; + return (this.threadURL.fileName.match(/l(\d+)/)) ? parseInt(RegExp.$1) : null; }, get optionsEnd(){ - return (this.threadURL.fileName.match(/\-(\d+)/)) ? RegExp.$1 : null; + return (this.threadURL.fileName.match(/\-(\d+)/)) ? parseInt(RegExp.$1) : null; }, get optionsNoFirst(){ return (this.threadURL.fileName.indexOf("n") != -1); @@ -152,8 +152,56 @@ this.requestRespond(" NoFirst : " + this.optionsNoFirst + "\n"); this.requestRespond("----- ----- -----\n\n"); - // this.requestEnd(); - this.datDownload(); + // 取得済みログの送信 + if(this.dat.datFile.exists()){ + var datLines = this._bbs2chService.readFileLine(this.dat.datFile.path, {}); + + if(this.optionsEnd){ // LOG PICKUP MODE + var start = this.optionsStart ? this.optionsStart : 1; + if(start < 1) start = 1; + var end = this.optionsEnd; + if(end > datLines.length) end = datLines.length; + if(start > end) start = end; + + var content = new Array(); + for(var i=start-1; i<end; i++){ + content.push((i+1) +"\t: "+ datLines[i]); + } + this.requestRespond(content.join("\n")); + + this.requestRespond("\n\nLOG PICKUP MODE\n\n"); + this.requestEnd(); + return; + + }else{ + if(!this.optionsNoFirst){ + var firstContent = 1 +"\t: "+ datLines[0] + "\n"; + this.requestRespond(firstContent); + } + + var start = 1; + var end = datLines.length; + if(this.optionsLast){ + start = end - this.optionsLast; + if(start < 1) start = 1; + } + + var content = new Array(); + for(var i=start; i<end; i++){ + content.push((i+1) +"\t: "+ datLines[i]); + } + this.requestRespond(content.join("\n")); + } + } + this.requestRespond("\n\n----- ----- -----\n\n"); + + // オフラインなら終了 + if(this._ioService.offline){ + this.requestRespond("OFFLINE MODE"); + this.requestEnd(); + }else{ + this.datDownload(); + } }, datDownload: function(){