#!/usr/bin/perl

# Copyright (C) 2006 Eric L. Wilhelm, OSoft

use lib 'lib';

use strict;
use warnings;

use YAML;

local $SIG{__WARN__};

my $test_book = 'test_packages/QuickStartGuide.jar';
if(@ARGV) {
  $test_book = $ARGV[0];
}

use dtRdr::Annotation::IO;
use dtRdr::Book;
use dtRdr::Plugins;
dtRdr::Plugins->init;

my $book = dtRdr::Book->new_from_uri($test_book);
my $anno_io = dtRdr::Annotation::IO->new(uri => 'annotations/');
$anno_io->apply_to($book);

my %data;
my @node_order;
my $root = $book->toc;

# ability to stop early
my $count = 1;
my $limit;
$limit = 2;

my $sub = sub {
  my $node = shift;
  #($node == $root) and return;
  $book->get_content($node);
  my $id = $node->id;
  $data{$id} and die "bah";
  my $chars = $book->get_cache_chars($node);
  my $short_chars = $chars;
  $short_chars =~ s/^(.{19}).*(.{18})$/$1...$2/s;

  $data{$id} = length($chars);
  #push(@node_order, $node->id);
  print $id, ': ', $data{$id}, " |$short_chars|\n";
  $count++;
  ($count > $limit) and exit;
};
$root->_rmap($sub);

#print YAML::Dump(\@node_order, \%data);

# vim:ts=2:sw=2:et:sta