$self->{session}->get( $login . ':usage' );
}
+sub couchdb {
+ my $self = shift @_;
+ my $fmt = shift @_;
+ my $url = sprintf $fmt, @_;
+
+ warn "# couchdb $url\n";
+ if ( my $json = get $url ) {
+ warn "## $url $json\n";
+ my $r = decode_json $json;
+ return $r;
+ }
+}
+
sub usage_init {
- my ($self,$data) = @_;
+ my ($self,$login) = @_;
+ $login = $login->{login} if ref $login;
my $usage = 0;
- my $url = sprintf
- 'http://localhost:5984/files/_design/files/_view/login_usage?group=true&connection_timeout=60000&limit=1&skip=0&start_key="%s"&end_key="%s"'
- , $data->{login}
- , $data->{login}
- ;
+ if ( my $r = $self->couchdb(
+ 'http://localhost:5984/files/_design/files/_view/login_usage?group=true&connection_timeout=60000&limit=1&skip=0&start_key="%s"&end_key="%s"&stale=update_after'
+ , $login
+ , $login
+ )) {
- warn "usage from $url";
- if ( my $json = get $url ) {
- warn "# JSON = $json\n";
- my $r = decode_json $json;
- warn dump $r;
$usage = $r->{rows}->[0]->{value};
$usage = 0 unless defined $usage;
}
- $self->{session}->set( $data->{login} . ':usage' => $usage );
+ $self->{session}->set( $login . ':usage' => $usage );
}
sub _file_key {