many changes (see Changes)
[spider.git] / perl / Route / User.pm
index 3a6f4f327b030a628c9f9a0c8f6309f864de4566..6c91d3e2225ab283946fed48aaf70f7e761303c2 100644 (file)
@@ -103,7 +103,7 @@ sub TO_JSON { return { %{ shift() } }; }
 sub write_cache
 {
        my $json = DXJSON->new;
-       $json->canonical(isdbg('routecache'));
+       $json->canonical(isdbg('routecache')||0);
        
        my $ta = [ gettimeofday ];
        my @s;
@@ -113,7 +113,7 @@ sub write_cache
            }
        };
        if (!$@ && @s) {
-               my $fh = IO::File->new(">$cachefn") or confess("writing $cachefn $!");
+               my $fh = IO::File->new(">$cachefn") or dbg("Route::User: ERROR writing $cachefn $!"), return;
                print $fh $_ for (sort @s);
                $fh->close;
        } else {
@@ -132,14 +132,14 @@ sub read_cache
        my $ta = [ gettimeofday ];
        my $count;
        
-       my $fh = IO::File->new("$cachefn") or confess("reading $cachefn $!");
+       my $fh = IO::File->new("$cachefn") or dbg("Route::User: ERROR reading $cachefn $!"), return;
        while (my $l = <$fh>) {
                chomp $l;
                my ($k, $v) = split /:/, $l, 2;
-               $list{$k} = bless $json->decode($v) or confess("json error decoding '$v'");
+               $list{$k} = bless $json->decode($v) or dbg("Route::User: Error json error $! decoding '$v'"), next;
                ++$count;
        }
-       $fh->close;
+       $fh->close if $fh;
 
        my $diff = _diffms($ta);
        dbg("Route::User::read_cache time to read $count records from $cachefn : $diff mS");