fqterm.import("utils.js"); //NOTE: 1. this file should be in utf8 //first enter the folder, then start script. var timeout = 2000; var path = "c:\\fix-elite\\"; //DO NOT miss last slash var base_path = path; var make_html_header = function(num) { num = parseInt(num); var result = '\n'+ '\n'+ '\n'+ 'FQTerm Article Downloader\n'+ '\n'+ '\n'+ '

FQTerm Article Downloader

\n'+ '

Previous\n'+ 'Index\n'+ 'Next

'+ '

\n'; return result; } var make_html_footer = function(num) { num = parseInt(num); var result = '

\n'+ '

Previous\n'+ 'Index\n'+ 'Next

\n'+ '

FQTerm --- BBS client based on Qt library

\n'+ '

\n'+ 'http://code.google.com/p/fqterm

\n'+ '\n'+ '\n'; return result; } var make_index_header = function() { var result = '\n' + '\n' + '\n' + 'FQTerm Article Downloader\n' + '\n' + '

FQTerm Article Downloader

\n' + '

\n' + 'Up\n' + '

\n' + '

\n\n'; return result; } var make_index_footer = function() { var result = '

\n' + '

\n' + 'Up\n' + '

\n' + '

FQTerm --- BBS client based on Qt library

\n' + '

\n' + 'http://code.google.com/p/fqterm

\n' + '\n' + '\n'; return result; } var get_list_num = function(str_line) { // get the number try{ var re = /[0-9]+/; var num = re.exec(str_line); return num[0]; } catch(err) { return ""; } } var get_list_categary = function(str_line) { try{ var re = /\[[^0-9]{2}\]/; //utf8! var cat = re.exec(str_line); return cat[0]; } catch(err) { return ""; } } var get_list_title = function(str_line) { try{ var re = /\[[^0-9]{2}\]/; //utf8! var cat = re.exec(str_line); var i = str_line.search(re); return str_line.substr(i + cat[0].length); } catch(err) { return ""; } } var build_index = function() { fqterm.makePath(path); var h = make_index_header(); fqterm.writeFile(path + 'index.html', h); while (true) { var line = fqterm.caretY(); var str_line = fqterm.getText(line); var article_num = get_list_num(str_line); var article_category = get_list_categary(str_line); var article_title = get_list_title(str_line); if (article_category == '[文件]') { var a = '

[文件] ' + article_title + '

\n'; fqterm.appendFile(path + "index.html", a); } else if (article_category == '[目录]') { var a = '

[目录] ' + article_title + '

\n'; fqterm.appendFile(path + "index.html", a); } else { break; } fqterm.sendString('j'); sleep(timeout); var str_next = fqterm.getText(fqterm.caretY()); article_num_next = get_list_num(str_next); if (article_num_next == "" || parseInt(article_num_next) <= parseInt(article_num)) { break; } } var e = make_index_footer(); fqterm.appendFile(path + 'index.html', e); fqterm.sendString('q'); } build_index();