get rid of SVG cache
Tara L Andrews [Tue, 17 Jul 2012 11:43:54 +0000 (13:43 +0200)]
lib/Text/Tradition/Collation.pm

index dda8485..f7fb717 100644 (file)
@@ -100,13 +100,6 @@ has 'end' => (
        weak_ref => 1,
        );
        
-has 'cached_svg' => (
-       is => 'rw',
-       isa => 'Str',
-       predicate => 'has_cached_svg',
-       clearer => 'wipe_svg',
-       );
-       
 has 'cached_table' => (
        is => 'rw',
        isa => 'HashRef',
@@ -648,22 +641,17 @@ sub as_svg {
     my $want_subgraph = exists $opts->{'from'} || exists $opts->{'to'};
     $self->calculate_ranks() 
        unless( $self->_graphcalc_done || $opts->{'nocalc'} || !$self->linear );
-    if( !$self->has_cached_svg || $opts->{'recalc'}    || $want_subgraph ) {        
-               my @cmd = qw/dot -Tsvg/;
-               my( $svg, $err );
-               my $dotfile = File::Temp->new();
-               ## USE FOR DEBUGGING
-               # $dotfile->unlink_on_destroy(0);
-               binmode $dotfile, ':utf8';
-               print $dotfile $self->as_dot( $opts );
-               push( @cmd, $dotfile->filename );
-               run( \@cmd, ">", binary(), \$svg );
-               $svg = decode_utf8( $svg );
-               $self->cached_svg( $svg ) unless $want_subgraph;
-               return $svg;
-       } else {
-               return $self->cached_svg;
-       }
+       my @cmd = qw/dot -Tsvg/;
+       my( $svg, $err );
+       my $dotfile = File::Temp->new();
+       ## USE FOR DEBUGGING
+       # $dotfile->unlink_on_destroy(0);
+       binmode $dotfile, ':utf8';
+       print $dotfile $self->as_dot( $opts );
+       push( @cmd, $dotfile->filename );
+       run( \@cmd, ">", binary(), \$svg );
+       $svg = decode_utf8( $svg );
+       return $svg;
 }
 
 
@@ -1046,11 +1034,6 @@ sub as_graphml {
        'RelationshipScope' => 'string',
     );
     
-    # List of attribute names *not* to save on our objects.
-    # We will also not save any attribute beginning with _.
-    my %skipsave;
-    map { $skipsave{$_} = 1 } qw/ cached_svg /;
-
     # Add the data keys for the graph. Include an extra key 'version' for the
     # GraphML output version.
     my %graph_data_keys;
@@ -1064,7 +1047,6 @@ sub as_graphml {
        map { $gattr_from{$_->name} = 'Collation' } $cmeta->get_all_attributes;
        foreach my $attr ( ( $tmeta->get_all_attributes, $cmeta->get_all_attributes ) ) {
                next if $attr->name =~ /^_/;
-               next if $skipsave{$attr->name};
                next unless $save_types{$attr->type_constraint->name};
                $graph_attributes{$attr->name} = $save_types{$attr->type_constraint->name};
        }
@@ -1096,7 +1078,6 @@ sub as_graphml {
     my $rmeta = Text::Tradition::Collation::Reading->meta;
     foreach my $attr( $rmeta->get_all_attributes ) {
                next if $attr->name =~ /^_/;
-               next if $skipsave{$attr->name};
                next unless $save_types{$attr->type_constraint->name};
                $reading_attributes{$attr->name} = $save_types{$attr->type_constraint->name};
        }
@@ -1126,7 +1107,6 @@ sub as_graphml {
     my $pmeta = Text::Tradition::Collation::Relationship->meta;
     foreach my $attr( $pmeta->get_all_attributes ) {
                next if $attr->name =~ /^_/;
-               next if $skipsave{$attr->name};
                next unless $save_types{$attr->type_constraint->name};
                $edge_attributes{$attr->name} = $save_types{$attr->type_constraint->name};
        }
@@ -1651,7 +1631,7 @@ sub calculate_ranks {
         }
     }
     # Do we need to invalidate the cached data?
-    if( $self->has_cached_svg || $self->has_cached_table ) {
+    if( $self->has_cached_table ) {
        foreach my $r ( $self->readings ) {
                next if defined( $existing_ranks{$r} ) 
                        && $existing_ranks{$r} == $r->rank;
@@ -1668,7 +1648,6 @@ sub calculate_ranks {
 
 sub _clear_cache {
        my $self = shift;
-       $self->wipe_svg if $self->has_cached_svg;
        $self->wipe_table if $self->has_cached_table;
 }