Work on v2 frame files
This commit is contained in:
31
tools/frame_get.js
Normal file
31
tools/frame_get.js
Normal file
@@ -0,0 +1,31 @@
|
||||
load('ansitex/load/page.js');
|
||||
load('ansitex/load/funcs.js');
|
||||
load('ansitex/load/session/ansitex.js');
|
||||
load('lz-string.js');
|
||||
|
||||
if (argv.length !== 1) {
|
||||
writeln('ERROR: Need a frame ID');
|
||||
exit(1);
|
||||
|
||||
} else {
|
||||
writeln('Showing frames:'+argv[0]);
|
||||
}
|
||||
|
||||
const SESSION_EXT = 'tex';
|
||||
|
||||
var p = new Page();
|
||||
var po = new PageObject(argv[0]);
|
||||
|
||||
if (p.get(po)) {
|
||||
writeln('Page : '+p.name);
|
||||
writeln('- Cost : '+p.cost);
|
||||
writeln('- Owner : '+p.owner);
|
||||
writeln('- Key : '+p.key);
|
||||
writeln('- Type : '+p.type);
|
||||
writeln('- CUG : '+p.cug);
|
||||
writeln('- isPublic: '+p.isPublic);
|
||||
writeln('- isAccess: '+p.accessible);
|
||||
|
||||
} else {
|
||||
writeln('Failed to load:'+argv[0]);
|
||||
}
|
@@ -1,144 +0,0 @@
|
||||
/**
|
||||
* This will go through our videotex and ansitex frames and check for inconsistencies.
|
||||
*
|
||||
* We'll check for:
|
||||
* + Mismatched metadata items
|
||||
* + Out of sync content
|
||||
*/
|
||||
|
||||
load('ansitex/load/funcs.js');
|
||||
// Our page handler
|
||||
load('ansitex/load/page.js');
|
||||
|
||||
/* parse command arguments */
|
||||
if (argv.length !== 1) {
|
||||
writeln('! ERROR: Need only 1 argument');
|
||||
exit(1);
|
||||
}
|
||||
|
||||
//const vtx_ext = 'tex';
|
||||
const vtx_src = 'bin';
|
||||
const tex_src = 'ans';
|
||||
|
||||
const page = argv.shift();
|
||||
const vtx_srcname = page+'.'+vtx_src;
|
||||
const tex_srcname = page+'.'+tex_src;
|
||||
var errors = false;
|
||||
|
||||
PAGE_FILE_PREFX = /^[0-9]+[a-z]$/;
|
||||
|
||||
if (! PAGE_FILE_PREFX.test(page)) {
|
||||
writeln('PAGE is not a frame: '+page);
|
||||
exit(2);
|
||||
}
|
||||
|
||||
writeln('Comparing Frame: '+page);
|
||||
|
||||
// Load frame
|
||||
require(ANSITEX_HOME+'/load/session/viewdata.js','SESSION_VIEWDATA');
|
||||
vtx = new Page();
|
||||
if (! vtx.import(FRAMES_HOME+SESSION_EXT+'/'+page)) {
|
||||
writeln('- ! ERROR: VTX File doesnt exist? :'+page);
|
||||
errors = true;
|
||||
|
||||
} else {
|
||||
// Check content between TEX/ANS & VTX/BIN
|
||||
vtx_srcfile = new File(FRAMES_HOME+SESSION_EXT+'/'+vtx_srcname);
|
||||
|
||||
if (! vtx_srcfile.exists || ! vtx_srcfile.open('r')) {
|
||||
writeln('- ! ERROR: VTX SRC File doesnt exist? :'+vtx_srcname);
|
||||
errors = true;
|
||||
|
||||
} else {
|
||||
writeln('- LOADING: VTX Source :'+vtx_srcname);
|
||||
|
||||
var x = md5_calc(vtx.raw);
|
||||
var y = md5_calc(vtx_srcfile.read());
|
||||
|
||||
// Check Content
|
||||
if (x !== y) {
|
||||
writeln(' - Page Content :'+x);
|
||||
writeln(' - Source Content :'+y);
|
||||
writeln('- ! WARNING: Content Differs.');
|
||||
errors = true;
|
||||
|
||||
} else {
|
||||
writeln('= Source matches.');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
require(ANSITEX_HOME+'/load/session/ansitex.js','SESSION_ANSITEX');
|
||||
tex = new Page();
|
||||
if (! tex.import(FRAMES_HOME+SESSION_EXT+'/'+page)) {
|
||||
writeln('- ! ERROR: TEX File doesnt exist? :'+page);
|
||||
errors = true;
|
||||
|
||||
} else {
|
||||
// Check content between TEX/ANS & VTX/BIN
|
||||
tex_srcfile = new File(FRAMES_HOME+SESSION_EXT+'/'+tex_srcname);
|
||||
if (! tex_srcfile.exists || ! tex_srcfile.open('r')) {
|
||||
writeln('- ! ERROR: TEX SRC File doesnt exist? :'+tex_srcname);
|
||||
errors = true;
|
||||
|
||||
} else {
|
||||
writeln('- LOADING: TEX Source :'+tex_srcname);
|
||||
|
||||
var x = md5_calc(tex.raw);
|
||||
var y = md5_calc(tex_srcfile.read());
|
||||
|
||||
if (x !== y) {
|
||||
// Check Content
|
||||
writeln(' - Page Content :'+x);
|
||||
writeln(' - Source Content :'+y);
|
||||
writeln('- ! WARNING: Content Differs.');
|
||||
errors = true;
|
||||
|
||||
} else {
|
||||
writeln('= Source matches.');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Checking keys
|
||||
if (vtx.raw && tex.raw) {
|
||||
writeln('- Checking Page: ');
|
||||
|
||||
if (vtx.name.toString() !== tex.name.toString()) {
|
||||
writeln(' - ! VTX: '+vtx.name.toString());
|
||||
writeln(' - ! TEX: '+tex.name.toString());
|
||||
|
||||
} else {
|
||||
writeln(' = PAGE: '+vtx.name.toString());
|
||||
}
|
||||
|
||||
for each (var k in ['key','cost','type']) {
|
||||
writeln('- Checking KEY: '+k);
|
||||
|
||||
if (JSON.stringify(vtx[k]) !== JSON.stringify(tex[k])) {
|
||||
writeln(' - ! VTX: '+vtx[k]);
|
||||
writeln(' - ! TEX: '+tex[k]);
|
||||
errors = true;
|
||||
} else {
|
||||
writeln(' = KEY: '+vtx[k]);
|
||||
}
|
||||
}
|
||||
|
||||
for each (var k in ['isAccessible','isPublic']) {
|
||||
writeln('- Checking Property: '+k);
|
||||
|
||||
if (JSON.stringify(vtx.__properties__[k]) !== JSON.stringify(tex.__properties__[k])) {
|
||||
writeln(' - ! VTX: '+vtx.__properties__[k]);
|
||||
writeln(' - ! TEX: '+tex.__properties__[k]);
|
||||
errors = true;
|
||||
|
||||
} else {
|
||||
writeln(' = KEY: '+vtx.__properties__[k]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (errors)
|
||||
exit(1);
|
||||
else
|
||||
writeln('= OK');
|
Reference in New Issue
Block a user